[Distutils] Trouble building visual python extension on MacOSX 10.8… with python3.2

Steve Spicklemire steve at spvi.com
Mon Feb 18 18:07:29 CET 2013


Hi Distutils Folks,

I'm hoping someone on the distutils list may have some hints about discovering the incantation necessary to produce a working boost-linked python extension for ptyhon.org Python-3.2.3 on MacOS 10.8.

Here's my situation. I'm attempting to help out with a wxPython port of visual python, or vpython <http://www.vpython.org> and particularly at <https://github.com/BruceSherwood/vpython-wx>. I cooked up a setup.py script that works fine (i.e., builds the extension) on python2.7 for both MacOSX 10.6, 10.7 and 10.8 (using the python.org 32/64 binary for python-2.7.3). I'm attempting to use the same, or similar script to build the same extension using python3.2, but while it works OK on MacOSX 10.6, it fails to produce a working extension on MacOS 10.8 using the same MacOSX 10.6 SDK. 

Here's the setup.py: <https://dl.dropbox.com/u/20562746/dist-build/setup.py>

At first I thought it was different versions of Xcode, but no, that can't be on the 10.8 system I have Xcode 3.2.5 installed and defined the link:

/Developer -> /Developer-3.2.5

With the link I have the *exact* *same* files in /Developer/SDKs/MacOSX10.6.sdk on both systems. 

The setup.py script produces exactly the same output on both systems:

On 10.6 -> <https://dl.dropbox.com/u/20562746/dist-build/build_on_10.6.txt>

On 10.8 -> <https://dl.dropbox.com/u/20562746/dist-build/build_on_10.8.txt>

Except for one error message in the 10.6 build:

ld: warning: in /Developer/SDKs/MacOSX10.6.sdk/Library/Frameworks//Python.framework/Python, missing required architecture x86_64 in file

(but I'm not smart enough to tell how that matters.. I'm not using that Python Framework!)

But when I import the extension on 10.8 I get:

aluminum:visual_common steve$ python3.2 -c 'import cvisual'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
SystemError: initialization of cvisual raised unreported exception
aluminum:visual_common steve$ 

I tried to step through the debugger to see what was going on... but I don't know boost well enough to sort it out:

<https://dl.dropbox.com/u/20562746/dist-build/visualDebug.txt>

Finally.. I thought I'd try to inspect the produced .so file. With otool I figured out how to dump the symbol table (-vI) and found that while they have exactly the same size, they have very different symbol tables:

10.6 -> <https://dl.dropbox.com/u/20562746/dist-build/t6.txt>

10.8 -> <https://dl.dropbox.com/u/20562746/dist-build/t8.txt>

Strange!

Anyway... if anyone has a hint and/or clue how to determine what's going on... how can I get this to build property on 10.8 I'd really appreciate it.

BTW the full source for the entire project is here:

<https://github.com/BruceSherwood/vpython-wx>

thanks!
-steve



More information about the Distutils-SIG mailing list