Problem using multiple intel-win toolsets using Boost Build 'develop' branch

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Problem using multiple intel-win toolsets using Boost Build 'develop' branch

Boost - Build mailing list
I have multiple versions of Intel C++ for Windows installed. In my
user-config.jam the toolset definitions are:

using intel-win : 19.0 :
     :
     <compatibility>vc14.2
 
<root>"C:/Utilities/IntelSWTools/parallel_studio_xe_2019/compilers_and_libraries_2019/windows/bin"
     <rewrite-setup-scripts>off
     <cxxflags>"/Qdiag-disable:2415,367,3280,177"
     ;

using intel-win : 18.0 :
     :
     <compatibility>vc14.1
 
<root>"C:/Utilities/IntelSWTools/parallel_studio_xe_2018/compilers_and_libraries_2018/windows/bin"
     <rewrite-setup-scripts>off
     <cxxflags>"/Qdiag-disable:2415,367,3280,177,3346"
     ;

I can run tests successfully specifying toolset=intel-win-19.0, but I
can not run tests at all specifying toolset=intel-win-18.0. This has
nothing to do with any differences in the toolset definition between
19.0 and 18.0. If I switch the order of the toolset definitions then
18.0 runs successfully and 19.0 does not run at all.

What I mean by not running at all is that the compilation and link
commands are missing the actual commands, and just show the command
parameters. I have debugged the situation through the intel-win.init
rule and everything is set up correctly in both cases. Also showing the
relative portion of --debug-configuration output we have:

notice: will use
'C:\Utilities\IntelSWTools\compilers_and_libraries_2019.5.281\windows\bin\intel64\icl.exe'
for intel-win, condition <toolset>intel-win-19.0-vc14.2
notice: [intel-cfg] condition:
'<toolset>intel-win-19.0-vc14.2/<architecture>/<address-model>', setup:
'call
"C:\Utilities\IntelSWTools\parallel_studio_xe_2019\compilers_and_libraries_2019\windows\bin\iclvars.bat"
ia32 vs2019 > nul'
notice: [intel-cfg] condition:
'<toolset>intel-win-19.0-vc14.2/<architecture>/<address-model>32',
setup: 'call
"C:\Utilities\IntelSWTools\parallel_studio_xe_2019\compilers_and_libraries_2019\windows\bin\iclvars.bat"
ia32 vs2019 > nul'
notice: [intel-cfg] condition:
'<toolset>intel-win-19.0-vc14.2/<architecture>x86/<address-model>',
setup: 'call
"C:\Utilities\IntelSWTools\parallel_studio_xe_2019\compilers_and_libraries_2019\windows\bin\iclvars.bat"
ia32 vs2019 > nul'
notice: [intel-cfg] condition:
'<toolset>intel-win-19.0-vc14.2/<architecture>x86/<address-model>32',
setup: 'call
"C:\Utilities\IntelSWTools\parallel_studio_xe_2019\compilers_and_libraries_2019\windows\bin\iclvars.bat"
ia32 vs2019 > nul'
notice: [intel-cfg] condition:
'<toolset>intel-win-19.0-vc14.2/<architecture>/<address-model>64',
setup: 'call
"C:\Utilities\IntelSWTools\parallel_studio_xe_2019\compilers_and_libraries_2019\windows\bin\iclvars.bat"
intel64 vs2019 > nul'
notice: [intel-cfg] condition:
'<toolset>intel-win-19.0-vc14.2/<architecture>x86/<address-model>64',
setup: 'call
"C:\Utilities\IntelSWTools\parallel_studio_xe_2019\compilers_and_libraries_2019\windows\bin\iclvars.bat"
intel64 vs2019 > nul'
notice: will use
'C:\Utilities\IntelSWTools\compilers_and_libraries_2018.5.274\windows\bin\intel64\icl.exe'
for intel-win, condition <toolset>intel-win-18.0-vc14.1
notice: [intel-cfg] condition:
'<toolset>intel-win-18.0-vc14.1/<architecture>/<address-model>', setup:
'call
"C:\Utilities\IntelSWTools\parallel_studio_xe_2018\compilers_and_libraries_2018\windows\bin\iclvars.bat"
ia32 vs2017 > nul'
notice: [intel-cfg] condition:
'<toolset>intel-win-18.0-vc14.1/<architecture>/<address-model>32',
setup: 'call
"C:\Utilities\IntelSWTools\parallel_studio_xe_2018\compilers_and_libraries_2018\windows\bin\iclvars.bat"
ia32 vs2017 > nul'
notice: [intel-cfg] condition:
'<toolset>intel-win-18.0-vc14.1/<architecture>x86/<address-model>',
setup: 'call
"C:\Utilities\IntelSWTools\parallel_studio_xe_2018\compilers_and_libraries_2018\windows\bin\iclvars.bat"
ia32 vs2017 > nul'
notice: [intel-cfg] condition:
'<toolset>intel-win-18.0-vc14.1/<architecture>x86/<address-model>32',
setup: 'call
"C:\Utilities\IntelSWTools\parallel_studio_xe_2018\compilers_and_libraries_2018\windows\bin\iclvars.bat"
ia32 vs2017 > nul'
notice: [intel-cfg] condition:
'<toolset>intel-win-18.0-vc14.1/<architecture>/<address-model>64',
setup: 'call
"C:\Utilities\IntelSWTools\parallel_studio_xe_2018\compilers_and_libraries_2018\windows\bin\iclvars.bat"
intel64 vs2017 > nul'
notice: [intel-cfg] condition:
'<toolset>intel-win-18.0-vc14.1/<architecture>x86/<address-model>64',
setup: 'call
"C:\Utilities\IntelSWTools\parallel_studio_xe_2018\compilers_and_libraries_2018\windows\bin\iclvars.bat"
intel64 vs2017 > nul'

