Weird glibc emerge error

I'm trying to emerge glibc-2.3.6-r3, and its failing on xbootparam_prot.T.

[…]

CPP='i686-pc-linux-gnu-gcc -E -x c-header' /var/tmp/portage/glibc-2.3.6-r3/work/build-default-i686-pc-linux-gnu-nptl/elf/ld-l

inux.so.2 –library-path /var/tmp/portage/glibc-2.3.6-r3/work/build-default-i686-pc-linux-gnu-nptl:/var/tmp/portage/glibc-2.3.

6-r3/work/build-default-i686-pc-linux-gnu-nptl/math:/var/tmp/portage/glibc-2.3.6-r3/work/build-default-i686-pc-linux-gnu-nptl/

elf:/var/tmp/portage/glibc-2.3.6-r3/work/build-default-i686-pc-linux-gnu-nptl/dlfcn:/var/tmp/portage/glibc-2.3.6-r3/work/build

-default-i686-pc-linux-gnu-nptl/nss:/var/tmp/portage/glibc-2.3.6-r3/work/build-default-i686-pc-linux-gnu-nptl/nis:/var/tmp/por

tage/glibc-2.3.6-r3/work/build-default-i686-pc-linux-gnu-nptl/rt:/var/tmp/portage/glibc-2.3.6-r3/work/build-default-i686-pc-li

nux-gnu-nptl/resolv:/var/tmp/portage/glibc-2.3.6-r3/work/build-default-i686-pc-linux-gnu-nptl/crypt:/var/tmp/portage/glibc-2.3

.6-r3/work/build-default-i686-pc-linux-gnu-nptl/nptl /var/tmp/portage/glibc-2.3.6-r3/work/build-default-i686-pc-linux-gnu-nptl

/sunrpc/rpcgen -Y ../scripts -c rpcsvc/bootparam_prot.x -o /var/tmp/portage/glibc-2.3.6-r3/work/build-default-i686-pc-linux-gn

u-nptl/sunrpc/xbootparam_prot.T

cannot set up thread-local storage: setthreadarea failed when setting up thread-local storage

make[2]: *** [/var/tmp/portage/glibc-2.3.6-r3/work/build-default-i686-pc-linux-gnu-nptl/sunrpc/xbootparam_prot.stmp] Error 127

make[2]: Leaving directory `/var/tmp/portage/glibc-2.3.6-r3/work/glibc-2.3.6/sunrpc'

make[1]: *** [sunrpc/others] Error 2

make[1]: Leaving directory `/var/tmp/portage/glibc-2.3.6-r3/work/glibc-2.3.6'

make: *** [all] Error 2

!!! ERROR: sys-libs/glibc-2.3.6-r3 failed.

!!! Function toolchain-glibcsrccompile, Line 261, Exitcode 2

!!! make for default failed

!!! If you need support, post the topmost build error, NOT this status message.

Is anybody else seeing this? I'm running the "Latest 2.6 series" kernel configuration. I let my linode go without updating packages for a few months, then I recently changed my make.profile to 2006.0.

After glibc first failed I updated my gcc to 3.4.6 using http://www.gentoo.org/doc/en/gcc-upgrading.xml. emerge -u glibc still fails.

5 Replies

Latest 2.6 is 2.6.15-linode16 which does not support NPTL / TLS - hence 'cannot set up thread-local storage: setthreadarea failed when setting up thread-local storage'.

Switch to 2.6.17-rc2-linode19 or disable TLS:

mv /lib/tls /lib/tls-disabled

OK, thanks for the info. From googling around earlier I got the impression that it was kernel-related, but that just didn't make sense to me. That's odd that you need kernel support for the feature in order to compile glibc. You'd think emerge has so much dependency checking it would be smart enough to know if I had tls support before it got 90 minutes deep into a glibc compile.

I guess I'll just –skipfirst past glibc until linode's 2.6-latest catches up with the tls feature. I'm not interested in running a bleeding-edge linode, I probably shouldn't even have upgraded to 2.6.

I guess I could also do something like 'USE="-tls" emerge -u glibc' if skipping glibc turns out to be problematic.

The problem has arisen because regular kernels have supported NPTL for quite a while, but the UML kernels have only recently acquired this ability.

I don't know which profile you are using but you can use the x86/2006.0/no-nptl profile and nptl will be disabled by default, or so I think.

Thanks, I found the no-nptl profile, but I think I'll just stick with skipping glibc updates until our 2.6 Latest kernel has support in it. It seems safe enough.

Reply

Please enter an answer
Tips:

You can mention users to notify them: @username

You can use Markdown to format your question. For more examples see the Markdown Cheatsheet.

> I’m a blockquote.

I’m a blockquote.

[I'm a link] (https://www.google.com)

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct