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

Building newest boost 1.73 fails with 19.1

Przemysław_O_
Beginner
1,796 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
1,796 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

 

0 Kudos
Przemysław_O_
Beginner
1,796 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.

0 Kudos
RahulV_intel
Moderator
1,796 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

0 Kudos
RahulV_intel
Moderator
1,796 Views

Hi,

Let us know if the solution provided worked.

 

0 Kudos
RahulV_intel
Moderator
1,796 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.

 

 

0 Kudos
Reply