which is all correct for both 19.0 and 18.0. But like I said I verified
by using the Boost Build debugger that the configuration initialization
( intel-win.init ) is correct in what it does for both toolsets.

But looking at the output also with -d2 everything further refers to
'intel-vc14.2-win-18.0' rather than 'intel-vc14.1-win-18.0', and I think
that is why the compilation and link commands do not have the actual
commands but just the parameters.

file
C:\Programming\build\modular-boost\boost\bin.v2\libs\preprocessor\test\cpp_standard.test\intel-vc14.2-win-18.0\debug\address-model-64\threading-multi\cpp_standard.obj.rsp
"cpp_standard.cpp"
-Fo"C:\Programming\build\modular-boost\boost\bin.v2\libs\preprocessor\test\cpp_standard.test\intel-vc14.2-win-18.0\debug\address-model-64\threading-multi\cpp_standard.obj"
    -TP /Z7 /Od /Ob0 /W3 /GR /MDd /EHs -c
-DBOOST_ALL_NO_LIB=1
"-I..\..\.."
compile-c-c++
C:\Programming\build\modular-boost\boost\bin.v2\libs\preprocessor\test\cpp_standard.test\intel-vc14.2-win-18.0\debug\address-model-64\threading-multi\cpp_standard.obj

 
@"C:\Programming\build\modular-boost\boost\bin.v2\libs\preprocessor\test\cpp_standard.test\intel-vc14.2-win-18.0\debug\address-model-64\threading-multi\cpp_standard.obj.rsp"



file
C:\Programming\build\modular-boost\boost\bin.v2\libs\preprocessor\test\cpp_standard.test\intel-vc14.2-win-18.0\debug\address-model-64\threading-multi\cpp_standard.exe.rsp

"C:\Programming\build\modular-boost\boost\bin.v2\libs\preprocessor\test\cpp_standard.test\intel-vc14.2-win-18.0\debug\address-model-64\threading-multi\cpp_standard.obj"

