
okay i've stared at the doc for bjam but can find NOTHING which indicates how to tell it to build for 10.4 anyone have an idea on that?
This load command (see mach-o/loader.h) is LC_DYLD_INFO_ONLY.
I can only guess, but did you compile boost with -mmacosx-version- min=10.6, but built your app with an earlier deployment target, and when you attempt to run it, you're doing so on Leopard?
i did not specify a min version when i built. so what should i do? this is what i suspect:
re-build boost using -mmacosx-version-min=10.4
and all will be well?
Should work, though I don't know if you'll also have to point boost at the 10.4 SDK with -isysroot. I suspect not.

AMDG David M. Cotter wrote:
okay i've stared at the doc for bjam but can find NOTHING which indicates how to tell it to build for 10.4 anyone have an idea on that?
The docs for bjam are unlikely to help. You might do better with the Boost.Build docs, http://www.boost.org/boost-build2 You might try: bjam macosx-version=10.4 In Christ, Steven Watanabe

okay i've stared at the doc for bjam but can find NOTHING which indicates how to tell it to build for 10.4 anyone have an idea on that?
The docs for bjam are unlikely to help. You might do better with the Boost.Build docs, http://www.boost.org/boost-build2
You might try: bjam macosx-version=10.4
already tried that, fail

AMDG David M. Cotter wrote:
okay i've stared at the doc for bjam but can find NOTHING which indicates how to tell it to build for 10.4 anyone have an idea on that?
The docs for bjam are unlikely to help. You might do better with the Boost.Build docs, http://www.boost.org/boost-build2
You might try: bjam macosx-version=10.4
already tried that, fail
Okay, the only other relevant feature I see in the toolset is macosx-version-min. In Christ, Steven Watanabe

yeah, tried that i mean. davec$ ./bjam mmacosx-version-min=10.4 architecture=combined install /Users/davec/Developer/depot/kJams/External/boost_1_40_0/tools/build/ v2/build/feature.jam:320: in validate-feature from module feature error: unknown feature "<mmacosx-version-min>" /Users/davec/Developer/depot/kJams/External/boost_1_40_0/tools/build/ v2/build/feature.jam:354: in expand-subfeatures-aux from module feature /Users/davec/Developer/depot/kJams/External/boost_1_40_0/tools/build/ v2/build/feature.jam:419: in feature.expand-subfeatures from module feature /Users/davec/Developer/depot/kJams/External/boost_1_40_0/tools/build/ v2/build/build-request.jam:20: in apply-to-property-set from module build-request /Users/davec/Developer/depot/kJams/External/boost_1_40_0/tools/build/ v2/kernel/modules.jam:103: in modules.call-in from module build-request /Users/davec/Developer/depot/kJams/External/boost_1_40_0/tools/build/ v2/util/sequence.jam:48: in sequence.transform from module sequence /Users/davec/Developer/depot/kJams/External/boost_1_40_0/tools/build/ v2/build/build-request.jam:32: in build-request.expand-no-defaults from module build-request /Users/davec/Developer/depot/kJams/External/boost_1_40_0/tools/build/ v2/build-system.jam:603: in load from module build-system /Users/davec/Developer/depot/kJams/External/boost_1_40_0/tools/build/ v2/kernel/modules.jam:283: in import from module modules /Users/davec/Developer/depot/kJams/External/boost_1_40_0/tools/build/ v2/kernel/bootstrap.jam:138: in boost-build from module /Users/davec/Developer/depot/kJams/External/boost_1_40_0/boost- build.jam:16: in module scope from module davec$ On Oct 9, 2009, at 4:38 PM, Steven Watanabe wrote:
AMDG
David M. Cotter wrote:
okay i've stared at the doc for bjam but can find NOTHING which indicates how to tell it to build for 10.4 anyone have an idea on that?
The docs for bjam are unlikely to help. You might do better with the Boost.Build docs, http://www.boost.org/boost-build2
You might try: bjam macosx-version=10.4
already tried that, fail
Okay, the only other relevant feature I see in the toolset is macosx-version-min.
In Christ, Steven Watanabe
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

AMDG David M. Cotter wrote:
yeah, tried that i mean.
davec$ ./bjam mmacosx-version-min=10.4 architecture=combined install
Kill the extra m: macosx-version-min
/Users/davec/Developer/depot/kJams/External/boost_1_40_0/tools/build/v2/build/feature.jam:320: in validate-feature from module feature error: unknown feature "<mmacosx-version-min>"
In Christ, Steven Watanabe

sorry for my silly typeo! you were correct. the build went swimmingly when i used this command line:
./bjam macosx-version-min=10.4 architecture=combined install
On Oct 9, 2009, at 5:36 PM, Steven Watanabe wrote:
David M. Cotter wrote:
yeah, tried that i mean.
davec$ ./bjam mmacosx-version-min=10.4 architecture=combined install
Kill the extra m: macosx-version-min
/Users/davec/Developer/depot/kJams/External/boost_1_40_0/tools/ build/v2/build/feature.jam:320: in validate-feature from module feature error: unknown feature "<mmacosx-version-min>"

