
On Jul 6, 2005, at 9:04 PM, Ralf W. Grosse-Kunstleve wrote:
(Newer?) Python executables are linked with "g++" (instead of "gcc"), which brings in libstdc++.so. We had weird crashes when using a Python compiled on a machine with libstdc++.so.5 (Redhat 8.0) for building Boost.Python extensions on another machine which had libstdc++.so.6 (Gentoo 1.6.8 and Fedora core 3, I believe).
To check for libstdc++ incompatibilities, run
ldd <full-path-to>/python
On eddie (one of the trouble systems), this gives: libstdc++.so.5 => /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/libstdc++.so.5 (0xb7dd8000) for the Python installed on the system.
and, e.g.,
ldd <full-path-to>/minimal_ext.so
... and this gives (for eddie's GCC 4.0.0): libstdc++.so.6 => /usr/lib/gcc/i686-pc-linux-gnu/4.0.0-alpha20050213/libstdc++.so.6 (0xb7f0d000) It looks like that's the problem, then. We have two libstdc++ versions around, hence the need to build Boost.Python with the same compiler version as Python. Bummer. I wonder... does Python even use C++? Should they just be linking with gcc? Doug