intel-win.link
C:\Programming\build\modular-boost\boost\bin.v2\libs\preprocessor\test\cpp_standard.test\intel-vc14.2-win-18.0\debug\address-model-64\threading-multi\cpp_standard.exe

           /DEBUG /subsystem:console
/out:"C:\Programming\build\modular-boost\boost\bin.v2\libs\preprocessor\test\cpp_standard.test\intel-vc14.2-win-18.0\debug\address-model-64\threading-multi\cpp_standard.exe"
 
@"C:\Programming\build\modular-boost\boost\bin.v2\libs\preprocessor\test\cpp_standard.test\intel-vc14.2-win-18.0\debug\address-model-64\threading-multi\cpp_standard.exe.rsp"
         if %ERRORLEVEL% NEQ 0 EXIT %ERRORLEVEL%

'/DEBUG' is not recognized as an internal or external command,
operable program or batch file.

Somehow the actual CPU conditions, as reflected in the file placement
above, becomes a mishmash of the 'intel-win-19.0-vc14.2' and the
'intel-win-18.0-vc14.1' to form 'intel-win-18.0-vc14.2', and naturally
there are no .SETUP, .CC, or .LD for this mishmash case so the commands
used lack a setup, compiler, or linker.

Does anybody have an idea what is causing this problem in Boost Build
with multiple intel-win toolsets ? I believe this was previously working
but some fairly recent changes somewhere in the Boost Build logic has
caused this problem. Any pointers of where I can look to see why the
mishmash change is being made using the Boost Build debugger would also
be welcome.

BTW in Windows if I change the toolset name to just 'intel' instead of
'intel-win' and invoke it as 'toolset=intel-18.0' the same problem still
occurs.








_______________________________________________
Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build
Reply | Threaded
Open this post in threaded view
|

Re: Problem using multiple intel-win toolsets using Boost Build 'develop' branch

Boost - Build mailing list
On 11/19/2019 2:17 AM, Edward Diener via Boost-build wrote:

