Message: 11 Date: Fri, 19 Sep 2003 20:31:41 +0100 From: John Haxby <jch@xxxxxxxxxxxxxxx> To: shrike-list@xxxxxxxxxx Subject: Re: RH8.0 Statically linked application gives error in 9.0 (cannot h andle file 'libc.so.6' with TLS data) Reply-To: shrike-list@xxxxxxxxxx Muthu_T@xxxxxxxx wrote: >>All, >> >> I wrote and compiled the following test program in RH8.0 as statically >>linked executable. >>The executable works fine in 8.0 but fails in 9.0 with following error: >> >>cannot handle file 'libc.so.6' with TLS data >> >> >This is the same problem that you had before -- the libraries that the >executable are linked with are incompatible with the libraries that libz >is linked with. In this case the incompatability is between two >different versions of libc which causes problems. "TLS data" is >"thread-local storage" data and that's where the problem lies -- one of >the big changes for NPTL is the way that thread-local storage is handled. >You can't work around this. Well, you can -- you can install the RH8 >libz and libc, but that'll break *everything*. >A possibly better approach is to link the program "semi-static". I've >done this in the past to get around various problems. There's a >"-shared-libgcc" flag for gcc which might do the trick. I forget the >flags, but you can fine-control which libraries are static and which are >dynamic. I know it's a very long time since I tried to use a static >libc (or glibc) because stuff breaks when you go from one version to >another. Except on HP/UX ... that elevates binary compatability to >high art. Could you give the steps how to do 'semi-static'. I am interested in it. Now what I want is, Statically link the C++ library and dynamically link the C library to my program. If you have any steps or documents or pointers, Please post it. >>Please don't start GPL/LGPL issues. I don't want to go for dynamic >>linking for some reasons. >> >> >Wouldn't dream of it :-) Regards, --T. Muthu Mohan -- Shrike-list mailing list Shrike-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/shrike-list