binary compatibility between g++ 3.3.1 and 3.4.3 on Redhat Linux 64 bit (x86_64)

Rathi, Dinesh
Fri Apr 21 11:14:00 GMT 2006

            I have my executable built using g++ 3.3.1 and I am trying
to use a third party library built using g++ 3.4.3 (I don't link to it,
use dlopen to load it). I am seeing a crash like 

*** glibc detected *** double free or corruption
(out):0x0000000000f1ed70 *** and the stack trace is also put below. 

I tried to search information on it and it seems that binary built with
g++ 3.3.1 and 3.4.3 might be binary incompatible with each other, though
I could not find confirmation for x86_64 arch (gcc release notes mention
it for sparc/ mips). Does anyone know for sure that this wont work? Also
g++ 3.3.1 links with while 3.4.3 with, as
a result both these libraries get loaded in context of my executable, is
that fine or can it give some trouble. 

Any information would be helpful!

#0  0x0000003a1a92e4dd in raise () from /lib64/tls/
(gdb) where
#0  0x0000003a1a92e4dd in raise () from /lib64/tls/
#1  0x0000003a1a92fc8e in abort () from /lib64/tls/
#2  0x0000003a1a962b41 in __libc_message () from /lib64/tls/
#3  0x0000003a1a96846f in _int_free () from /lib64/tls/
#4  0x0000003a1a968a06 in free () from /lib64/tls/
#5  0x0000003a1d6ade9e in operator delete () from
#6  0x0000003a1d6902b2 in std::string::_Rep::_M_destroy ()   from


More information about the Gcc-help mailing list