[serialization/config/build][1.36] cross-compilation of the serialization library fails
Hi all,
Building a universal serialization library fails on Mac OS X 10.4
PowerPC because the linking of x86 versions of no_std_locale_pass and
no_std_wstreambuf_pass from the config library fail. Execution of
> /bjam --toolset=darwin architecture=combined link=static runtime-link=static threading=single
release stage --with-serialization
produces
> "g++" -o
"bin.v2/libs/config/test/all/no_std_wstreambuf_pass.test/darwin-4.0.1/release/architecture-combined/link-static/runtime-link-static/threading-multi/no_std_wstreambuf_pass"
"bin.v2/libs/config/test/all/no_std_wstreambuf_pass.test/darwin-4.0.1/release/architecture-combined/link-static/runtime-link-static/threading-multi/no_std_wstreambuf_pass.o"
-nodefaultlibs -shared-libgcc -lstdc++-static -lgcc_eh -lgcc -lSystem -Wl,-dead_strip
-no_dead_strip_inits_and_terms -arch i386 -arch ppc
> "/usr/bin/strip" "bin.v2/libs/config/test/all/no_std_wstreambuf_pass.test/darwin-4.0.1/release/architecture-combined/link-static/runtime-link-static/threading-multi/no_std_wstreambuf_pass"
>
> /usr/libexec/gcc/i686-apple-darwin8/4.0.1/ld: for architecture i386
> /usr/libexec/gcc/i686-apple-darwin8/4.0.1/ld: warning fat file:
/usr/lib/gcc/i686-apple-darwin8/4.0.1/../../../libSystem.dylib does not contain an
architecture that matches the specified -arch flag: i386 (file ignored)
> /usr/libexec/gcc/i686-apple-darwin8/4.0.1/ld: Undefined symbols:
Seems to me that the config tests try to link against wrong system binaries.
BTW, using 'architecture=combined-x86-power' produces only PowerPC
binaries, which does not feel right to me.
Cross-compilation of windows binaries on linux using mingw-gcc (from
(Continue reading)