Boost logo

Boost :

Subject: Re: [boost] linking on OSX
From: David M. Cotter (me_at_[hidden])
Date: 2009-10-21 13:26:07


you can see that the build system is in fact emitting the correct
command for linking, however it is apparently being ignored on PPC

"g++" -dynamiclib -Wl,-single_module -install_name
"libboost_thread.dylib" -o "bin.v2/libs/thread/build/darwin-4.2.1/
release/architecture-combined/macosx-version-min-10.4/threading-multi/
libboost_thread.dylib" "bin.v2/libs/thread/build/darwin-4.2.1/release/
architecture-combined/macosx-version-min-10.4/threading-multi/pthread/
thread.o" "bin.v2/libs/thread/build/darwin-4.2.1/release/architecture-
combined/macosx-version-min-10.4/threading-multi/pthread/exceptions.o"
"bin.v2/libs/thread/build/darwin-4.2.1/release/architecture-combined/
macosx-version-min-10.4/threading-multi/pthread/once.o" -
headerpad_max_install_names -mmacosx-version-min=10.4 -Wl,-dead_strip -
no_dead_strip_inits_and_terms -arch i386 -arch ppc -force_cpusubtype_ALL

malkier:lib davec$ otool -f -v ./libboost_thread.dylib
Fat headers
fat_magic FAT_MAGIC
nfat_arch 2
architecture i386
     cputype CPU_TYPE_I386
     cpusubtype CPU_SUBTYPE_I386_ALL
     capabilities 0x0
     offset 4096
     size 119460
     align 2^12 (4096)
architecture ppc7400
     cputype CPU_TYPE_POWERPC
     cpusubtype CPU_SUBTYPE_POWERPC_7400
     capabilities 0x0
     offset 126976
     size 124024
     align 2^12 (4096)
malkier:lib davec$

so i'm dead in the water on this project. any insight or help that
solves this would win you free mac Karaoke software. :) and my
gratitude.

On Oct 21, 2009, at 1:38 AM, Vladimir Prus wrote:

>
> David M. Cotter wrote:
>
>>> Hi David,
>> HI! :)
>>
>>> On Wednesday 21 October 2009 07:22:48 David M. Cotter wrote:
>>>> well, no i meant bjam
>>>
>>> which is the low-level tool used.
>>>
>>>> is "boost.build" another name for "bjam" ??
>>>
>>> It's the name of the complete build system.
>>>
>>>> so are you saying i can do this?
>>>>
>>>>> ./bjam macosx-version-min=10.4 architecture=combined linkflags="-
>>>>> force_cpusubtype_ALL" install
>>>
>>> Of course.
>>>
>>> Be sure to clean the libs beforehand because Boost.Build does not
>>> track
>>> compile and link options. Or add "-a" to force a complete rebuild.
>>
>> i tried doing this:
>>
>> i completely wiped my boost tree. oops but i did not wipe the usr
>> local/lib hmmm. but it DID get updated (cre / mod date is today)
>>
>> then did this:
>>
>> > ./bjam macosx-version-min=10.4 architecture=combined linkflags="-
>> force_cpusubtype_ALL" install
>>
>> however, it did NOT set the cpu type. when i do this you can see:
>
> If you add -a -n to the above commands -- without cleaning anything,
> or doing other actions -- you should see the compiler and linker
> commands
> that are executed. Does the link command include the above flag?
> If so, then presumably the option does not do what you expect. Should
> it maybe be passed to compiler instead?
>
> - Volodya


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk