Boost logo

Boost-Build :

Subject: Re: [Boost-build] Building Boost on OSX
From: Bioxydyn Dev (bioxydyn.dev_at_[hidden])
Date: 2013-08-22 04:26:28


On 20 August 2013 23:52, Marshall Clow <mclow.lists_at_[hidden]> wrote:

>
> On Aug 20, 2013, at 1:30 PM, Bioxydyn Dev <bioxydyn.dev_at_[hidden]> wrote:
>
> On Tue, Aug 20, 2013 at 8:05 PM, Marshall Clow <mclow.lists_at_[hidden]>wrote:
>
>>
>> On Aug 20, 2013, at 10:28 AM, Bioxydyn Dev <bioxydyn.dev_at_[hidden]>
>> wrote:
>>
>>
>>> But I suspect that you _are_ using Apple's linker (ld), and it does not
>>> understand -h.
>>>
>>
>> Why do you suspect that Apple's linker is being invoked?
>>
>>
>> Because it doesn't understand -h?
>>
>> And why would it not invoke GCC's linker when I've specified the
>> toolset=gcc?
>>
>>
>> because they're both (helpfully) named "ld" ?
>> and because if you just download and build gcc, I believe that you don't
>> get a standalone linker.
>> [ At least I didn't when building gcc 4.7.2 and 4.8 ]
>>
>
> Please elaborate. Why would it not come with a linker? That doesn't make
> any sense?
>
>
> I didn't say that.
> I said it didn't come with a *standalone* linker.
>
> if you do:
> g++ junk.cpp -o junk
> it will compile and link. (g++ knows how to link)
>
> If you do:
> g++ -c junk,cpp -o junk.o
> ld junk.o -o junk
> the first command will produce an object file (junk.o)
> and the second will produce an executable (using ld).
>
> b2 issues separate compile and link commands (like the second example)
>
> How can I check which one it's using.
>
>
> ld -v is a good place to start.
>
> $ ld -v
> @(#)PROGRAM:ld PROJECT:ld64-136
> configured to support archs: armv6 armv7 armv7s i386 x86_64
> LTO support using: LLVM version 3.2svn, from Apple Clang 4.2 (build
> 425.0.28)
>
> You can also look at the output from running b2 - it should print the
> commands that it uses.
> b2 -n will print the commands w/o executing them.
>
> I also stumbled across your C++ musings and Xcode stuff. Very helpful.
>
>
> Thanks.
>
> From what I've managed to ascertain it looks like if I want to develop for
> OS X then I should install the latest version of Xcode. Would you agree?
>
>
> Yes. Note that there's a "command-line tools" package inside of Xcode that
> you'll want to install (look in preferences).
> It's much easier than fussing with gcc - even if you are using MacPorts,
> etc.
>
> -- Marshall
>

Just to let you know, Marshall, I followed your advice and got it working
using clang. Thanks for your help.

I had some trouble with dynamic libs when running the example code but I
fixed that by using install_name_tool to change the install name of the
boost library.

cheers

Joe.



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