Boost logo

Boost-Build :

Subject: Re: [Boost-build] Cannot build boost::serialization for x64 (crosscompile)
From: Vladimir Prus (ghost_at_[hidden])
Date: 2008-09-20 10:05:04


On Friday 19 September 2008 13:16:53 Pfligersdorffer, Christian wrote:
> Armin Pies on Friday, September 19, 2008 9:12 AM:
>
> > The boost build for the serialization library integrates
> > tests calling "no_std_wstreambuf_pass.exe" or
> > "no_std_locale_pass.exe" which are, of course, no Win32 applications.
> > So I cannot run them under Windows XP (Win32) and the build fails.
> > But I need to build the library to be able to cross-compile
> > our application for x64.
> > Is there a switch to skip these tests?
>
> Hi all!
>
> Same problem here, I'm trying to cross-compile boost 1.36 for ppc-linux
> on x86-linux using ppc_6xx-gcc 4.0.0. Crosscompiling boost is a constant
> source of perplexity and annoyance for me and with every version there's
> a new hurdle waiting for me!
>
> Approach 1.
>
> using gcc : 4.0.0 : /path/to/ppc_6xx-g++;

This is what you should do, ideally. It's supposed to pick right ar, ld, etc, though.
Do you have more details what does not work, including output with --debug-configuration
option.

>
> chooses the right compiler but still uses the wrong ar, objcopy and ld.
> Why?
> See also
> http://goodliffe.blogspot.com/2008/05/cross-compiling-boost.html
>
> Approach 2.
>
> cd libs/config
> ./configure --host=ppc_6xx
>
> and using the resulting configuration header as BOOST_USER_CONFIG sound
> promising but fails with my setup. Neither is it explained anywhere. See
> attachment for config.log

I don't know what this, and how it should help you with selecting the right
compiler, etc.

> Approach 3.
>
> Finally if I create a ppc_bin folder with links g++ ->
> /path/to/ppc_6xx-g++ as I did for compiling version <= 1.35, now the
> clever bjam tries to run some resulting ppc-executables on my x86
> system!

It's not "clever bjam" nor "clever Boost.Build" actually, it's clever
Boost.Serialization :-) Not that it changes anything.

>
> Now WHAT is the proposed way to cross-compile boost?!?! Let me cite the
> "Boost.Build V2/GettingStarted" section: "And you get cross-compiler
> portability for free!"

Where is that? (And I presume it means 'works with different compilers'
not 'works with cross-compiler).

FWIW, we just had a debug session on IRC with Harry Waye, for linux->mingw
cross-compiling, and it seems like that one is close to been officially
supported.

- Volodya


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk