Date: Fri, 17 May 2013 11:55:13 -0700 From: Jeremy Chadwick <jdc@koitsu.org> To: Michael Gass <mgass@csbsju.edu> Cc: freebsd-stable@freebsd.org Subject: Re: Command line not responding Message-ID: <20130517185513.GA88287@icarus.home.lan> In-Reply-To: <20130517175653.GA15498@csbsju.edu> References: <20130517175653.GA15498@csbsju.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, May 17, 2013 at 12:56:53PM -0500, Michael Gass wrote: > Running 9.0-Stable on an i386. > > Whenever I type a command at the prompt I get > the output > > /usr/local/lib/libintl.so.9: Undefined symbol "_ThreadRuneLocale" > > and nothing else - the command will not run. Just the > above output. Commands like "ls" and "exit" work, but not much > else. This happends whether I am logged in a user or as root. > Cannot even halt the system from the command line. > > Started to happen after trying to update the freetype2 port. > Got an error msg while updating libXft-2.1.14. From that point > on I cannot use the command line. > > I have no idea what to try. Any suggestions. First provide the contents of /etc/make.conf and /etc/src.conf. The _ThreadRuneLocale thing has come up before, but on -CURRENT circa early 2012. It happened to a user when trying to build kernel (really) and that user was tinkering about in make.conf and src.conf heavily, messing with Clang. I personally remove Clang from my systems entirely for many reasons, by simply doing WITHOUT_CLANG=true in src.conf and thus rely entirely on gcc. My recommendation, and this isn't going to make you happy: Boot into single-user, mount your filesystems, and try commands there, in hopes that they work. If they do: pkg_delete -a -f cp -pR /usr/local /usr/local.old rm -fr /usr/local/* reboot Boot into multi-user, log in, and things should be fine. Next: rm -fr /var/db/ports/* rm -fr /usr/ports/distfiles/* find /usr/ports -type d -name "work" -exec rm -fr {} \; Now begin rebuilding your ports. If you prefer to use packages, go right ahead, given that this was just announced a few days ago: http://lists.freebsd.org/pipermail/freebsd-announce/2013-May/001476.html But I tend to build everything from source, barring large-ish packages (things like cmake, python27, perl) which I pkg_add -r. My attitude has always been when something catastrophic impacts a very large number of commands (particularly a library with a missing symbol that a very large number of programs link to), start fresh. It's not worth scrambling around with leftover cruft in place that could appear months later and make you say "I thought I fixed that!", where you then have to follow up to a thread months old and admit "actually there is more breakage..." Footnote: I am likely to get a large amount of backlash for proposing the above, with claims that will equate it to fixing a minor cut by amputating the entire limb. My response to such: that's nice. -- | Jeremy Chadwick jdc@koitsu.org | | UNIX Systems Administrator http://jdc.koitsu.org/ | | Mountain View, CA, US | | Making life hard for others since 1977. PGP 4BD6C0CB |
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130517185513.GA88287>