Intel® C++ Compiler
Support and discussions for creating C++ code that runs on platforms based on Intel® processors.
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!
7568 Discussions

Building newest boost 1.73 fails with 19.1

Przemysław_O_
Beginner
875 Views

Hello,

i try to build newest boost libraries, version 1.73 with Intel C++ 19.1 update 1 and Visual C++ 16.5.5 (also with 16.5.4). For example filesystem library.

Command line:

.\b2 architecture=x86 address-model=32 stage --build-type=complete --stagedir=address-model-32 --toolset=intel-19.1-vc14.2 --with-filesystem > ..\icpp32.txt

With latest standard:

.\b2 cxxstd=latest architecture=x86 address-model=32 stage --build-type=complete --stagedir=address-model-32 --toolset=intel-19.1-vc14.2 --with-filesystem > ..\icpp32latest.txt

It fails with many errors such as:

C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.25.28610\include\utility(96): error: expected an identifier
          !_Is_implicitly_default_constructible<_Uty1>::value || !_Is_implicitly_default_constructible<_Uty2>::value)
          ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.25.28610\include\utility(95): error: not a valid member class or function template declaration
      constexpr explicit(
      ^

Any clue how to get this work?

Greetings

Przemek

0 Kudos
5 Replies
RahulV_intel
Moderator
875 Views

Hi,

Try running this command from Path_to_boost\boost_1_73_0 directory to build specific Boost library(filesystem in this case).

b2 --build-dir=build --with-filesystem toolset=intel-19.1-vc14.2 --build-type=complete stage

Please make sure to source compilervars.bat from <compiler root> path, to enable Intel compilers before executing the above command.

Let us know, in case you face any issues.

 

--Rahul

 

Przemysław_O_
Beginner
875 Views

Hi,

it does not work either.

Repro

Starting:

"Compiler 19.1 Update 1 for IA-32 Visual Studio 2019 environment" from "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Intel Parallel Studio XE 2020\Compiler and Performance Libraries\Command Prompt with Intel Compiler 19.1 Update 1"

Changing directory to boost root and type:

b2 --build-dir=build --with-filesystem toolset=intel-19.1-vc14.2 --build-type=complete stage > ..\log1.txt

See log file:

C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.25.28610\include\utility(96): error: expected an identifier
          !_Is_implicitly_default_constructible<_Uty1>::value || !_Is_implicitly_default_constructible<_Uty2>::value)
          ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.25.28610\include\utility(95): error: not a valid member class or function template declaration
      constexpr explicit(
      ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.25.28610\include\utility(95): error: "explicit" is not allowed
      constexpr explicit(
      ^

C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.25.28610\include\utility(97): error: expected a ";"
          pair() noexcept(
          ^

and so on.

RahulV_intel
Moderator
875 Views

Hi,

Please follow the below steps and let us know:

 

#Work on a new copy of boost-1.73.0(either extract the earlier downloaded copy to a new directory or download a fresh copy and extract it)
#Source Intel compilers
cd C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2020.0.166\windows\bin (cross check compilers_and_libraries version, it could be different on your machine)
compilervars.bat intel64 vs2019 (to source compiler)
cd path_to_boost\boost_1_73_0 (Fresh copy of extracted boost library)
mkdir build
cd tools\build
bootstrap.bat (run this bat file to generate b2 build)
cd ..\..
tools\build\b2 --build-dir=build --with-filesystem toolset=intel-19.1-vc14.2 --build-type=complete stage

After following these steps, you should be able to see an output similar to this at the end:

build\boost\bin.v2\libs\filesystem\build\intel-vc14.2-win-19.1\release\address-model-64\threading-multi\boost_filesystem
-iw-mt-x64-1_73.dll
        1 file(s) copied.
common.copy C:\Users\rvaidyax\Downloads\New folder\boost_1_73_0\boost_1_73_0\stage\lib\cmake\boost_filesystem-1.73.0\lib
boost_filesystem-variant-iw-mt-x64-1_73-shared.cmake
build\boost\bin.v2\libs\filesystem\build\intel-vc14.2-win-19.1\release\address-model-64\threading-multi\libboost_filesystem-variant-iw-mt-x64-1_73-shared.cmake
        1 file(s) copied.
...updated 234 targets...

Let us know if you face any issues.

 

--Rahul

RahulV_intel
Moderator
875 Views

Hi,

Let us know if the solution provided worked.

 

RahulV_intel
Moderator
875 Views

Hi,

We are closing this thread, assuming that the solution provided has helped. Feel free to raise a new thread if the issue persists.

 

 

Reply