BoostのUnivarsal Binary化がうまくいかない
Univarsal Binaryにしようと思い下記のように指定してビルドしてみたが、エラーになってビルドできない。
architecture=combined address-model=32_64 の指定でダメなのか?
bjam --toolset=darwin --with-thread link=static runtime-link=static architecture=combined address-model=32_64
下記の環境でためしてみた。
boost_1_40_0
下記のようにエラーになってしまう。
"g++" -ftemplate-depth-128 -O0 -fno-inline -Wall -g -no-cpp-precomp -gdwarf-2 -arch i386 -arch ppc -arch x86_64 -arch ppc64 -DBOOST_ALL_NO_LIB=1 -DBOOST_THREAD_BUILD_LIB=1 -DBOOST_THREAD_POSIX -I"." -c -o "bin.v2/libs/thread/build/darwin-4.2.1/debug/address-model-32_64/architecture-combined/link-static/runtime-link-static/threading-multi/pthread/exceptions.o" "libs/thread/src/pthread/exceptions.cpp" ...failed darwin.compile.c++ bin.v2/libs/thread/build/darwin-4.2.1/debug/address-model-32_64/architecture-combined/link-static/runtime-link-static/threading-multi/pthread/exceptions.o... darwin.compile.c++ bin.v2/libs/thread/build/darwin-4.2.1/debug/address-model-32_64/architecture-combined/link-static/runtime-link-static/threading-multi/pthread/once.o In file included from ./boost/config/no_tr1/utility.hpp:21, from ./boost/config/select_stdlib_config.hpp:20, from ./boost/config.hpp:40, from ./boost/thread/detail/platform.hpp:14, from ./boost/thread/once.hpp:12, from libs/thread/src/pthread/once.cpp:7: /usr/include/c++/4.2.1/utility:65:28: error: bits/c++config.h: No such file or directory In file included from /usr/include/c++/4.2.1/utility:66, from ./boost/config/no_tr1/utility.hpp:21, from ./boost/config/select_stdlib_config.hpp:20, from ./boost/config.hpp:40, from ./boost/thread/detail/platform.hpp:14, from ./boost/thread/once.hpp:12, from libs/thread/src/pthread/once.cpp:7: /usr/include/c++/4.2.1/bits/stl_relops.h:74: error: expected constructor, destructor, or type conversion before ‘(’ token In file included from /usr/include/ppc/_structs.h:44, from /usr/include/machine/_structs.h:29, from /usr/include/sys/_structs.h:57, from /usr/include/sys/signal.h:154, from /usr/include/sys/wait.h:116, from /usr/include/stdlib.h:65, from /usr/include/assert.h:44, from ./boost/assert.hpp:36, from ./boost/thread/pthread/once.hpp:15, from ./boost/thread/once.hpp:16, from libs/thread/src/pthread/once.cpp:7: /usr/include/mach/ppc/_structs.h:141: error: expected declaration before end of line lipo: can't figure out the architecture type of: /var/folders/Ov/OvV0SEaV2RapaE+BYnEcYU+++TI/-Tmp-//ccNG8F5F.out "g++" -ftemplate-depth-128 -O0 -fno-inline -Wall -g -no-cpp-precomp -gdwarf-2 -arch i386 -arch ppc -arch x86_64 -arch ppc64 -DBOOST_ALL_NO_LIB=1 -DBOOST_THREAD_BUILD_LIB=1 -DBOOST_THREAD_POSIX -I"." -c -o "bin.v2/libs/thread/build/darwin-4.2.1/debug/address-model-32_64/architecture-combined/link-static/runtime-link-static/threading-multi/pthread/once.o" "libs/thread/src/pthread/once.cpp" ...failed darwin.compile.c++ bin.v2/libs/thread/build/darwin-4.2.1/debug/address-model-32_64/architecture-combined/link-static/runtime-link-static/threading-multi/pthread/once.o... ...skipped <pbin.v2/libs/thread/build/darwin-4.2.1/debug/address-model-32_64/architecture-combined/link-static/runtime-link-static/threading-multi>libboost_thread-xgcc42-mt-sd-1_39.a for lack of <pbin.v2/libs/thread/build/darwin-4.2.1/debug/address-model-32_64/architecture-combined/link-static/runtime-link-static/threading-multi>pthread/thread.o... ...failed updating 6 targets... ...skipped 4 targets... ...updated 1 target...