Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Command line not responding

8 views
Skip to first unread message

Michael Gass

unread,
May 17, 2013, 1:56:53 PM5/17/13
to
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.


--
Michael Gass
mg...@csbsju.edu
_______________________________________________
freebsd...@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stabl...@freebsd.org"

Matthew Seaman

unread,
May 17, 2013, 2:34:36 PM5/17/13
to
On 17/05/2013 18:56, 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.

It's only things you installed from ports that would be affected.
There was a problem with the freetype2 port earlier today, but it has
been fixed now.

Update your ports and try again at updating.

Cheers,

Matthew

--
Dr Matthew J Seaman MA, D.Phil.
PGP: http://www.infracaninophile.co.uk/pgpkey


signature.asc

Jeremy Chadwick

unread,
May 17, 2013, 2:55:13 PM5/17/13
to
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 j...@koitsu.org |
| UNIX Systems Administrator http://jdc.koitsu.org/ |
| Mountain View, CA, US |
| Making life hard for others since 1977. PGP 4BD6C0CB |

Dimitry Andric

unread,
May 17, 2013, 3:26:58 PM5/17/13
to
On May 17, 2013, at 19:56, Michael Gass <mg...@csbsju.edu> 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.

Are you running bash, by any chance? Because bash is usually linked to
libintl, for its internationalized messages.

In any case, it looks like there is a mismatch between your libc.so, and
your ports. Did you recently update your base system?


> 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.

How did you update those ports? Did you rebuild them, or install
precompiled binary packages? If the latter, where exactly did you
retrieve those packages from?

-Dimitry

Jeremy Chadwick

unread,
May 17, 2013, 11:01:33 PM5/17/13
to
On Fri, May 17, 2013 at 09:49:20PM -0500, Michael Gass wrote:
> On Fri, May 17, 2013 at 11:55:13AM -0700, Jeremy Chadwick wrote:
> > 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.
> >
>
> Thanks for getting back to me. Here are the contents of the two
> files. I rebuilt the kernel last fall and have updated ports
> fairly regularly since. Things have worked fine until today when
> I tried to update ports.
>
> # File: make.conf
> # The ? in the below is for buildworld
> CPUTYPE?=pentium2
> # Uncomment the below for general builds.
> CFLAGS= -O -pipe
> # Uncomment the below for kernel builds.
> # COPTFLAGS= -O -pipe
> NO_PROFILE=true
> INSTALL_NODEBUG=true
> #WITHOUT_DILLO_IPV6=yes
> #WITH_DILLO_DLGUI=yes
> # added by use.perl 2013-05-17 11:04:30
> PERL_VERSION=5.12.4
>
> # File: src.conf
> WITHOUT_PROFILE=true
> WITHOUT_BLUETOOTH=true

These confs look generally good, meaning there isn't the "messing about"
that the other user had. I did catch one thing, however.

Speaking strictly about CFLAGS:

This should be CFLAGS+= (plus-equals), not CFLAGS= (equals). Otherwise
you're effectively overriding CFLAGS for everything, which could cause
issues (some portions of the build infrastructure may set or adjust the
optimiser flags to something other than -O, and you'd be forcing it to
do it anyway). I obviously don't know if that could/would explain the
missing symbol issue, but it's still something that's erroneous and
major. In general I recommend people *do not* tinker with CFLAGS at
all in make.conf -- it's not worth the hassle on i386/amd64 if something
goes wrong.

If you ever want to know which syntaxes to use (for example, your
CPUTYPE?= is correct, and your COPTFLAGS= is correct), review
/usr/share/examples/etc/make.conf or src/share/examples/etc/make.conf.

Unrelated to all of this (just a useful comment in passing): NO_PROFILE
serves no purpose there, just keep WITHOUT_PROFILE=true in src.conf like
you have. NO_PROFILE in make.conf would be from "old" FreeBSD days
(i.e. prior to src.conf existing).

Your src.conf looks fine.

Sorry I can't be of more help. :-(

Michael Gass

unread,
May 17, 2013, 11:02:38 PM5/17/13
to
On Fri, May 17, 2013 at 07:34:36PM +0100, Matthew Seaman wrote:
> On 17/05/2013 18:56, 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.
>
> It's only things you installed from ports that would be affected.
> There was a problem with the freetype2 port earlier today, but it has
> been fixed now.
>
> Update your ports and try again at updating.
>

Thanks for getting back to me.

I updated the ports tree via portsnap and then tried installing
freetype2. Same problem: right the various prebuild checks for
things like gcc I get the following lines

config.status: executing libtool commands
/usr/local/lib/libintl.so.9: Undefined symbol "_ThreadRuneLocale"
*** Error code 1

Now, like you said, seems anything installed from ports will not
run on the command line. I just get the above error message instead.


> Cheers,
>
> Matthew
>
> --
> Dr Matthew J Seaman MA, D.Phil.
> PGP: http://www.infracaninophile.co.uk/pgpkey
>
>



Michael Gass

unread,
May 17, 2013, 10:49:20 PM5/17/13
to
On Fri, May 17, 2013 at 11:55:13AM -0700, Jeremy Chadwick wrote:
> 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.
>

Thanks for getting back to me. Here are the contents of the two
files. I rebuilt the kernel last fall and have updated ports
fairly regularly since. Things have worked fine until today when
I tried to update ports.

# File: make.conf
# The ? in the below is for buildworld
CPUTYPE?=pentium2
# Uncomment the below for general builds.
CFLAGS= -O -pipe
# Uncomment the below for kernel builds.
# COPTFLAGS= -O -pipe
NO_PROFILE=true
INSTALL_NODEBUG=true
#WITHOUT_DILLO_IPV6=yes
#WITH_DILLO_DLGUI=yes
# added by use.perl 2013-05-17 11:04:30
PERL_VERSION=5.12.4

# File: src.conf
WITHOUT_PROFILE=true
WITHOUT_BLUETOOTH=true

> 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:
>

I may do this if I cannot get things to work otherwise. I appreciate the
advice.
--
Michael Gass
mg...@csbsju.edu

Michael Gass

unread,
May 17, 2013, 11:20:36 PM5/17/13
to
On Fri, May 17, 2013 at 09:26:58PM +0200, Dimitry Andric wrote:
> On May 17, 2013, at 19:56, Michael Gass <mg...@csbsju.edu> 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.
>
> Are you running bash, by any chance? Because bash is usually linked to
> libintl, for its internationalized messages.
>

Not running bash. Running csh.

> In any case, it looks like there is a mismatch between your libc.so, and
> your ports. Did you recently update your base system?
>

Updated the ports tree with portsnap and was in the process of
updating my ports when the problem occurred with updating freetype2.

>
> > 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.
>
> How did you update those ports? Did you rebuild them, or install
> precompiled binary packages? If the latter, where exactly did you
> retrieve those packages from?
>

I use portmaster with the -P option to use a package if available.
So some are built and some are downloaded as packages.

Thanks for getting back to me.

--
Michael Gass
mg...@csbsju.edu

Warren Block

unread,
May 21, 2013, 11:24:34 AM5/21/13
to
It is almost always a mistake to set CFLAGS in make.conf. Not only does
it not improve performance, it frequently causes problems. It will
sometimes decrease performance for ports that can safely use custom
CFLAGS themselves, because it prevents them from using those custom
flags.

In other words, custom CFLAGS provide few or zero improvements, and have
a significant risk of causing problems.
0 new messages