On Fri, 7 Apr 2006, Bill Moran wrote:

On Thu, 6 Apr 2006 21:14:33 -0700
Garrett Cooper <[EMAIL PROTECTED]> wrote:

        So, I basically upgraded my source again and did installworld. Had
to run make quite a few times because it appeared that the makefile
for /usr/src was broken (or at least the targets were incorrect since
it kept on complaining about stuff not being compiled in buildworld).
So I ran mergemaster, and things appeared to be running smoothly, but
now it appears that my system is screwed up, due to bash. Granted, I
used bash as my login shell for both root and my local account, and
to solve this problem I tried recompiling the program from ports in
single user mode, but every single time I login it complains about
not being able to find libintl.so.6 (I believe), which is a part of
gettext. I eventually gave up on trying to reinstall and fix bash and
gettext, but when I try and login, the stupid machine still claims to
be missing the library, regardless of the fact that it's no longer my
login shell and I sed'ed both /etc/shells and /etc/passwd and /etc/
master.passwd so that they no longer have bash in them.
        I'm just basically stumped and I need a lot of help here, because
the machine's inaccessible (the rc 'daemon' complains all the
variables setup in rc.conf aren't valid--although they are), and I
would greatly appreciate any help anyone can give me.

It doesn't sound like you correctly followed the upgrade procedure, since
there is no "make" in that procedure.

I did though (which is the confusing part). What I did when trying to upgrade from 6.0 to 6.1-PR2:

make buildworld; reboot; # booted into single user mode.
make installworld; # failed here partway through claiming that dependencies hadn't been compiled.
make buildworld; # still failed
#many makes later and make all's later
make installworld # success
exit
#login attempt
/libexec/ld-elf.so.1: Shared object "libintl.so.6" not found, required by "-bash"
#rebooted into single user mode.
#sed'ed /etc/passwd and /etc/master.passwd to change shell from /bin/csh
exit
#repeat from login attempt.

I've chased down the library to gcc, and I did later clean and remake libiconv, gettext, and bash, but still no dice (get the same error message as before).

Additionally, you can't just change /etc/master.passwd without running
cap_mkdb to have the changes take effect.

Did that just a while ago; thanks for the tip. Didn't change the overall behavior though... :(

As a hint for future work: If you think a Makefile provided by the FreeBSD
team is "broken", the wisest course of action would be to post here _before_
you commit to an upgrade that is unlikey to work.

I know that if I didn't follow through with the makes my system would have been completely crippled since some libs had been recompiled and installed, whereas others had not been because 6.0 features a different version of gcc and libc than 6.1 does.

If you could provide a command which corrects the spwd.db and pwd.db files, I think that will allow me to permanently set my shell to /bin/csh, which will allow me to login and start fixing my machine from something other than single-user mode.

TIA again,
-Garrett
_______________________________________________
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to