
On Jul 6, 2008, at 10:30 PM, Rene Rivera wrote:
Daryle Walker wrote:
Do you mean changing the "using gcc ;" line to "using gcc : : : <linker-type>darwin ;"?
No.
But doing "bjam-svn --help gcc.init" makes it seems that the "linker-type" should have been chosen by default? .. Hmm, doing that change made it work! However, I got a help message from doing "bjam-svn --help darwin.init" too. Does this mean I should add a "using darwin ;" line in my user-config.jam?
Yes. The darwin.jam support the Xcode Apple GCC compilers, which is decidedly different than the stock GNU GCC compilers on MacOSX.
Would that line complement or replace the current GCC line?
If you are using *only* Xcode only use the darwin toolset.
Before reading this, I tried building with the configuration described in my last message in the Boost.Integer test directory. It failed like this: //======================================== daryle[hello]$ bin/gcc-4.0.1/debug/hello Hello! daryle[hello]$ rm -rf bin daryle[hello]$ cd ../../../../../ daryle[boost-trunk]$ cd libs/integer daryle[integer]$ cd test daryle[test]$ ls Jamfile.v2 integer_test.cpp static_min_max_test.cpp cstdint_test.cpp integer_traits_test.cpp integer_mask_test.cpp static_log2_test.cpp daryle[test]$ bjam-svn warning: Graph library does not contain optional GraphML reader. note: to enable GraphML support, set EXPAT_INCLUDE and EXPAT_LIBPATH to the note: directories containing the Expat headers and libraries, respectively. warning: skipping optional Message Passing Interface (MPI) library. note: to enable MPI support, add "using mpi ;" to user-config.jam. note: to suppress this message, pass "--without-mpi" to bjam. note: otherwise, you can safely ignore this message. Building Boost.Regex with the optional Unicode/ICU support disabled. Please refer to the Boost.Regex documentation for more information (don't panic: this is a strictly optional feature). warning: No toolsets are configured. warning: Configuring default toolset "gcc". warning: If the default is wrong, your build may not work correctly. warning: Use the "--toolset=xxxxx" option to override our guess. warning: For more configuration options, please consult warning: http://boost.org/boost-build2/doc/html/bbv2/advanced/ configuration.html ..patience... ..found 648 targets... ..updating 70 targets... MkDir1 ../../../bin.v2 MkDir1 ../../../bin.v2/libs MkDir1 ../../../bin.v2/libs/integer MkDir1 ../../../bin.v2/libs/integer/test MkDir1 ../../../bin.v2/libs/integer/test/cstdint_test.test MkDir1 ../../../bin.v2/libs/integer/test/cstdint_test.test/gcc-4.0.1 MkDir1 ../../../bin.v2/libs/integer/test/cstdint_test.test/gcc-4.0.1/ debug gcc.compile.c++ ../../../bin.v2/libs/integer/test/cstdint_test.test/ gcc-4.0.1/debug/cstdint_test.o cstdint_test.cpp: In function 'void integral_constant_type_check(T1, T2) [with T1 = unsigned char, T2 = unsigned int]': cstdint_test.cpp:146: instantiated from here cstdint_test.cpp:126: warning: comparison is always false due to limited range of data type cstdint_test.cpp: In function 'void integral_constant_type_check(T1, T2) [with T1 = short unsigned int, T2 = unsigned int]': cstdint_test.cpp:148: instantiated from here cstdint_test.cpp:126: warning: comparison is always false due to limited range of data type gcc.link ../../../bin.v2/libs/integer/test/cstdint_test.test/ gcc-4.0.1/debug/cstdint_test /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: unknown flag: -- start-group collect2: ld returned 1 exit status "g++" -o "../../../bin.v2/libs/integer/test/cstdint_test.test/ gcc-4.0.1/debug/cstdint_test" -Wl,--start-group "../../../bin.v2/libs/ integer/test/cstdint_test.test/gcc-4.0.1/debug/cstdint_test.o" -Wl,- Bstatic -Wl,-Bdynamic -Wl,--end-group -g ..failed gcc.link ../../../bin.v2/libs/integer/test/ cstdint_test.test/gcc-4.0.1/debug/cstdint_test... ..skipped <p../../../bin.v2/libs/integer/test/cstdint_test.test/ gcc-4.0.1/debug>cstdint_test.run for lack of <p../../../bin.v2/libs/ integer/test/cstdint_test.test/gcc-4.0.1/debug>cstdint_test... MkDir1 ../../../bin.v2/libs/integer/test/integer_test.test MkDir1 ../../../bin.v2/libs/integer/test/integer_test.test/gcc-4.0.1 MkDir1 ../../../bin.v2/libs/integer/test/integer_test.test/gcc-4.0.1/ debug gcc.compile.c++ ../../../bin.v2/libs/integer/test/integer_test.test/ gcc-4.0.1/debug/integer_test.o gcc.link ../../../bin.v2/libs/integer/test/integer_test.test/ gcc-4.0.1/debug/integer_test /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: unknown flag: -- start-group collect2: ld returned 1 exit status "g++" -o "../../../bin.v2/libs/integer/test/integer_test.test/ gcc-4.0.1/debug/integer_test" -Wl,--start-group "../../../bin.v2/libs/ integer/test/integer_test.test/gcc-4.0.1/debug/integer_test.o" -Wl,- Bstatic -Wl,-Bdynamic -Wl,--end-group -g ..failed gcc.link ../../../bin.v2/libs/integer/test/ integer_test.test/gcc-4.0.1/debug/integer_test... ..skipped <p../../../bin.v2/libs/integer/test/integer_test.test/ gcc-4.0.1/debug>integer_test.run for lack of <p../../../bin.v2/libs/ integer/test/integer_test.test/gcc-4.0.1/debug>integer_test... MkDir1 ../../../bin.v2/libs/integer/test/integer_traits_test.test MkDir1 ../../../bin.v2/libs/integer/test/integer_traits_test.test/ gcc-4.0.1 MkDir1 ../../../bin.v2/libs/integer/test/integer_traits_test.test/ gcc-4.0.1/debug gcc.compile.c++ ../../../bin.v2/libs/integer/test/ integer_traits_test.test/gcc-4.0.1/debug/integer_traits_test.o MkDir1 ../../../bin.v2/libs/test MkDir1 ../../../bin.v2/libs/test/build MkDir1 ../../../bin.v2/libs/test/build/gcc-4.0.1 MkDir1 ../../../bin.v2/libs/test/build/gcc-4.0.1/debug MkDir1 ../../../bin.v2/libs/test/build/gcc-4.0.1/debug/link-static gcc.compile.c++ ../../../bin.v2/libs/test/build/gcc-4.0.1/debug/link- static/compiler_log_formatter.o gcc.compile.c++ ../../../bin.v2/libs/test/build/gcc-4.0.1/debug/link- static/debug.o gcc.compile.c++ ../../../bin.v2/libs/test/build/gcc-4.0.1/debug/link- static/execution_monitor.o gcc.compile.c++ ../../../bin.v2/libs/test/build/gcc-4.0.1/debug/link- static/framework.o gcc.compile.c++ ../../../bin.v2/libs/test/build/gcc-4.0.1/debug/link- static/plain_report_formatter.o gcc.compile.c++ ../../../bin.v2/libs/test/build/gcc-4.0.1/debug/link- static/progress_monitor.o gcc.compile.c++ ../../../bin.v2/libs/test/build/gcc-4.0.1/debug/link- static/results_collector.o gcc.compile.c++ ../../../bin.v2/libs/test/build/gcc-4.0.1/debug/link- static/results_reporter.o gcc.compile.c++ ../../../bin.v2/libs/test/build/gcc-4.0.1/debug/link- static/test_main.o gcc.compile.c++ ../../../bin.v2/libs/test/build/gcc-4.0.1/debug/link- static/test_tools.o gcc.compile.c++ ../../../bin.v2/libs/test/build/gcc-4.0.1/debug/link- static/unit_test_log.o gcc.compile.c++ ../../../bin.v2/libs/test/build/gcc-4.0.1/debug/link- static/unit_test_main.o gcc.compile.c++ ../../../bin.v2/libs/test/build/gcc-4.0.1/debug/link- static/unit_test_monitor.o gcc.compile.c++ ../../../bin.v2/libs/test/build/gcc-4.0.1/debug/link- static/unit_test_parameters.o gcc.compile.c++ ../../../bin.v2/libs/test/build/gcc-4.0.1/debug/link- static/unit_test_suite.o gcc.compile.c++ ../../../bin.v2/libs/test/build/gcc-4.0.1/debug/link- static/xml_log_formatter.o gcc.compile.c++ ../../../bin.v2/libs/test/build/gcc-4.0.1/debug/link- static/xml_report_formatter.o gcc.archive ../../../bin.v2/libs/test/build/gcc-4.0.1/debug/link- static/libboost_test_exec_monitor-gcc40-d-1_36.a gcc.link ../../../bin.v2/libs/integer/test/integer_traits_test.test/ gcc-4.0.1/debug/integer_traits_test /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: unknown flag: -- start-group collect2: ld returned 1 exit status "g++" -o "../../../bin.v2/libs/integer/test/ integer_traits_test.test/gcc-4.0.1/debug/integer_traits_test" -Wl,-- start-group "../../../bin.v2/libs/integer/test/ integer_traits_test.test/gcc-4.0.1/debug/integer_traits_test.o" "../../../bin.v2/libs/test/build/gcc-4.0.1/debug/link-static/ libboost_test_exec_monitor-gcc40-d-1_36.a" -Wl,-Bstatic -Wl,- Bdynamic -Wl,--end-group -g ..failed gcc.link ../../../bin.v2/libs/integer/test/ integer_traits_test.test/gcc-4.0.1/debug/integer_traits_test... ..skipped <p../../../bin.v2/libs/integer/test/ integer_traits_test.test/gcc-4.0.1/debug>integer_traits_test.run for lack of <p../../../bin.v2/libs/integer/test/integer_traits_test.test/ gcc-4.0.1/debug>integer_traits_test... MkDir1 ../../../bin.v2/libs/integer/test/integer_mask_test.test MkDir1 ../../../bin.v2/libs/integer/test/integer_mask_test.test/ gcc-4.0.1 MkDir1 ../../../bin.v2/libs/integer/test/integer_mask_test.test/ gcc-4.0.1/debug gcc.compile.c++ ../../../bin.v2/libs/integer/test/ integer_mask_test.test/gcc-4.0.1/debug/integer_mask_test.o integer_mask_test.cpp: In function 'int test_main(int, char**)': integer_mask_test.cpp:77: warning: left shift count >= width of type integer_mask_test.cpp:77: warning: left shift count >= width of type gcc.link ../../../bin.v2/libs/integer/test/integer_mask_test.test/ gcc-4.0.1/debug/integer_mask_test /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: unknown flag: -- start-group collect2: ld returned 1 exit status "g++" -o "../../../bin.v2/libs/integer/test/ integer_mask_test.test/gcc-4.0.1/debug/integer_mask_test" -Wl,--start- group "../../../bin.v2/libs/integer/test/integer_mask_test.test/ gcc-4.0.1/debug/integer_mask_test.o" "../../../bin.v2/libs/test/build/ gcc-4.0.1/debug/link-static/libboost_test_exec_monitor-gcc40- d-1_36.a" -Wl,-Bstatic -Wl,-Bdynamic -Wl,--end-group -g ..failed gcc.link ../../../bin.v2/libs/integer/test/ integer_mask_test.test/gcc-4.0.1/debug/integer_mask_test... ..skipped <p../../../bin.v2/libs/integer/test/integer_mask_test.test/ gcc-4.0.1/debug>integer_mask_test.run for lack of <p../../../bin.v2/ libs/integer/test/integer_mask_test.test/gcc-4.0.1/ debug>integer_mask_test... MkDir1 ../../../bin.v2/libs/integer/test/static_log2_test.test MkDir1 ../../../bin.v2/libs/integer/test/static_log2_test.test/gcc-4.0.1 MkDir1 ../../../bin.v2/libs/integer/test/static_log2_test.test/ gcc-4.0.1/debug gcc.compile.c++ ../../../bin.v2/libs/integer/test/ static_log2_test.test/gcc-4.0.1/debug/static_log2_test.o gcc.link ../../../bin.v2/libs/integer/test/static_log2_test.test/ gcc-4.0.1/debug/static_log2_test /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: unknown flag: -- start-group collect2: ld returned 1 exit status "g++" -o "../../../bin.v2/libs/integer/test/ static_log2_test.test/gcc-4.0.1/debug/static_log2_test" -Wl,--start- group "../../../bin.v2/libs/integer/test/static_log2_test.test/ gcc-4.0.1/debug/static_log2_test.o" "../../../bin.v2/libs/test/build/ gcc-4.0.1/debug/link-static/libboost_test_exec_monitor-gcc40- d-1_36.a" -Wl,-Bstatic -Wl,-Bdynamic -Wl,--end-group -g ..failed gcc.link ../../../bin.v2/libs/integer/test/ static_log2_test.test/gcc-4.0.1/debug/static_log2_test... ..skipped <p../../../bin.v2/libs/integer/test/static_log2_test.test/ gcc-4.0.1/debug>static_log2_test.run for lack of <p../../../bin.v2/ libs/integer/test/static_log2_test.test/gcc-4.0.1/ debug>static_log2_test... MkDir1 ../../../bin.v2/libs/integer/test/static_min_max_test.test MkDir1 ../../../bin.v2/libs/integer/test/static_min_max_test.test/ gcc-4.0.1 MkDir1 ../../../bin.v2/libs/integer/test/static_min_max_test.test/ gcc-4.0.1/debug gcc.compile.c++ ../../../bin.v2/libs/integer/test/ static_min_max_test.test/gcc-4.0.1/debug/static_min_max_test.o gcc.link ../../../bin.v2/libs/integer/test/static_min_max_test.test/ gcc-4.0.1/debug/static_min_max_test /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: unknown flag: -- start-group collect2: ld returned 1 exit status "g++" -o "../../../bin.v2/libs/integer/test/ static_min_max_test.test/gcc-4.0.1/debug/static_min_max_test" -Wl,-- start-group "../../../bin.v2/libs/integer/test/ static_min_max_test.test/gcc-4.0.1/debug/static_min_max_test.o" "../../../bin.v2/libs/test/build/gcc-4.0.1/debug/link-static/ libboost_test_exec_monitor-gcc40-d-1_36.a" -Wl,-Bstatic -Wl,- Bdynamic -Wl,--end-group -g ..failed gcc.link ../../../bin.v2/libs/integer/test/ static_min_max_test.test/gcc-4.0.1/debug/static_min_max_test... ..skipped <p../../../bin.v2/libs/integer/test/ static_min_max_test.test/gcc-4.0.1/debug>static_min_max_test.run for lack of <p../../../bin.v2/libs/integer/test/static_min_max_test.test/ gcc-4.0.1/debug>static_min_max_test... ..failed updating 6 targets... ..skipped 12 targets... ..updated 52 targets... daryle[test]$ //======================================== It seems that it crapped out on not understanding "--start-group" again. Hmm, I'll put a "using darwin ;" line in my user-config.jam before the GCC line.... (I also added a "using mpi ;" line before the darwin line.) Nope, didn't work. I got the same results and errors. I even got the same warnings about Graph, MPI, Regex, and.... Woah, the warnings are saying that "No toolsets are configured". Why doesn't anything work here, but it did for the Hello example? Also, I ran "bjam-svn --clean-all" (and "bjam-svn --clean") between these two runs, to try a reset. The results of the second run weren't exactly the same. The results given here give 70 targets starting to update with 52 updated at the end. The second run reduced those numbers to 43 and 25, respectively. This means that my cleaning didn't get rid of 27 old targets. Why is that? (And how do I find them to clear them out? Doing "svn status" on "boost-trunk" didn't show any added files or directories.) You know, I just thought: if almost every Mac user is going to use Apple's special GCC, and almost never create programs with a generic GCC, why doesn't the Boost.Build documentation and example configuration files FULLY support Mac OS X out of the box? I shouldn't be struggling with this over a mailing list! In fact, I added ticket #2079 over this. (I tried to look for duplicates first, but Trac's group-bugs-by-library listing crashed. It automatically let me file a bug on _that_. That bug is ticket #2078.) Could we put a darwin case within the example "user-config.jam" file? BTW, I didn't create any of the libraries in advance; I don't know if that makes a difference.
Building the Hello example after my last SVN update didn't change anything. Are you assuming that I'm actively using the 10.2 SDK? I'm not, but...
Not really assuming. It's just that we have a fixed list of SDK versions. And I didn't initially include 10.2, my mistake.
..I have all of the SDKs I can support. I'm on a Mac OS X 10.4 (PowerPC) system. The versions of XCode that my OS supports can retain multiple SDKs. Besides the native 10.4 (Universal) SDK, I also have the SDKs for 10.3.9, 10.2.8, and the super secret 10.1(. 5?) loaded. So far, I've only used the native 10.4 one. Boost.Build must be able to deal with the presence of multiple SDKs, and (generally) pick the latest; if it can't, then a bug report needs to be filed.
It does, and it automatically detects which ones you have. But you have more SDKs than is usual. I haven't heard of anyone still mucking about with 10.1. Heck, I don't even know where you can download the thing.
I saw it once on some Apple web site or mailing list. (I'm not sure that I can find it again.) It does make a good worst-case scenario, though! -- Daryle Walker Mac, Internet, and Video Game Junkie darylew AT hotmail DOT com