okay. everything is working fantastically, however, it won't run on G3 machine running 10.4.11 it works perfectly on a G4 PPC machine also running 10.4.11 is there some way to "tune" bjam to emit G3-compatible code? cuz i'm getting this: Host Name: TAZ-2 Date/Time: 2009-10-20 05:56:18.099 -0700 OS Version: 10.4.11 (Build 8S165) Report Version: 4 Command: FooBar Pro Path: /Applications/FooBar Pro.app/Contents/MacOS/FooBar Pro Parent: WindowServer [310] Version: FooBar Pro 1.0d50r33 (1.0) PID: 445 Thread: Unknown Link (dyld) error: Library not loaded: @loader_path/../SharedSupport/libboost_thread.dylib Referenced from: /Applications/FooBar Pro.app/Contents/MacOS/FooBar Pro Reason: no suitable image found. Did find: /Applications/FooBar Pro.app/Contents/MacOS/../SharedSupport/ libboost_thread.dylib: no matching architecture in universal wrapper /Applications/FooBar Pro.app/Contents/MacOS/../SharedSupport/ libboost_thread.dylib: no matching architecture in universal wrapper On Oct 9, 2009, at 5:36 PM, Steven Watanabe wrote:
AMDG
David M. Cotter wrote:
yeah, tried that i mean.
davec$ ./bjam mmacosx-version-min=10.4 architecture=combined install
Kill the extra m: macosx-version-min
/Users/davec/Developer/depot/FooBar/External/boost_1_40_0/tools/ build/v2/build/feature.jam:320: in validate-feature from module feature error: unknown feature "<mmacosx-version-min>"
In Christ, Steven Watanabe

