Boost C++ Libraries: Ticket #5305: Compiling boost 1.46.1 with bjam under Windows 7 using MSVC 2010 and Intel Compiler XE 2011.0.154 https://svn.boost.org/trac10/ticket/5305 <p> I noticed an issue with bjam when trying to compile boost 1.46.1 using MSVC 2010 and Intel Compiler XE 2011. Bjam is trying to execute "C:\Program Files\Intel\ComposerXE-2011\bin\ia21//iclvars.bat" when iclvars.bat is actually located in ""C:\Program Files\Intel\ComposerXE-2011\bin". According to Intel's release notes (<a class="ext-link" href="http://software.intel.com/file/31856"><span class="icon">​</span>http://software.intel.com/file/31856</a>), the build environment command script has been changed (Section 3.4.1) which I have copied/pasted for convenience. </p> <blockquote class="citation"> <p> 3.4.1 Build Environment Command Script Change The command window script used to establish the build environment allows the optional specification of the version of Microsoft Visual Studio to use. If you are not using the predefined Start menu shortcut to open a build environment window, use the following command to establish the proper environment: "&lt;install-dir&gt;\bin\compilervars.bat" arch [vs] Where arch is one of followings as appropriate for the target architecture you want to build for: </p> </blockquote> <blockquote class="citation"> <ul><li>ia32 </li><li>ia32_intel64 </li><li>intel64 </li></ul></blockquote> <blockquote class="citation"> <p> vs is optional and can be one of followings. If vs is not specified, the version of Visual Studio specified at installation time for command-line integration is used by default. </p> </blockquote> <blockquote class="citation"> <ul><li>vs2010 </li><li>vs2008 </li><li>vs2005 </li></ul></blockquote> <blockquote class="citation"> <p> If you also have Intel® Visual Fortran Composer XE 2011 installed, this command will also establish the environment for using that compiler. The script file names iclvars.bat and ifortvars.bat have been retained for compatibility with previous releases. </p> </blockquote> <p> The workaround is to use the predefined start menu shortcut to open a build window for building boost. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/5305 Trac 1.4.3 Edward Rankin <erankin@…> Fri, 01 Jul 2011 08:21:16 GMT <link>https://svn.boost.org/trac10/ticket/5305#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/5305#comment:1</guid> <description> <p> This problem is still present in Boost 1.47 Beta 1 </p> </description> <category>Ticket</category> </item> <item> <author>lelouch <lelouch.g34ss@…></author> <pubDate>Wed, 13 Jul 2011 17:19:02 GMT</pubDate> <title>attachment set https://svn.boost.org/trac10/ticket/5305 https://svn.boost.org/trac10/ticket/5305 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">build_intel_win.patch</span> </li> </ul> <p> Allows build with Intel Composer Studio </p> Ticket lelouch <lelouch.g34ss@…> Wed, 13 Jul 2011 17:19:29 GMT <link>https://svn.boost.org/trac10/ticket/5305#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/5305#comment:2</guid> <description> <p> I have a patch which allows to build boost with Intel Composer Studio. After applying the patch i have the following lines in user-config.jam: path-constant intel-compiler-12 : [ os.environ ICPP_COMPILER12 ] ; </p> <p> using intel : 12.0 : $(intel-compiler-12)/bin/ia32/icl.exe : &lt;compatibility&gt;vc10 &lt;cxxflags&gt;/Qstd=c++0x ; </p> <p> The patch is missing the 64-bit build. Another problem what i encountered that it is not possible to build boost with multiple visual studio versions. And what would be cleaned up for patch to be applied? </p> </description> <category>Ticket</category> </item> <item> <author>Joshua Boyce <raptorfactor@…></author> <pubDate>Sun, 17 Jul 2011 14:54:26 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/5305#comment:3 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/5305#comment:3</guid> <description> <p> If someone can come up with a full patch for both x86 and x64 I'd gladly test it on my machine. I'd love to see ICC working for BBv2 ASAP. </p> </description> <category>Ticket</category> </item> <item> <author>Edward Rankin <erankin@…></author> <pubDate>Mon, 18 Jul 2011 07:16:50 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/5305#comment:4 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/5305#comment:4</guid> <description> <p> Just in case you are not aware, ICL already works without making any changes. You will need to open the command prompt shortcut provided by Intel which will load all the necessary environment variables required to compile. </p> </description> <category>Ticket</category> </item> <item> <author>Joshua Boyce <raptorfactor@…></author> <pubDate>Mon, 18 Jul 2011 13:07:17 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/5305#comment:5 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/5305#comment:5</guid> <description> <p> Ah okay, thanks. I'll have to modify my build process to do that, but it shouldn't be too hard to automate. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Edward</dc:creator> <pubDate>Mon, 18 Jul 2011 14:51:01 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/5305#comment:6 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/5305#comment:6</guid> <description> <p> This really should be fixed, but at least there is a workaround. I am not sure I have the time to dig through Boost Build to apply a proper fix, so hopefully someone knowledgeable about it can figure out a proper patch. </p> </description> <category>Ticket</category> </item> <item> <author>lelouch <lelouch.g34ss@…></author> <pubDate>Tue, 02 Aug 2011 17:16:25 GMT</pubDate> <title>attachment set https://svn.boost.org/trac10/ticket/5305 https://svn.boost.org/trac10/ticket/5305 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">build_intel_win_v2.patch</span> </li> </ul> <p> revised patch should support 64 and 32 bit </p> Ticket lelouch <lelouch.g34ss@…> Tue, 02 Aug 2011 17:19:16 GMT <link>https://svn.boost.org/trac10/ticket/5305#comment:7 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/5305#comment:7</guid> <description> <p> The new patch should allow 64 &amp; 32 bit builds like msvc as i used the msvc.jam as example. I haven't got the chance to test the 64-bit. Would be nice if anyone of you could try it. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>anonymous</dc:creator> <pubDate>Fri, 16 Dec 2011 11:28:18 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/5305#comment:8 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/5305#comment:8</guid> <description> <p> Replying to <a class="ticket" href="https://svn.boost.org/trac10/ticket/5305#comment:7" title="Comment 7">lelouch &lt;lelouch.g34ss@…&gt;</a>: </p> <blockquote class="citation"> <p> The new patch should allow 64 &amp; 32 bit builds like msvc as i used the msvc.jam as example. I haven't got the chance to test the 64-bit. Would be nice if anyone of you could try it. </p> </blockquote> <p> Does not work with V12.1 (build 258) of the compiler. Maybe please repost current intel-win.jam file and build command used. </p> </description> <category>Ticket</category> </item> <item> <author>lelouch <lelouch.g34ss@…></author> <pubDate>Sat, 14 Jan 2012 12:37:51 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/5305#comment:9 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/5305#comment:9</guid> <description> <p> What doesn't work? For the 64-bit build you need a 64-bit bjam, because of the variable that is checked if it should build native 64-bit or cross compile. Perhaps someone knows a reliable way to determine if the os is 32-bit or 64-bit. To build bjam as a 64-bit version i executed the following command: F:\Libs\boost_1_48_0\tools\build\v2\engine&gt;build vc10 amd64 </p> <p> In the config.jam i have the following line: using intel : 12.1 : "C:/Program Files (x86)<a class="missing wiki">/Intel/Composer</a> XE 2011 SP1/bin/ia32/icl.exe" : &lt;compatibility&gt;vc10 &lt;cxxflags&gt;"/Qstd=c++0x /Qipo" &lt;define&gt;_CRT_SECURE_NO_WARNINGS ; </p> <p> To build the 32-bit dlls: F:\Libs\boost_1_48_0&gt;.\tools\build\v2\engine\bin.ntx86_64\bjam.exe -j8 --toolset=intel --user-config=config.jam variant=debug variant=release threading=multi link=shared runtime-link=shared address-model=32 --without-mpi --without-python stage </p> <p> To build the 64-bit dlls F:\Libs\boost_1_48_0&gt;.\tools\build\v2\engine\bin.ntx86_64\bjam.exe -j8 --toolset=intel --user-config=config.jam --stagedir=stage64 variant=debug variant=release threading=multi link=shared runtime-link=shared address-model=64 --without-mpi--without-python stage </p> <p> Hope this helps. I'm also attaching the whole intel-win.jam </p> </description> <category>Ticket</category> </item> <item> <author>lelouch <lelouch.g34ss@…></author> <pubDate>Sat, 14 Jan 2012 12:39:42 GMT</pubDate> <title>attachment set https://svn.boost.org/trac10/ticket/5305 https://svn.boost.org/trac10/ticket/5305 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">intel-win.jam</span> </li> </ul> <p> Modified intel-win.jam </p> Ticket anonymous Mon, 30 Jan 2012 13:50:53 GMT <link>https://svn.boost.org/trac10/ticket/5305#comment:10 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/5305#comment:10</guid> <description> <p> Replying to <a class="ticket" href="https://svn.boost.org/trac10/ticket/5305#comment:9" title="Comment 9">lelouch &lt;lelouch.g34ss@…&gt;</a>: </p> <blockquote class="citation"> <p> What doesn't work? For the 64-bit build you need a 64-bit bjam, because of the variable that is checked if it should build native 64-bit or cross compile. Perhaps someone knows a reliable way to determine if the os is 32-bit or 64-bit. To build bjam as a 64-bit version i executed the following command: F:\Libs\boost_1_48_0\tools\build\v2\engine&gt;build vc10 amd64 </p> <p> In the config.jam i have the following line: using intel : 12.1 : "C:/Program Files (x86)<a class="missing wiki">/Intel/Composer</a> XE 2011 SP1/bin/ia32/icl.exe" : &lt;compatibility&gt;vc10 &lt;cxxflags&gt;"/Qstd=c++0x /Qipo" &lt;define&gt;_CRT_SECURE_NO_WARNINGS ; </p> <p> To build the 32-bit dlls: F:\Libs\boost_1_48_0&gt;.\tools\build\v2\engine\bin.ntx86_64\bjam.exe -j8 --toolset=intel --user-config=config.jam variant=debug variant=release threading=multi link=shared runtime-link=shared address-model=32 --without-mpi --without-python stage </p> <p> To build the 64-bit dlls F:\Libs\boost_1_48_0&gt;.\tools\build\v2\engine\bin.ntx86_64\bjam.exe -j8 --toolset=intel --user-config=config.jam --stagedir=stage64 variant=debug variant=release threading=multi link=shared runtime-link=shared address-model=64 --without-mpi--without-python stage </p> <p> Hope this helps. I'm also attaching the whole intel-win.jam </p> </blockquote> <p> Ok... I'll re-test asap; probably next week. Just one question: Can you please take look at line 125 of the file? Is this intended or does a 'newline' simply not matter in JAM files? </p> </description> <category>Ticket</category> </item> <item> <author>lelouch <lelouch.g34ss@…></author> <pubDate>Wed, 15 Feb 2012 11:30:57 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/5305#comment:11 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/5305#comment:11</guid> <description> <p> The linebreak is already in the original file. I don't know the intent of it. </p> </description> <category>Ticket</category> </item> </channel> </rss>