Hi 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 libstdc++.so.5 while 3.4.3 with libstdc++.so.6, 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/libc.so.6 (gdb) where #0 0x0000003a1a92e4dd in raise () from /lib64/tls/libc.so.6 #1 0x0000003a1a92fc8e in abort () from /lib64/tls/libc.so.6 #2 0x0000003a1a962b41 in __libc_message () from /lib64/tls/libc.so.6 #3 0x0000003a1a96846f in _int_free () from /lib64/tls/libc.so.6 #4 0x0000003a1a968a06 in free () from /lib64/tls/libc.so.6 #5 0x0000003a1d6ade9e in operator delete () from /usr/lib64/libstdc++.so.6 #6 0x0000003a1d6902b2 in std::string::_Rep::_M_destroy () from /usr/lib64/libstdc++.so.6 .... Thanks Dinesh