[C++-sig] boost python on os x 10.5, intel

Konrad Hinsen konrad.hinsen at laposte.net
Mon Aug 11 15:01:14 CEST 2008


On 06.08.2008, at 11:57, David Abrahams <dave at boostpro.com> wrote:

> on Sat Aug 02 2008, Michael Rogers <m.rogers-AT-hef.ru.nl> wrote:
>
> > This link pretty much describes what is happening to me.
> >
> > http://article.gmane.org/gmane.comp.lib.boost.build/18302
> >
> > Does anyone else experience this? Anyone know how to fix it?
>
> Looks like a bug in either Darwin's linker (hangs) or in its
> implementation of execwait.  bjam is just waiting for the linker  
> process
> to complete.
>
> My suggestion, to find out which: run bjam again with -n -a (build
> nothing) or -d+2 (rebuild what's out of date) and look at the linker
> command that bjam is issuing.  Then try it yourself from a shell
> prompt.  If it hangs, you know it's the linker.  If not, it's either a
> bug in execwait or a bug in the way bjam is using it.

I am running into exactly the same problem with Boost 1.35.0 under  
MacOS 10.4.11, both Intel and PowerPC platformst.

Following your suggestion, I ran bjam with -n -a and found the  
following linker command:

g++ -dynamiclib -install_name "extending.so" -L"/Library/Frameworks/ 
Python.framework/Versions/2.5/lib" -L"/Library/Frameworks/ 
Python.framework/Versions/2.5/lib/python2.5/config" -o "bin/darwin/ 
debug/macosx-version-10.4/extending.so" "bin/darwin/debug/macosx- 
version-10.4/extending.o" "/usr/local/boost_1_35_0/bin.v2/libs/python/ 
build/darwin/debug/macosx-version-10.4/libboost_python-d-1_35.dylib"   
-lpython2.5    -g -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx- 
version-min=10.4

When I run this command line directly from the shell, it terminates  
immediately without any error message, producing the library file ./ 
bin/darwin/debug/macosx-version-10.4/extending.so

I started the build procedure from scratch and interrupted bjam when  
it got stuck. I checked that the library had already been produced,  
and that it is identical to the one that I got when running g++  
directly.

Restarting bjam after interrupting it makes it hang again  
immediately, trying to execute the command

DYLD_LIBRARY_PATH=/Library/Frameworks/Python.framework/Versions/2.5/ 
lib:/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/ 
config:/usr/local/boost_1_35_0/bin.v2/libs/python/build/darwin/debug/ 
macosx-version-10.4:/usr/local/boost_1_35_0/libs/python/example/ 
quickstart/bin/darwin/debug/macosx-version-10.4:$DYLD_LIBRARY_PATH
export DYLD_LIBRARY_PATH

So it looks like the problem is in bjam, not in the linker. It still  
in the current development trunk of boost, so I filed a bug report:

http://svn.boost.org/trac/boost/ticket/2185

Konrad.




More information about the Cplusplus-sig mailing list