from Chris again:
Just to follow up on this: there appears to be some odd (or at least non-obvious) behaviour with the linker in Xcode 3.2. If you set the deployment target to 10.3, the resulting architecture ends up as ppc7400 whereas 10.4 will give you ppc. (10.5 and 10.6 give you ppc7400.)
Anyway, if you know your code will work on all PowerPC CPU subtypes, it looks like you could use the -force_cpusubtype_ALL linker flag (I haven't tried it).
again: how do i do this using bjam?

David M. Cotter wrote:
from Chris again:
Just to follow up on this: there appears to be some odd (or at least non-obvious) behaviour with the linker in Xcode 3.2. If you set the deployment target to 10.3, the resulting architecture ends up as ppc7400 whereas 10.4 will give you ppc. (10.5 and 10.6 give you ppc7400.)
Anyway, if you know your code will work on all PowerPC CPU subtypes, it looks like you could use the -force_cpusubtype_ALL linker flag (I haven't tried it).
again: how do i do this using bjam?
I think you meant "using Boost.Build". There are cflags and linkflags properties that you can specify on the command line. E.g. linkflags="-force_cpusubtype_ALL" Does this help? - Volodya

well, no i meant bjam is "boost.build" another name for "bjam" ?? this is what i use to build boost right now:
./bjam macosx-version-min=10.4 architecture=combined install
so are you saying i can do this?
./bjam macosx-version-min=10.4 architecture=combined linkflags="- force_cpusubtype_ALL" install
? On Oct 20, 2009, at 10:10 PM, Vladimir Prus wrote:
David M. Cotter wrote:
from Chris again:
Just to follow up on this: there appears to be some odd (or at least non-obvious) behaviour with the linker in Xcode 3.2. If you set the deployment target to 10.3, the resulting architecture ends up as ppc7400 whereas 10.4 will give you ppc. (10.5 and 10.6 give you ppc7400.)
Anyway, if you know your code will work on all PowerPC CPU subtypes, it looks like you could use the -force_cpusubtype_ALL linker flag (I haven't tried it).
again: how do i do this using bjam?
I think you meant "using Boost.Build". There are cflags and linkflags properties that you can specify on the command line. E.g.
linkflags="-force_cpusubtype_ALL"
Does this help?
- Volodya
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

seems that when i build now (whether with the cmd that worked before, OR if i add the cpusubtype_ALL flag), it always fails: ...found 20863 targets... ...updating 274 targets... darwin.compile.c++.pch bin.v2/libs/math/build/darwin-4.2.1/release/ architecture-combined/macosx-version-min-10.4/threading-multi/../src/ tr1/pch.hpp.gch lipo: can't figure out the architecture type of: /var/folders/h7/ h7zL6S-RECGa80fEMYXIpk+++TI/-Tmp-//ccrtgIl2.out "g++" -x c++-header -O3 -finline-functions -Wno-inline -Wall - mmacosx-version-min=10.4 -dynamic -no-cpp-precomp -gdwarf-2 -arch i386 -arch ppc -fPIC -DBOOST_ALL_NO_LIB=1 -DBOOST_BUILD_PCH_ENABLED - DBOOST_MATH_TR1_DYN_LINK=1 -DNDEBUG -I"." -I"libs/math/src/tr1" -c -o "bin.v2/libs/math/build/darwin-4.2.1/release/architecture-combined/ macosx-version-min-10.4/threading-multi/../src/tr1/pch.hpp.gch" "libs/ math/build/../src/tr1/pch.hpp" ...failed darwin.compile.c++.pch bin.v2/libs/math/build/darwin-4.2.1/ release/architecture-combined/macosx-version-min-10.4/threading- multi/../src/tr1/pch.hpp.gch... ...skipped <pbin.v2/libs/math/build/darwin-4.2.1/release/architecture- combined/macosx-version-min-10.4/threading-multi>assoc_laguerre.o for lack of <pbin.v2/libs/math/build/darwin-4.2.1/release/architecture- combined/macosx-version-min-10.4/threading-multi>../src/tr1/ pch.hpp.gch... ...<a bunch more like above> ...failed updating 4 targets... ...skipped 270 targets...
so it's not building at all. why is it now skipping all targets? sorry i'm kindof a n00b at this
well, no i meant bjam
is "boost.build" another name for "bjam" ??
this is what i use to build boost right now:
./bjam macosx-version-min=10.4 architecture=combined install
so are you saying i can do this?
./bjam macosx-version-min=10.4 architecture=combined linkflags="- force_cpusubtype_ALL" install
?
On Oct 20, 2009, at 10:10 PM, Vladimir Prus wrote:
David M. Cotter wrote:
from Chris again:
Just to follow up on this: there appears to be some odd (or at least non-obvious) behaviour with the linker in Xcode 3.2. If you set the deployment target to 10.3, the resulting architecture ends up as ppc7400 whereas 10.4 will give you ppc. (10.5 and 10.6 give you ppc7400.)
Anyway, if you know your code will work on all PowerPC CPU subtypes, it looks like you could use the -force_cpusubtype_ALL linker flag (I haven't tried it).
again: how do i do this using bjam?
I think you meant "using Boost.Build". There are cflags and linkflags properties that you can specify on the command line. E.g.
linkflags="-force_cpusubtype_ALL"
Does this help?
- Volodya

Hi David, 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. Yours. Jürgen -- * Dipl.-Math. Jürgen Hunold ! Ingenieurgesellschaft für * voice: ++49 511 262926 57 ! Verkehrs- und Eisenbahnwesen mbH * fax : ++49 511 262926 99 ! Lister Straße 15 * juergen.hunold@ivembh.de ! www.ivembh.de * * Geschäftsführer: ! Sitz des Unternehmens: Hannover * Prof. Dr.-Ing. Thomas Siefer ! Amtsgericht Hannover, HRB 56965 * PD Dr.-Ing. Alfons Radtke !

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: 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) davec$ and that file was definitely built just now. interestingly the .a file IS CORRECT! davec$ otool -f -v ./libboost_thread.a Fat headers fat_magic FAT_MAGIC nfat_arch 2 architecture i386 cputype CPU_TYPE_I386 cpusubtype CPU_SUBTYPE_I386_ALL capabilities 0x0 offset 48 size 478160 align 2^2 (4) architecture ppc cputype CPU_TYPE_POWERPC cpusubtype CPU_SUBTYPE_POWERPC_ALL capabilities 0x0 offset 478208 size 514064 align 2^2 (4) Archive : ./libboost_thread.a man i just don't get this. do i need to wipe /usr/local/lib as well?

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

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

i tried doing this: ./bjam macosx-version-min=10.4 architecture=combined linkflags="- force_cpusubtype_ALL" install 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$ On Oct 20, 2009, at 10:10 PM, Vladimir Prus wrote:
David M. Cotter wrote:
from Chris again:
Just to follow up on this: there appears to be some odd (or at least non-obvious) behaviour with the linker in Xcode 3.2. If you set the deployment target to 10.3, the resulting architecture ends up as ppc7400 whereas 10.4 will give you ppc. (10.5 and 10.6 give you ppc7400.)
Anyway, if you know your code will work on all PowerPC CPU subtypes, it looks like you could use the -force_cpusubtype_ALL linker flag (I haven't tried it).
again: how do i do this using bjam?
I think you meant "using Boost.Build". There are cflags and linkflags properties that you can specify on the command line. E.g.
linkflags="-force_cpusubtype_ALL"
Does this help?
- Volodya
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
participants (4)
-
David M. Cotter
-
Juergen Hunold
-
Steven Watanabe
-
Vladimir Prus