Boost logo

Boost-Build :

From: Jurko Gospodnetić (jurko.gospodnetic_at_[hidden])
Date: 2008-06-26 15:03:17


   Hi Michael.

> It might be a good idea to qualify completely the path to libtool when
> building on Mac OS X:
>
> /usr/bin/libtool
>
> Apple provides its own libtool, which causes endless troubles, because
> so many projects simply invoke 'libtool', expecting to get either Apple's
> or GNU's version.
>
> In my case, I installed GNU's libtool into /usr/local, and this worked
> quite nicely with a bunch of GNOME projects.
>
> However, because I setup /usr/local/bin to take highest precedence, boost's
> build process found GNU's libtool when it wanted Apple's.
>
> While it's probably better that I play by the name game that Apple created,
> I imagine that it would be fruitful if boost's build process simply
> specified
> /usr/bin/libtool explicitly.
>
> This should make the build succeed in virtually all cases on Mac OS X.
>
> Here is a patch that make this change (just `patch -p0 FILE` from
> $src_dir):
>
> --- tools/build/v2/tools/darwinOld.jam 2008-06-19 04:28:19.000000000
> -0400
> +++ tools/build/v2/tools/darwin.jam 2008-06-19 04:28:22.000000000 -0400
> @@ -213,5 +213,5 @@
> # TODO: Find a way to use the underlying tools, i.e. lipo, to do this.
> actions piecemeal archive
> {
> - libtool -static -o "$(<:T)" $(ARFLAGS) "$(>:T)"
> + /usr/bin/libtool -static -o "$(<:T)" $(ARFLAGS) "$(>:T)"
> }

   Which version of Boost Build are you using here? Have you tried the
trunk version?

   I just checked and in the trunk version you can specify the exact
archiver command to use when you define your darwin toolset. Just use
the <archiver>/usr/bin/libtool in the third (options) parameter to the
'using darwin' call in your user-config.jam file.

   Boost Build version included with the 1.35.0 release did not have this.

   Hope this helps.

   Best regards,
     Jurko Gospodnetić


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