Date: Fri, 7 Apr 2006 10:01:03 -0700 (PDT) From: Garrett Cooper <youshi10@u.washington.edu> To: Bill Moran <wmoran@collaborativefusion.com> Cc: freebsd-questions@freebsd.org Subject: Re: Login broken and rc.conf variables suddenly invalid after kernel/world upgrade (?!?!) Message-ID: <Pine.A41.4.64.0604070948530.155262@dante76.u.washington.edu> In-Reply-To: <20060407080957.351b13b0.wmoran@collaborativefusion.com> References: <820FAFD6-ED04-41BE-A0C6-209980A7B376@u.washington.edu> <20060407080957.351b13b0.wmoran@collaborativefusion.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 7 Apr 2006, Bill Moran wrote: > On Thu, 6 Apr 2006 21:14:33 -0700 > Garrett Cooper <youshi10@u.washington.edu> 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.A41.4.64.0604070948530.155262>