Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.

failure to build boost with Composer 2013 SP1

Slawek_S_
Beginner
444 Views

Hi,

I have problems building boost (1.53) with the beta of Composer 2013 SP1 running on Windows 8 with Visual Studio 2012 Professional installed. Within "Intel 64 Visual Studio 2012 mode" command prompt, in the boost download directory I executed

bootstrap intel-win32

The first part of the script (compilation) succeeds, but then the script fails and in the bootstrap log I can see

...

C:\boost\boost_1_53_0\tools\build\v2\engine>.\bootstrap\jam0 -f build.jam --toolset=intel-win32 "--toolset-root= " -win32 clean

Invalid option: -w

...

followed by another failure

C:\boost\boost_1_53_0\tools\build\v2\engine>.\bootstrap\jam0 -f build.jam --toolset=intel-win32 "--toolset-root= " -win32

Invalid option: -w

So, how to do it?

 

Regards,

Slawek

 

0 Kudos
12 Replies
SergeyKostrov
Valued Contributor II
444 Views
>>Invalid option: -w >>... Here is a quote from GCC C++ compiler docs: ... -w Suppress warnings ... It looks like the option for GCC C++ compiler. >>So, how to do it? Remove it try to re-build.
0 Kudos
SergeyKostrov
Valued Contributor II
444 Views
In case of Intel and Microsoft C++ compilers it should look like: /w Disables all compiler warnings
0 Kudos
Slawek_S_
Beginner
444 Views

Hi Sergey,

Thanks for your help, but actually I do not see -w option on the command line, I see -win32 and suspect that jam0 takes the first letter of it as -w.

Regards,

Slawek

0 Kudos
SergeyKostrov
Valued Contributor II
444 Views
Hi Slawek, >>... I see -win32 and suspect that jam0 takes the first letter of it as -w. In that case it looks like a problem with jam0 utility ( I also see that it had lots of different issues / problems in the past... ). Does jam0 have a command line help?
0 Kudos
Slawek_S_
Beginner
444 Views

Hi,

Problem of jam0? Or rather a problem of script/whatever calls jam0 with these incorrect parameters?

BTW, by comparing this log to a log of a successful build using MS compiler, I can see that -win32 is not used, it looks like this

bootstrap\jam0 -f build.jam --toolset=vc11 "--toolset-root=C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools\..\..\VC\ "  clean

So, I executed

bootstrap\jam0 -f build.jam --toolset=intel-win32 "--toolset-root= " clean

and it worked, but trying to to the same for the second invocation of jam0, and executing

bootstrap\jam0 -f build.jam --toolset=intel-win32 "--toolset-root= "

caused jam0 crash.

Regards,

Slawek

 

0 Kudos
SergeyKostrov
Valued Contributor II
444 Views
>>...and it worked, but trying to to the same for the second invocation of jam0, and executing... >>... >>caused jam0 crash... Slawek, Could you ask for some support on a Boost forum(s)? Since Boost is a widely used library I don't think you're the only person who experienced a problem with the Jam0 utility. Thanks.
0 Kudos
TimP
Honored Contributor III
444 Views
0 Kudos
JenniferJ
Moderator
444 Views

See this article on building boost on Windows: http://software.intel.com/en-us/articles/building-boost-with-intel-c/

And this thread on a building issue: http://software.intel.com/en-us/forums/topic/280922

Jennifer

0 Kudos
Slawek_S_
Beginner
444 Views

Hi,

I succeeded eventually with some small hacking, Windows7 and Visual Studio 2010. (so, it appears that either Windows 8 or Visual Studio 2012 is to blame). Steps followed

1. Download boost. In "Intel 64 Visual Studio 2010 mode" command prompt go to the root of the downloaded boost  (e.g. D:\boost\boost_1_53_0) and execute

bootstrap intel-win32

This will fail, as reported above (BTW, I do not believe that this has anything to do with some -w option, rather "intel-win32" is split and "-win32" passed as an incorrect argument).

So, go to the the boost build engine directory e.g. D:\boost\boost_1_53_0\tools\build\v2\engine and execute the command without "-win32", first

bootstrap\jam0 -f build.jam --toolset=intel-win32 "--toolset-root= " clean

and then

bootstrap\jam0 -f build.jam --toolset=intel-win32 "--toolset-root= "

Both will hopefully succeed. Then go back to the root of your boost, e.g. D:\boost\boost_1_53_0 and copy and edit bootstrap.bat script. Comment out or delete first few lines including

call .\build.bat %* > ..\..\..\..\bootstrap.log @ECHO OFF

popd

and the execute the rest of the script.

Now you could run b2 to get the 32-bit boost, but if you want 64-bit version, execute something like this:

bjam.exe --prefix=d:\boost\intel toolset=intel-win32 address-model=64 variant=debug,release link=static,shared threading=multi install

which hopefully will succeed. d:\boost\intel in the example above is the dir where you want bjam to create inlude and lib directories - your new boost root.

 

Good luck,

Slawek

0 Kudos
Slawek_S_
Beginner
444 Views

Ah, forgotten one point. Before final building, go to the compiler location, e.g. C:\Program Files (x86)\Intel\Composer XE 2013 SP1\bin and copy iclvars.bat into the intel64 subdirectory (I assume you want to get 64-bit version, did not test for 32-bit version of the Boost)

Good luck again,

Slawek

0 Kudos
SergeyKostrov
Valued Contributor II
444 Views
Thank you for these instructions and it is good that they help to get around that problem with the Jam0 utility.
0 Kudos
Robert_L_1
Beginner
444 Views

Thank you for posting these instructions.  Helped me.

0 Kudos
Reply