libstdc++.so without version information

Kai Ruottu kai.ruottu@wippies.com
Fri Nov 27 06:52:00 GMT 2009


Philipp Thomas wrote:
> On Wed, 25 Nov 2009 11:40:25 +0100, Christian Schaubschlaeger wrote:
>
>   
>> root:# objdump -p libstdc++.so.6.0.8
>>
>> libstdc++.so.6.0.8:     file format elf32-i386
>>
>> ldconfig did find the library, but could not extract the version info
>> (regarding CXXABI and GLIBCXX), since it's obviously not there. And
>> I don't know why.
>>     
>
> If there is no version info, you'll have to examine the build log of
> your gcc (or start a new build and log that) and search for the
> line(s) where libstdc+ is itself linked. I haven't looked at gcc
> makefiles for a long time but ld should be passed a version script
> that contains the versioning info ld will then put into the library.
>   
Examining the 'libstdc++-v3/config.log' alone would tell the possible 
reason.  My (re)build of
cross-gcc-4.1.2 for SuSE 10.3 (no version info there earlier) told in 
the $target/libstdc++-v3/config.log :

configure:87446: WARNING: === Linker version 1750 is too old for
configure:87448: WARNING: === full symbol versioning support in this 
release of GCC.
configure:87450: WARNING: === You would need to upgrade your binutils to 
version
configure:87452: WARNING: === 21400 or later and rebuild GCC.
configure:87454: WARNING: === Symbol versioning will be disabled.

The case really was that the earlier buggy  gcc-4.1.2  toolchain had  
the  :

[root@Dell i686-suse-linux10.3]# bin/ld -V
GNU ld (Linux/GNU Binutils) 2.17.50.0.16.20070511
 Supported emulations:
  elf_i386
  i386linux

Earlier there were no dot but a space between the version string and the 
date string. Downgrading
the target binutils to 2.15.94 was my first workaround and with them the 
version info was added.
Also the more uptodate binutils like 2.19.51 have this dot there so 
either it should be fixed away
in the binutils sources or the gcc-4.1.2/libstdc++-v3/configure* stuff 
be fixed to accept the dot
and interpret the binutils version right... The newer GCCs seem to 
interpret this ok so looking at
the diffs could tell the patch....



More information about the Gcc-help mailing list