Opened 15 years ago

Last modified 14 years ago

#17975 closed defect

boost +python25 links with system python libs (instead of macport libs) — at Version 2

Reported by: evert.rol@… Owned by: sanchom@…
Priority: Normal Milestone:
Component: ports Version: 1.7.0
Keywords: boost python Cc:
Port: boost

Description (last modified by jmroot (Joshua Root))

The ${prefix}/lib/libboost_python-mt.dylib (& related) library has a dependency on the system python library, not on the python2.5 installed by macports (obviously only when installing boost with port install boost +python25). This can be seen using eg:

$> otool -L lib/libboost_python-mt.dylib 

lib/libboost_python-mt.dylib:

	/opt/local/lib/libboost_python-mt.dylib (compatibility version 0.0.0, current version 0.0.0)

	/System/Library/Frameworks/Python.framework/Versions/2.5/Python (compatibility version 2.5.0, current version 2.5.1)

	/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0)

	/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)

	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.0.0)

The problem only really shows up when compiling a source to a .so module with boost-python: the macports python2.5 complains when importing the module: "Fatal Python error: Interpreter not initialized (version mismatch?)", while the system python does not show this error.

(Note that printing sys.path in macports python2.5 does not show any standard system path, only the macports one, as it should.)

The problem does not exist for the python 2.6 (probably since there are no system libraries for this version).

See also this thread: http://lists.macosforge.org/pipermail/macports-users/2009-January/013226.html

Change History (2)

comment:1 Changed 15 years ago by blb@…

Could be related to the LINKFORSHARED issue, see #15099.

comment:2 Changed 15 years ago by jmroot (Joshua Root)

Description: modified (diff)
Owner: changed from macports-tickets@… to sanchom@…
Note: See TracTickets for help on using tickets.