Boost logo

Boost Users :

Subject: Re: [Boost-users] It is possible to build a static version of boost for the MACOS
From: katherine Maguire (katherine_maguire_at_[hidden])
Date: 2008-10-07 08:37:35


Hi

There seems to be bug with boost 1.36.0 and the bjam 03.1.16, as if you use link=static,shared then the shared libraries overwrite the static versions.

When I include libboost_thread-mt.a in my project build with the above command, my application requires the libboost_thread-mt.dylib.

But if I only use link=static and include libboost_thread-mt.a, then it no longer requires libboost_thread-mt.dylib.

Should bjam not produce libraries that have different names for the static and shared libraries?

Regards

Katherine Maguire

Photographic Galleries

> From: rush_at_[hidden]
> To: boost-users_at_[hidden]
> Date: Mon, 6 Oct 2008 12:52:15 -0700
> CC: sent-mail_at_[hidden]
> Subject: Re: [Boost-users] It is possible to build a static version of boost for the MACOS
>
>
> On Oct 6, 2008, at 12:07 PM, Mat Marcus wrote:
>
> > On Mon, Oct 6, 2008 at 9:47 AM, Rush Manbert <rush_at_[hidden]> wrote:
> >>
> >> On Oct 4, 2008, at 3:08 PM, Sachin Garg wrote:
> >>
> >>> On Sat, Oct 4, 2008 at 1:11 AM, Rush Manbert <rush_at_[hidden]>
> >>> wrote:
> >>>>
> >>>> On Oct 3, 2008, at 6:30 AM, kittymaguire wrote:
> >>>>
> >>>>>
> >>>>> When I put -static into the linker options, I get a lot of linker
> >>>>> errors.
> >>>>> So
> >>>>> I don't think a static version is possible on the MAC.
> >>>>>
> >>>>> How can I built each library that I need into a framework for
> >>>>> the MAC?
> >>>>>
> >>>>>
> >>>>> Vladimir Prus-3 wrote:
> >>>>>>
> >>>>>> kittymaguire wrote:
> >>>>>>
> >>>>>>>
> >>>>>>> Hi
> >>>>>>>
> >>>>>>> I have tried to build the boost libraries on the MacOS as a
> >>>>>>> static
> >>>>>>> library
> >>>>>>> by giving bjam the --buid_type=static but it still built the
> >>>>>>> dynamic
> >>>>>>> version
> >>>>>>> of the libraries.
> >>>>>>
> >>>>
> >>>>
> >>>>
> >>>> Here is a bjam command line that builds the 32 bit libraries,
> >>>> debug and
> >>>> release versions, both static and dynamic, targeted to Os X 10.4,
> >>>> with
> >>>> 10.4
> >>>> as the minimum supported rev. It also installs them. You will
> >>>> need to
> >>>> adjust
> >>>> the path stuff to use it.
> >>>>
> >>>> bjam debug release toolset=darwin address-model=32
> >>>> architecture=combined
> >>>> threading=multi link=shared,static macosx-version=10.4
> >>>> macosx-version-min=10.4 --layout=system
> >>>> --prefix=/tmp/boostbuild_20081003_104356/32
> >>>> --exec-prefix=/tmp/boostbuild_20081003_104356/32
> >>>> --builddir=./../buildProductsMac/boost install
> >>>>
> >>>>
> >>>> Here's the equivalent for 64 bit libaries.
> >>>>
> >>>> bjam debug release toolset=darwin address-model=64
> >>>> architecture=combined
> >>>> threading=multi link=shared,static macosx-version=10.4
> >>>> macosx-version-min=10.4 --layout=system
> >>>> --prefix=/tmp/boostbuild_20081003_104356/64
> >>>> --exec-prefix=/tmp/boostbuild_20081003_104356/64
> >>>> --builddir=./../buildProductsMac/boost install
> >>>>
> >>>
> >>> Why the need to specify OsX version? (I am new to OsX development)
> >>> _______________________________________________
> >>
> >> By default, you get targeted to the current version, which is 10.5.
> >> If you
> >> need to be compatible with previous versions, you need to specify. I
> >> honestly don't quite know what the difference is between macosx-
> >> version and
> >> macosx-version-min, because I'm not the one who worked out what
> >> command line
> >> we needed. If you use Xcode, you will see that you can specify
> >> which SDK
> >> version you target there as well, to support backward compatibility.
> >
> > macosx-version: which version of the SDK to use
> > macosx-version-min: oldest OS version on which executables will be
> > deployed
> >
> > I'm not sure why the suggestion was made to set prefix and exec-prefix
> >
>
> Thanks, and sorry, I just threw out the entire command line that we
> use, expecting interested parties to edit for their circumstances.
> Note that this command line also builds dynamic and static libs, so
> you need to change that too if static is all you want. You also might
> not want --layout=system...
>
> - Rush
>
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users

_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today it's FREE!
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net