> I have multiple versions of Intel C++ for Windows installed. In my
> user-config.jam the toolset definitions are:
>
> using intel-win : 19.0 :
>      :
>      <compatibility>vc14.2
>
> <root>"C:/Utilities/IntelSWTools/parallel_studio_xe_2019/compilers_and_libraries_2019/windows/bin"
>
>      <rewrite-setup-scripts>off
>      <cxxflags>"/Qdiag-disable:2415,367,3280,177"
>      ;
>
> using intel-win : 18.0 :
>      :
>      <compatibility>vc14.1
>
> <root>"C:/Utilities/IntelSWTools/parallel_studio_xe_2018/compilers_and_libraries_2018/windows/bin"
>
>      <rewrite-setup-scripts>off
>      <cxxflags>"/Qdiag-disable:2415,367,3280,177,3346"
>      ;
>
> I can run tests successfully specifying toolset=intel-win-19.0, but I
> can not run tests at all specifying toolset=intel-win-18.0. This has
> nothing to do with any differences in the toolset definition between
> 19.0 and 18.0. If I switch the order of the toolset definitions then
> 18.0 runs successfully and 19.0 does not run at all.
>
> What I mean by not running at all is that the compilation and link
> commands are missing the actual commands, and just show the command
> parameters. I have debugged the situation through the intel-win.init
> rule and everything is set up correctly in both cases. Also showing the
> relative portion of --debug-configuration output we have:
>
> notice: will use
> 'C:\Utilities\IntelSWTools\compilers_and_libraries_2019.5.281\windows\bin\intel64\icl.exe'
> for intel-win, condition <toolset>intel-win-19.0-vc14.2
> notice: [intel-cfg] condition:
> '<toolset>intel-win-19.0-vc14.2/<architecture>/<address-model>', setup:
> 'call
> "C:\Utilities\IntelSWTools\parallel_studio_xe_2019\compilers_and_libraries_2019\windows\bin\iclvars.bat"
> ia32 vs2019 > nul'
> notice: [intel-cfg] condition:
> '<toolset>intel-win-19.0-vc14.2/<architecture>/<address-model>32',
> setup: 'call
> "C:\Utilities\IntelSWTools\parallel_studio_xe_2019\compilers_and_libraries_2019\windows\bin\iclvars.bat"
> ia32 vs2019 > nul'
> notice: [intel-cfg] condition:
> '<toolset>intel-win-19.0-vc14.2/<architecture>x86/<address-model>',
> setup: 'call
> "C:\Utilities\IntelSWTools\parallel_studio_xe_2019\compilers_and_libraries_2019\windows\bin\iclvars.bat"
> ia32 vs2019 > nul'
> notice: [intel-cfg] condition:
> '<toolset>intel-win-19.0-vc14.2/<architecture>x86/<address-model>32',
> setup: 'call
> "C:\Utilities\IntelSWTools\parallel_studio_xe_2019\compilers_and_libraries_2019\windows\bin\iclvars.bat"
> ia32 vs2019 > nul'
> notice: [intel-cfg] condition:
> '<toolset>intel-win-19.0-vc14.2/<architecture>/<address-model>64',
> setup: 'call
> "C:\Utilities\IntelSWTools\parallel_studio_xe_2019\compilers_and_libraries_2019\windows\bin\iclvars.bat"
> intel64 vs2019 > nul'
> notice: [intel-cfg] condition:
> '<toolset>intel-win-19.0-vc14.2/<architecture>x86/<address-model>64',
> setup: 'call
> "C:\Utilities\IntelSWTools\parallel_studio_xe_2019\compilers_and_libraries_2019\windows\bin\iclvars.bat"
> intel64 vs2019 > nul'
> notice: will use
> 'C:\Utilities\IntelSWTools\compilers_and_libraries_2018.5.274\windows\bin\intel64\icl.exe'
> for intel-win, condition <toolset>intel-win-18.0-vc14.1
> notice: [intel-cfg] condition:
> '<toolset>intel-win-18.0-vc14.1/<architecture>/<address-model>', setup:
> 'call
> "C:\Utilities\IntelSWTools\parallel_studio_xe_2018\compilers_and_libraries_2018\windows\bin\iclvars.bat"
> ia32 vs2017 > nul'
> notice: [intel-cfg] condition:
> '<toolset>intel-win-18.0-vc14.1/<architecture>/<address-model>32',
> setup: 'call
> "C:\Utilities\IntelSWTools\parallel_studio_xe_2018\compilers_and_libraries_2018\windows\bin\iclvars.bat"
> ia32 vs2017 > nul'
> notice: [intel-cfg] condition:
> '<toolset>intel-win-18.0-vc14.1/<architecture>x86/<address-model>',
> setup: 'call
> "C:\Utilities\IntelSWTools\parallel_studio_xe_2018\compilers_and_libraries_2018\windows\bin\iclvars.bat"
> ia32 vs2017 > nul'
> notice: [intel-cfg] condition:
> '<toolset>intel-win-18.0-vc14.1/<architecture>x86/<address-model>32',
> setup: 'call
> "C:\Utilities\IntelSWTools\parallel_studio_xe_2018\compilers_and_libraries_2018\windows\bin\iclvars.bat"
> ia32 vs2017 > nul'
> notice: [intel-cfg] condition:
> '<toolset>intel-win-18.0-vc14.1/<architecture>/<address-model>64',
> setup: 'call
> "C:\Utilities\IntelSWTools\parallel_studio_xe_2018\compilers_and_libraries_2018\windows\bin\iclvars.bat"
> intel64 vs2017 > nul'
> notice: [intel-cfg] condition:
> '<toolset>intel-win-18.0-vc14.1/<architecture>x86/<address-model>64',
> setup: 'call
> "C:\Utilities\IntelSWTools\parallel_studio_xe_2018\compilers_and_libraries_2018\windows\bin\iclvars.bat"
> intel64 vs2017 > nul'
>
> which is all correct for both 19.0 and 18.0. But like I said I verified
> by using the Boost Build debugger that the configuration initialization
> ( intel-win.init ) is correct in what it does for both toolsets.
>
> But looking at the output also with -d2 everything further refers to
> 'intel-vc14.2-win-18.0' rather than 'intel-vc14.1-win-18.0', and I think
> that is why the compilation and link commands do not have the actual
> commands but just the parameters.
>
> file
> C:\Programming\build\modular-boost\boost\bin.v2\libs\preprocessor\test\cpp_standard.test\intel-vc14.2-win-18.0\debug\address-model-64\threading-multi\cpp_standard.obj.rsp
>
> "cpp_standard.cpp"
> -Fo"C:\Programming\build\modular-boost\boost\bin.v2\libs\preprocessor\test\cpp_standard.test\intel-vc14.2-win-18.0\debug\address-model-64\threading-multi\cpp_standard.obj"
>     -TP /Z7 /Od /Ob0 /W3 /GR /MDd /EHs -c
> -DBOOST_ALL_NO_LIB=1
> "-I..\..\.."
> compile-c-c++
> C:\Programming\build\modular-boost\boost\bin.v2\libs\preprocessor\test\cpp_standard.test\intel-vc14.2-win-18.0\debug\address-model-64\threading-multi\cpp_standard.obj
>
>
>
> @"C:\Programming\build\modular-boost\boost\bin.v2\libs\preprocessor\test\cpp_standard.test\intel-vc14.2-win-18.0\debug\address-model-64\threading-multi\cpp_standard.obj.rsp"
>
>
>
> file
> C:\Programming\build\modular-boost\boost\bin.v2\libs\preprocessor\test\cpp_standard.test\intel-vc14.2-win-18.0\debug\address-model-64\threading-multi\cpp_standard.exe.rsp
>
>
> "C:\Programming\build\modular-boost\boost\bin.v2\libs\preprocessor\test\cpp_standard.test\intel-vc14.2-win-18.0\debug\address-model-64\threading-multi\cpp_standard.obj"
>
> intel-win.link
> C:\Programming\build\modular-boost\boost\bin.v2\libs\preprocessor\test\cpp_standard.test\intel-vc14.2-win-18.0\debug\address-model-64\threading-multi\cpp_standard.exe
>
>
>            /DEBUG /subsystem:console
> /out:"C:\Programming\build\modular-boost\boost\bin.v2\libs\preprocessor\test\cpp_standard.test\intel-vc14.2-win-18.0\debug\address-model-64\threading-multi\cpp_standard.exe"
>
> @"C:\Programming\build\modular-boost\boost\bin.v2\libs\preprocessor\test\cpp_standard.test\intel-vc14.2-win-18.0\debug\address-model-64\threading-multi\cpp_standard.exe.rsp"
>
>          if %ERRORLEVEL% NEQ 0 EXIT %ERRORLEVEL%
>
> '/DEBUG' is not recognized as an internal or external command,
> operable program or batch file.
>
> Somehow the actual CPU conditions, as reflected in the file placement
> above, becomes a mishmash of the 'intel-win-19.0-vc14.2' and the
> 'intel-win-18.0-vc14.1' to form 'intel-win-18.0-vc14.2', and naturally
> there are no .SETUP, .CC, or .LD for this mishmash case so the commands
> used lack a setup, compiler, or linker.
>
> Does anybody have an idea what is causing this problem in Boost Build
> with multiple intel-win toolsets ? I believe this was previously working
> but some fairly recent changes somewhere in the Boost Build logic has
> caused this problem. Any pointers of where I can look to see why the
> mishmash change is being made using the Boost Build debugger would also
> be welcome.
>
> BTW in Windows if I change the toolset name to just 'intel' instead of
> 'intel-win' and invoke it as 'toolset=intel-18.0' the same problem still
> occurs.

I created a Boost Build issue about this at
https://github.com/boostorg/build/issues/510.

_______________________________________________
Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build