Rathi, Dinesh writes: > 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. The version number bump from .5 to .6 is a clue: it generally means a binary incompatible change. You really don't want two versions of libstdc++ loaded at the same time. We try not to break things on releases, so going from 3.4.2 to 3.4.3 (for example) should be OK. Andrew.