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@gmx.eu ! Germany