Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 195142 - dev-util/boost-build-1.34.1 doesn't sanely handle cross-compilation
Summary: dev-util/boost-build-1.34.1 doesn't sanely handle cross-compilation
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: C++ Team [disbanded]
Depends on:
Reported: 2007-10-08 20:13 UTC by James Ausmus
Modified: 2014-12-11 07:39 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Note You need to log in before you can comment on or make changes to this bug.
Description James Ausmus 2007-10-08 20:13:50 UTC
boost-build can't handle being cross compiled, as it expects to be able to execute intermediately built binaries.

Reproducible: Always

Steps to Reproduce:
1. Builder a cross-compile toolchain for a foreign arch (say, arm) (including xmerge)
2. xmerge boost-build

Actual Results:  
# xmerge boost-build
Calculating dependencies... done!
>>> Verifying ebuild Manifests...

>>> Emerging (1 of 1) dev-util/boost-build-1.34.1 to /mnt/arm_root/
 * boost_1_34_1.tar.bz2 RMD160 ;-) ...                                                                                               [ ok ]
 * boost_1_34_1.tar.bz2 SHA1 ;-) ...                                                                                                 [ ok ]
 * boost_1_34_1.tar.bz2 SHA256 ;-) ...                                                                                               [ ok ]
 * boost_1_34_1.tar.bz2 size ;-) ...                                                                                                 [ ok ]
 * checking ebuild checksums ;-) ...                                                                                                 [ ok ]
 * checking auxfile checksums ;-) ...                                                                                                [ ok ]
 * checking miscfile checksums ;-) ...                                                                                               [ ok ]
 * checking boost_1_34_1.tar.bz2 ;-) ...                                                                                             [ ok ]
>>> Unpacking source...
>>> Unpacking boost_1_34_1.tar.bz2 to /var/tmp/portage/dev-util/boost-build-1.34.1/work
>>> Source unpacked.
>>> Compiling source in /var/tmp/portage/dev-util/boost-build-1.34.1/work/boost_1_34_1/tools ...
### Using 'cc' toolset.
rm -rf bootstrap
mkdir bootstrap
arm-unknown-linux-gnu-gcc -o bootstrap/jam0 -mcpu=arm9 -Os -pipe -fno-strict-aliasing command.c compile.c debug.c execunix.c expand.c fileunix.c glob.c hash.c hdrmacro.c headers.c jam.c jambase.c jamgram.c lists.c make.c make1.c newstr.c option.c parse.c pathunix.c pathvms.c regexp.c rules.c scan.c search.c subst.c timestamp.c variable.c modules.c strings.c filesys.c builtins.c pwd.c class.c native.c w32_getreg.c modules/set.c modules/path.c modules/regex.c modules/property-set.c modules/sequence.c modules/order.c execnt.c filent.c
./bootstrap/jam0 -f build.jam --toolset=cc --toolset-root= clean
./ line 15: ./bootstrap/jam0: cannot execute binary file
 * ERROR: dev-util/boost-build-1.34.1 failed.
Comment 1 Tiziano Müller (RETIRED) gentoo-dev 2007-10-09 12:42:59 UTC
And why do you want to cross-compile boost-build?
For boost you'll have to use the hosts boost-build to build boost for the target.
Comment 2 Lucas 2008-11-15 02:24:49 UTC
This bug should be closed as INVALID.  BJam is a host tool and should be built as such.  In the future: remember to use your site-config.jam or user-config.jam to set up your cross compiler as per the Boost.Build documentation.
Comment 3 Jeremy Murphy 2011-10-26 06:58:05 UTC
This bug has not been touched in almost three years and 1.34 is not even in the tree any more... maybe it can be closed?
Comment 4 Sergey Popov gentoo-dev 2014-12-11 07:39:23 UTC
With current state of portage dependency algorithms it's nearly impossible to handle this in a sane way.

Suggested workaround: emerge -1 boost-build

Then you can safely start cross-compilation