On 25.01.11 17:06, Christopher Barker wrote: > On 1/25/11 1:20 AM, Brendan Simon (eTRIX) wrote: >> Fatal Error: Mismatch between the program and library build versions >> detected. >> The library used 2.8 (no debug,Unicode,compiler with C++ ABI 1002,wx >> containers,compatible with 2.6), >> and your program used 2.8 (no debug,Unicode,compiler with C++ ABI >> 102,wx containers,compatible with 2.6). >> Abort trap >> logout > > That looks odd to me -- as far as I can see (did I miss something?) the > only difference is ABI 102 vs ABI 1002 -- that almost looks like a typo.
It's not a typo, the numbers indicate the C++ ABI (Application Binary Interface) version the code uses. This defines stuff like how to call functions, the stack layout, how to handle exceptions, etc. All pieces of code in a program must use the same ABI version, otherwise those pieces can't be used together. The ABI version used by gcc has changed in the past which always means that *every* code a program uses has to be recompiled with the new compiler version. As far as I know, version 1002 is still the current one and it was introduced by gcc 3.4. Before that, the version was 102 (don't ask me how these numbers are formed. I have to admit, it's a bit of an odd numbering scheme...). You can find out the ABI version a particular version of gcc uses by running the following command: g++ -E -dM - </dev/null|grep ABI Here on my machine (gcc 4.0.1), this produces the line: #define __GXX_ABI_VERSION 1002 So the above error message means that the wx libraries on the user's system were compiled with a compiler that uses ABI 1002 (i.e. gcc >=3.4) whereas the "program" contains parts that were built with a compiler that uses ABI 102 (such as gcc <3.4). But as mentioned above, it will only work when all components use the same ABI. Cheers, - Matthias - _______________________________________________ Pythonmac-SIG maillist - Pythonmac-SIG@python.org http://mail.python.org/mailman/listinfo/pythonmac-sig unsubscribe: http://mail.python.org/mailman/options/Pythonmac-SIG