BackDoorNoBaby
BackDoorNoBaby

Reputation: 1455

Applications reporting “libc.so.6: cannot handle TLS data” after upgrading glibc

Background Info:

Linux OS: Stripped down, minimalistic and very customized (no apt-get, yum, etc)

Linux Kernel: 2.6.19.1

Current glibc version: 2.3.6

Target glibc version: 2.6.1

Issue:

Attempting to install an ipk package provided by 3rd party which has a dependency on a glibc version >= 2.6 (current version is 2.3.6)

The 3rd party provided a different ipk package to upgrade glibc to 2.6.1. After executing the install of the package, all other applications that depend upon glibc report "libc.so.6: cannot handle TLS data"

Is anyone familiar with upgrading glibc on a customized Linux OS without using any sort of package manager for support?

My understanding is that glibc should be backwards compatible and upgrading it shouldn't cause issues with applications that had previously been working. Is this assumption incorrect?

I can post more information as it is requested. Any and all help is greatly appreciated, thank you in advance.

Upvotes: 0

Views: 397

Answers (1)

Employed Russian
Employed Russian

Reputation: 213799

My understanding is that glibc should be backwards compatible and upgrading it shouldn't cause issues with applications that had previously been working.

That is correct.

Your issue is most likely the result of mismatch between ld-linux and libc.so.6 -- they must come from the same build, of bad things will happen (GLIBC actually consists of many libraries, and they all must match).

It's possible that your 3rd-party provided glibc package is mis-configured and replaced one, but not the other. Possibly it installed libc.so.6 into /usr/local/lib instead of whatever location is appropriate for your OS.

So find all files that "belong" to GLIBC before the installation of 3rd-party update, and verify that every one of them is replaced by it.

It is also possible, though less likely, that the 3rd party package is simply broken, or configured without TLS support.

If you link an app against GLIBC with TLS support, then upgrade GLIBC to one configured without TLS support, the applications will break. That is expected and "normal" (configuring GLIBC without TLS support is simply not a good idea).

Upvotes: 1

Related Questions