Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 195142

Summary: dev-util/boost-build-1.34.1 doesn't sanely handle cross-compilation
Product: Gentoo Linux Reporter: James Ausmus <james.ausmus>
Component: Current packagesAssignee: C++ Team [disbanded] <cpp+disabled>
Status: RESOLVED CANTFIX    
Severity: normal CC: SebastianLuther
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

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
3.

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
./build.sh: 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