Skip site navigation (1)Skip section navigation (2)
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>