Boost logo

Boost-Build :

From: Rene Rivera (grafik666_at_[hidden])
Date: 2002-06-14 00:24:05


On 2002-06-13 at 10:28 PM, ich_at_[hidden] wrote:

>I'm trying to port boost 1.28 to OS X. I've attached a modified
>gcc-tools.jam which is used build libboost_python.so (both gcc 2.95 &
>3.1).

Thanks, it helped...

>I made a link:
>ln -s libSystem.B.dylib libutil.dylib

Why did you make this link?

>and I do have to manually make libboost_python.dylib by:
>cd
>boost_1_28_0/libs/python/build/bin/libboost_python.so/gcc/debug/runtime-link-dynamic/shared-linkable-true
>
>ld -dynamic -r -o libboost_python.dylib *.o
>
>so that it can be used by other ld.

That might be the cause of your problems. From other sources I consulted it
seems that "ld" is not smart enough to handle C++ linking.

The prefered method is to use "c++" to do the linking.

>When I tried to build the python test suite I get link errors.
>With gcc 2.95, for example with abstract test:
>ld: warning undefined symbols:
>___tiQ45boost6python6detailt15instance_holder1Z8Abstract

That actually makes some sense given what I've seen in other places. Using
"c++" instead of "ld" will make sure the extra C++ init/link information is
generated.

>Any help will be appreciated.

After looking at your changes and other build sources for Darwin I decided
it was not worth it to try and change the gcc-toolset.jam to accomodate
Darwin. It's just too different, and would just complicate it, not that it's
simple now ;-\

Instead I created a new toolset, "drawin-tools.jam" to accomodate
MacOSX/Darwin better. The lates Boost CVS state has the toolset, and some
minor changes to "allyourbase.jam". You can get the two files at
Sourceforge:

http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/*checkout*/boost/boost/tools/build/allyourbase.jam?rev=HEAD&content-type=text/plain
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/*checkout*/boost/boost/tools/build/darwin-tools.jam?rev=HEAD&content-type=text/plain

This is a first pass, and you'll have to tell me if it works.
I did not add the "-framework Python" as this is something that should go on
Python specific code only. So for that I added a free feature one can use to
add frameworks to the link. For now though go ahead an add it directly, and
any other changes too, until we get it working.

One warning... I'm using a single "c++" invocation for linking and that may
not work. If this is the problem you run into I have a two step method of
doing the linking which might also work.

>Thank you,

Your welcome :-)

-- grafik - Don't Assume Anything
-- rrivera_at_[hidden] - grafik_at_[hidden]
-- 102708583_at_icq - Grafik666_at_AIM - Grafik_at_[hidden]

 


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk