Boost logo

Boost :

Subject: Re: [boost] Boost 1.57 hot-out-of-Git fails to compile for Windows Phone
From: Jürgen Hunold (jhunold_at_[hidden])
Date: 2014-12-04 13:37:46


Hi Moshe,

it is a change in Boost.Context which is causing this.

Am Mittwoch, 3. Dezember 2014, 15:06:39 schrieb Moshe Rubin:
> I cloned Boost 1.57 from GitHub, intending to run b2 with the appropriate
> options to build libraries for Windows Phone. I understand that Steven
> Gates's pull requests for Windows Phone have already been merged in.
> Running the appropriate "b2" command fails with an error message. Can you
> help?

I think I have a workaround. See below.

> Here are the steps I took (I'm running MSVC 2013, so I've got all required
> libs etc.):
>
> (*) Clone Boost 1.57 from GitHub
> (*) cd to the boost folder
> (*) Execute "bootstrap"
> (*) Execute "b2 headers"
> (*) Execute "b2 toolset=msvc-12.0 windows-api=phone architecture=arm
> link=static variant=debug debug-symbols=on debug-store=database stage"

Looks fine and used to work until last week.

> I get the following output:

[snipped]

> (1) Why are the first three statements duplicated for windows-api=phone?

The hardlinks issue is a red herring.

> (2) Why does <warnings> differ between them?

No idea, but does not matter

> (3) Where in Boost.Build is this generated?

By Boost.Context's Jamfile.

> (4) How can I solve the problem and move forward?

Add "address-model=32" to your commandline.

Explanation:

Since sometime last week, Boost.Context depends on Boost.System.
Unfortunately, Boost.Context has to explicitly calculate the <address-model>
and <architecture> properties in order to select the assembler needed, as
those properties have no default value (yet).
It so happens that Boost.System is once requested without those properties and
a second time with them. And the <layout> rule is asked to build both target
with the same effective name in stage/lib. => clash.

So explicitly specifying the properties leads to the right solution.

I cross-mail this to the Boost.Build list to see if someone has a solution.

Yours,

Jürgen

-- 
* Dipl.-Math. Jürgen Hunold  ! 
* voice: ++49 4257 300       ! Fährstraße 1
* fax  : ++49 4257 300       ! 31609 Balge/Sebbenhausen
* jhunold_at_gmx.eu             ! Germany

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk