Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.
Announcements
The Intel sign-in experience has changed to support enhanced security controls. If you sign in, click here for more information.
7782 Discussions

failure to build boost with Composer 2013 SP1

Slawek_S_
Beginner
248 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
248 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.
SergeyKostrov
Valued Contributor II
248 Views
In case of Intel and Microsoft C++ compilers it should look like: /w Disables all compiler warnings
Slawek_S_
Beginner
248 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

SergeyKostrov
Valued Contributor II
248 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?
Slawek_S_
Beginner
248 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

 

SergeyKostrov
Valued Contributor II
248 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.
TimP
Black Belt
248 Views
JenniferJ
Moderator
248 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

Slawek_S_
Beginner
248 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

Slawek_S_
Beginner
248 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

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

Thank you for posting these instructions.  Helped me.

Reply