Summary: | dev-libs/boost fails when cross-compiled for i686-mingw32 | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Adam Nielsen <a.nielsen> |
Component: | New packages | Assignee: | David Seifert <soap> |
Status: | RESOLVED OBSOLETE | ||
Severity: | normal | CC: | cpp+disabled, m.seifert |
Priority: | High | ||
Version: | 2008.0 | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | boost-1.56.0-r1-mingw.patch |
Description
Adam Nielsen
2010-08-01 02:15:51 UTC
Maybe you can work around this with LDFLAGS="-Wl,-z,muldefs" But this would of course not be a proper solution. *** Bug 330691 has been marked as a duplicate of this bug. *** I'm not sure what those options do, but unfortunately it just changes the error: $ LDFLAGS="-Wl,-z,muldefs" i686-mingw32-emerge -v boost /usr/libexec/gcc/i686-mingw32/ld: unrecognized option '-z' /usr/libexec/gcc/i686-mingw32/ld: use the --help option for usage information $ LDFLAGS="-Wl,muldefs" i686-mingw32-emerge -v boost /usr/libexec/gcc/i686-mingw32/ld: muldefs: No such file: No such file or directory Just revisited this, after reinstalling/upgrading mingw32 and the entire cross-compiler environment, now it gets further and instead breaks here: "i686-mingw32-g++" -ftemplate-depth-128 -O2 -pipe -fno-strict-aliasing -finline-functions -Wno-inline -Wall -fPIC -DBOOST_ALL_NO_LIB=1 -DBOOST_PYTHON_SOURCE -DNDEBUG -I"." -I"/usr/include/python2.6" -c -o "bin.v2/libs/python/build/gcc-mingw-4.4/gentoorelease/pch-off/numeric.o" "libs/python/src/numeric.cpp" libs/python/src/numeric.cpp:1: warning: -fPIC ignored for target (all code is position independent) In file included from /usr/include/python2.6/Python.h:58, from ./boost/python/detail/wrap_python.hpp:142, from ./boost/python/detail/prefix.hpp:13, from ./boost/python/numeric.hpp:8, from libs/python/src/numeric.cpp:6: /usr/include/python2.6/pyport.h:261:24: error: sys/select.h: No such file or directory In file included from ./boost/python/object/make_instance.hpp:9, from ./boost/python/object/make_ptr_instance.hpp:8, from ./boost/python/to_python_indirect.hpp:11, from ./boost/python/converter/arg_to_python.hpp:10, from ./boost/python/call.hpp:15, from ./boost/python/object_core.hpp:12, from ./boost/python/object.hpp:9, from ./boost/python/tuple.hpp:10, from ./boost/python/numeric.hpp:10, from libs/python/src/numeric.cpp:6: ./boost/python/object/instance.hpp:14: warning: type attributes ignored after type is already defined ...failed updating 1 target... * ERROR: dev-libs/boost-1.42.0-r2 failed: * building boost failed * * Call stack: * ebuild.sh, line 56: Called src_compile * environment, line 5324: Called die * The specific snippet of code: * ${BJAM} ${NUMJOBS} -q -d+2 gentoorelease ${OPTIONS} threading=single,multi ${LINK_OPTS} runtime-link=shared || die "building boost failed"; Not sure whether it should be looking in /usr/include or /usr/i686-mingw32/include. Has anyone actually succeeded in cross-compiling Boost? *** Bug 521942 has been marked as a duplicate of this bug. *** The patch attached in bug #521942 adds support for MinGW toolchains to the boost ebuild. I tested it on a x86_64-w64-mingw32 toolchain, but it should work just as well on i686. No idea about Python support, though. Created attachment 399800 [details, diff]
boost-1.56.0-r1-mingw.patch
The patch adds support for compilation on the x86_64-w64-mingw32 target to the dev-libs/boost-1.56.0-r1 ebuild.
Ancient bug, file a fresh one if this is still an issue. |