Subject: Dynamic libraries, bad libc and problems...
To: None <current-users@netbsd.org>
From: Johnny Billquist <bqt@update.uu.se>
List: current-users
Date: 09/29/2002 16:24:29
I won't say "I said so", except for this line.

First of all, the system:
VAX-8650 running 1.6H (recently current, I ran a cvs update about a week
ago, and I've been running build.sh since then (yes, it takes a week to
build the whole /usr/src)).

I now have a problem. I ran the whole /usr/src/build.sh, first to an
"innocent" place and it ran through the whole build process without any
hiccups, and then to /, to install the new binaries.
Of course, things seem to be fucked up somewhere. It appears I have some
problems with libc.so.12.88. I still have lib.so.12.86 around, but how do
I switch back to it?
I cannot just remove the link from libc.so.12 and then relink it, unless
I'm mistaken, since ln now needs libc.so.12 to exist for it to work.
I cannot boot /rescue, since that one *too* is built on the latest libc,
and so I don't trust it.
Also, I really don't want to reboot right now, since I'm currently inside
the system, running on the old binaries. Rebooting means I'll be totally
fucked up. inetd coredumps on me, and so does probably a number of
programs. tcsh does, emacs does, and god knows what else...

I did have similar problems a few weeks ago, but then I just switched back
to 12.86 and survived the ordeal. I assumed the problems then was caused
by me running build.sh a number of times without doing any cleandir in
between, and actually running builds all the way back from 1.6A. It
appears that was a wrong guess.

Krille:/slask/dist# tcsh
Illegal instruction (core dumped)
Krille:/slask/dist# gdb
GNU gdb 5.0nb1
Copyright 2000 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "vax--netbsdelf".
(gdb) core tcsh.core
Core was generated by `tcsh'.
Program terminated with signal 4, Illegal instruction.
#0  0x40d7ec6 in ?? (Cannot access memory at address 0x7fffb4ac
)
(gdb) q

So, how do I save the situation?

And what happened between 12.86 and 12.88??? Or did something happen to
gcc recently for the VAX?

	Johnny

Johnny Billquist                  || "I'm on a bus
                                  ||  on a psychedelic trip
email: bqt@update.uu.se           ||  Reading murder books
pdp is alive!                     ||  tryin' to stay hip" - B. Idol