[Chimera-users] new version available
Thomas Goddard
goddard at cgl.ucsf.edu
Wed Dec 14 09:43:27 PST 2005
Hi Charlie,
You will need the Mac Python configuration header file pyconfig.h to
compile your Python module on the Mac and have it work with Chimera.
I added Chimera and third party header files for the Mac to our source
code download page:
http://www.cgl.ucsf.edu/chimera/sourcecode.html
Compiling a python module on the Mac also involves some special linking
flags. The Mac has "dynamic libraries" and "bundles" and as far as I know
Python can only import bundles. That was the case a few years ago. Here
are a couple link examples that make bundles on the Mac.
gcc -I/usr/local/src/staff/goddard/mac-10.4/build/include
-L/usr/local/src/staff/goddard/mac-10.4/build/lib
-DUSE_DYLD_GLOBAL_NAMESPACE
-bundle -bundle_loader /usr/local/src/staff/goddard/mac-10.4/foreign/Python-2.4/bin/python2.4
Scientific_netcdf.o -Lnetcdf/lib -lnetcdf -o Scientific_netcdf.so
cc -bundle -bundle_loader /usr/local/src/staff/goddard/builds/mac-10.3/chimera-2095/build/bin/python2.4
-o _contour.so -O -Wall -Wno-long-double
contourdata.o pycontour.o _contour.o ContourObject.o
-L/usr/local/src/staff/goddard/builds/mac-10.3/chimera-2095/build/lib
-L../_volumearray -lrcarray -lwrappy -lstdc++
The flags -bundle and -bundle_loader <path-to-python-executable> are the
important ones. These replace the usual -shared on other platforms.
I'm not sure about -DUSE_DYLD_GLOBAL_NAMESPACE -- we don't use that for
building the python modules we write but it appears that third-party
packages we use define that macro.
Tom
More information about the Chimera-users
mailing list