Yaribz

Results 6 comments of Yaribz

Yes I'm on Linux. The libraries used in this simple test case are the versions 103.0 and 104.0 of the unitsync library from the SpringRTS project. I renamed them to...

Here are the ldd results for the two libraries: ``` yaribz@test:~$ ldd libtest1.so linux-vdso.so.1 (0x00007fff52b45000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007effbecae000) librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007effbeca4000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007effbeb60000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0...

As said on IRC, I compared the debug outputs of the linker when using the Perl script (which produces the error) and the C++ program (which works), and I noticed...

The problem seems to be related to the fact that both libtest1 and libtest2 are statically linked to libstdc++6, but the version of this library or the glibc version used...

Apparently it is the expected behavior to have only one `std::string::_Rep::_S_empty_rep_storage` symbol in memory, as it is used to represent the empty string and pointers to it must be detectable...

> I suspect that if your C++ program were re-written as C and linked using the C linker that you'd get the same error That's exactly what I wanted to...