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

Error MSB6006 since last Intel Parallel Studio update

Hamza_C_
Beginner
533 Views

Hi,

This morning, I installed the last Intel Professionel Edition for C++ 2015 update.
After that, I started getting an error every time I tried to compile my main project :

1>------ Build started: Project: libCommonRT, Configuration: Release x64 ------
1>Build started 05/05/2015 10:42:55.
1>InitializeBuildStatus:
1>  Touching "x64\Release\libCommonRT\libCommonRT.tlog\unsuccessfulbuild".
1>MessageBuildingWithCompiler:
1>  Building with Intel(R) C++ Compiler XE 15.0
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Platforms\x64\PlatformToolsets\Intel C++ Compiler XE 15.0\ImportAfter\Intel.Libs.TBB.Intel C++ Compiler XE 15.0.targets(37,5): warning : Could not expand TBBIncludeDir variable. The registry information may be incorrect.
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Platforms\x64\PlatformToolsets\Intel C++ Compiler XE 15.0\ImportAfter\Intel.Libs.TBB.Intel C++ Compiler XE 15.0.targets(38,5): warning : Could not expand TBBLibDir variable. The registry information may be incorrect.
1>ClCompile:
1>  ***** ClCompile (x64 - Intel C++)
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Platforms\x64\PlatformToolsets\Intel C++ Compiler XE 15.0\Toolset.targets(355,5): error MSB6006: "icl.exe" exited with code -1073741515.
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:00.07
========== Build: 0 succeeded, 1 failed, 1 up-to-date, 0 skipped ==========

It compiles fine using Microsoft Visual C++ compiler.

It appears that even a simple "Hello World!" project reproduces the error if compiled for x64 target. I attached this project that does not compile using Intel C++ Compiler for a x64 target, with the same error :

1>------ Build started: Project: Project2, Configuration: Release x64 ------
1>Build started 05/05/2015 10:55:29.
1>PrepareForBuild:
1>  Creating directory "C:\Users\hc237996\Documents\Visual Studio 2013\Projects\Project2\x64\Release\".
1>  Creating directory "x64\Release\Project2.tlog\".
1>InitializeBuildStatus:
1>  Creating "x64\Release\Project2.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
1>MessageBuildingWithCompiler:
1>  Building with Intel(R) C++ Compiler XE 15.0
1>ClCompile:
1>  ***** ClCompile (x64 - Intel C++)
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Platforms\x64\PlatformToolsets\Intel C++ Compiler XE 15.0\Toolset.targets(355,5): error MSB6006: "icl.exe" exited with code -1073741515.
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:00.66
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

It does compile for a Win32 target. I tried restarting my computer after last updates but it did not change anything.
Have anyone met this same problem after last update?

Thanks,
Hamza

0 Kudos
6 Replies
Mike_C1
Beginner
533 Views

Possibly related TBB msbuild integration problem since 2015 update 3:

I'm getting what may be a related problem. Only happened since updating to Parallel studio 2015 update 3. Only affects projects using TBB.

vs2010 projects using TBB won't load giving the error below. Uninstalling all Intel tools made the error go away. Reinstalling 2015 update 3 made the error come back.

 

 : error  : An unexpected token "$(TBBPath)" was found at character position 68 in condition "'$(UseIntelTBB)' == 'true' AND Exists('$(_TBBCombinedPath)\\vc10') '$(TBBPath)' == ''".  C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\PlatformToolsets\v100\ImportAfter\Intel.Libs.TBB.v100.props

 

I've pasted the referenced msbuild file below. I don't understand msbuild well enough to diagnose the problem. Has something changed in the update 3 TBB MSBuild integration? I don't have a pre-update copy to compare against.

 

 

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

  <!-- Defaults -->

  <PropertyGroup Condition="'$(PlatformToolset)' == 'v100'">

    <UseIntelTBB Condition="'$(UseIntelTBB)' == ''">false</UseIntelTBB>
    <InstrumentIntelTBB Condition="'$(InstrumentIntelTBB)' == ''">false</InstrumentIntelTBB>
  </PropertyGroup>


  <!-- Environment -->
  <PropertyGroup Condition="'$(UseIntelTBB)' == 'true' AND '$(PlatformToolset)' == 'v100'">
    <ICPlatform>EM64T</ICPlatform>
    <IntelPlatform>intel64</IntelPlatform>

    <_TBBSubKey>$([MSBuild]::GetRegistryValue('HKEY_CURRENT_USER\Software\Intel\Suites\SelectedTools\VS2010\TBB\$(ICPlatform)', 'SubKey'))</_TBBSubKey>
    <_TBBSubKey Condition="'$(_TBBSubKey)'==''">$([MSBuild]::GetRegistryValueFromView('HKEY_LOCAL_MACHINE\SOFTWARE\Intel\Suites\Defaults\$(ICPlatform)', 'TBBSubKey', null, RegistryView.Registry32))</_TBBSubKey>

    <TBBIncludeDir>$([MSBuild]::GetRegistryValueFromView('HKEY_LOCAL_MACHINE\SOFTWARE\Intel\Suites\$(_TBBSubKey)\TBB\$(ICPlatform)', 'IncludeDir', null, RegistryView.Registry32))</TBBIncludeDir>
    <_TBBSubKey Condition="'$(TBBIncludeDir)'==''">$([MSBuild]::GetRegistryValueFromView('HKEY_LOCAL_MACHINE\SOFTWARE\Intel\Suites\Defaults\$(ICPlatform)', 'TBBSubKey', null, RegistryView.Registry32))</_TBBSubKey>
    <TBBIncludeDir Condition="'$(TBBIncludeDir)'==''">$([MSBuild]::GetRegistryValueFromView('HKEY_LOCAL_MACHINE\SOFTWARE\Intel\Suites\$(_TBBSubKey)\TBB\$(ICPlatform)', 'IncludeDir', null, RegistryView.Registry32))</TBBIncludeDir>

    <IncludePath Condition="'$(UseIntelTBB)' == 'true' AND '$(UseEnv)' != 'true'">$(TBBIncludeDir);$(IncludePath)</IncludePath>
    <TBBLibDir>$([MSBuild]::GetRegistryValueFromView('HKEY_LOCAL_MACHINE\SOFTWARE\Intel\Suites\$(_TBBSubKey)\TBB\$(ICPlatform)', 'LibDir', null, RegistryView.Registry32))</TBBLibDir>

    <_TBBCombinedPath Condition="'$(UseIntelTBB)' == 'true'">$([System.IO.Path]::Combine($(TBBIncludeDir), ..\..\redist\$(IntelPlatform)\tbb))</_TBBCombinedPath>
    <_TBBCombinedPath Condition="'$(UseIntelTBB)' == 'true' AND '$(_TBBCombinedPath)' !=''">$([System.IO.Path]::GetFullPath($(_TBBCombinedPath)))</_TBBCombinedPath>

    <TBBPath Condition="'$(UseIntelTBB)' == 'true' AND '$(BasePlatformToolset)' == 'v90' AND Exists('$(_TBBCombinedPath)\vc9')">$(_TBBCombinedPath)\vc9;</TBBPath>
    <TBBPath Condition="'$(UseIntelTBB)' == 'true' AND Exists('$(_TBBCombinedPath)\\vc10') '$(TBBPath)' == ''">$(_TBBCombinedPath)\vc10;</TBBPath>
    <LibraryPath Condition="'$(UseIntelTBB)' == 'true' AND '$(BasePlatformToolset)' == 'v90' AND Exists('$(TBBLibDir)\vc9') AND '$(UseEnv)' != 'true'">$(TBBLibDir)\vc9;$(LibraryPath)</LibraryPath>
    <LibraryPath Condition="'$(UseIntelTBB)' == 'true' AND ('$(BasePlatformToolset)' != 'v90' OR !Exists('$(TBBLibDir)\vc9')) AND '$(UseEnv)' != 'true'">$(TBBLibDir)\vc10;$(LibraryPath)</LibraryPath>
  </PropertyGroup>

</Project>

 

0 Kudos
Mike_C1
Beginner
533 Views

Think I've found the problem. There is an AND or an OR missing before TBBPATH in the following line in that props file

 

AND Exists('$(_TBBCombinedPath)\\vc10') '$(TBBPath)' == ''">$(_TBBCombinedPath)

 

Should it be an AND or OR?

Is this an installation bug? It happened before and after a complete reinstall of 2015 update 3.

0 Kudos
Hamza_C_
Beginner
533 Views

Yes, I guess it would explain the problem. I got back to update 2 and here is my version of the file :

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

  <!-- Defaults -->

  <PropertyGroup Condition="'$(PlatformToolset)' == 'v100'">

    <UseIntelTBB Condition="'$(UseIntelTBB)' == ''">false</UseIntelTBB>
    <InstrumentIntelTBB Condition="'$(InstrumentIntelTBB)' == ''">false</InstrumentIntelTBB>
  </PropertyGroup>


  <!-- Environment -->
  <PropertyGroup Condition="'$(UseIntelTBB)' == 'true' AND '$(PlatformToolset)' == 'v100'">
    <ICPlatform>IA32</ICPlatform>
    <IntelPlatform>ia32</IntelPlatform>

    <_TBBSubKey>$([MSBuild]::GetRegistryValue('HKEY_CURRENT_USER\Software\Intel\Suites\SelectedTools\VS2010\TBB\$(ICPlatform)', 'SubKey'))</_TBBSubKey>
    <_TBBSubKey Condition="'$(_TBBSubKey)'==''">$([MSBuild]::GetRegistryValueFromView('HKEY_LOCAL_MACHINE\SOFTWARE\Intel\Suites\Defaults\$(ICPlatform)', 'TBBSubKey', null, RegistryView.Registry32))</_TBBSubKey>

    <TBBIncludeDir>$([MSBuild]::GetRegistryValueFromView('HKEY_LOCAL_MACHINE\SOFTWARE\Intel\Suites\$(_TBBSubKey)\TBB\$(ICPlatform)', 'IncludeDir', null, RegistryView.Registry32))</TBBIncludeDir>
    <_TBBSubKey Condition="'$(TBBIncludeDir)'==''">$([MSBuild]::GetRegistryValueFromView('HKEY_LOCAL_MACHINE\SOFTWARE\Intel\Suites\Defaults\$(ICPlatform)', 'TBBSubKey', null, RegistryView.Registry32))</_TBBSubKey>
    <TBBIncludeDir Condition="'$(TBBIncludeDir)'==''">$([MSBuild]::GetRegistryValueFromView('HKEY_LOCAL_MACHINE\SOFTWARE\Intel\Suites\$(_TBBSubKey)\TBB\$(ICPlatform)', 'IncludeDir', null, RegistryView.Registry32))</TBBIncludeDir>

    <IncludePath Condition="'$(UseIntelTBB)' == 'true' AND '$(UseEnv)' != 'true'">$(TBBIncludeDir);$(IncludePath)</IncludePath>
    <TBBLibDir>$([MSBuild]::GetRegistryValueFromView('HKEY_LOCAL_MACHINE\SOFTWARE\Intel\Suites\$(_TBBSubKey)\TBB\$(ICPlatform)', 'LibDir', null, RegistryView.Registry32))</TBBLibDir>

    <_TBBCombinedPath Condition="'$(UseIntelTBB)' == 'true'">$([System.IO.Path]::Combine($(TBBIncludeDir), ..\..\redist\$(IntelPlatform)\tbb))</_TBBCombinedPath>
    <_TBBCombinedPath Condition="'$(UseIntelTBB)' == 'true' AND '$(_TBBCombinedPath)' !=''">$([System.IO.Path]::GetFullPath($(_TBBCombinedPath)))</_TBBCombinedPath>

    <TBBPath Condition="'$(UseIntelTBB)' == 'true' AND '$(BasePlatformToolset)' == 'v90' AND Exists('$(_TBBCombinedPath)\vc9')">$(_TBBCombinedPath)\vc9;</TBBPath>
    <TBBPath Condition="'$(UseIntelTBB)' == 'true' AND '$(TBBPath)' == ''">$(_TBBCombinedPath)\vc10;</TBBPath>
    <LibraryPath Condition="'$(UseIntelTBB)' == 'true' AND '$(BasePlatformToolset)' == 'v90' AND Exists('$(TBBLibDir)\vc9') AND '$(UseEnv)' != 'true'">$(TBBLibDir)\vc9;$(LibraryPath)</LibraryPath>
    <LibraryPath Condition="'$(UseIntelTBB)' == 'true' AND ('$(BasePlatformToolset)' != 'v90' OR !Exists('$(TBBLibDir)\vc9')) AND '$(UseEnv)' != 'true'">$(TBBLibDir)\vc10;$(LibraryPath)</LibraryPath>
  </PropertyGroup>

</Project>

So I assume yours lacks an AND before '$TBBPath)' == ''

0 Kudos
Feilong_H_Intel
Employee
533 Views

Hi Hamza & Mike,

I'm entering this issue to our problem-tracking database.  Thank you for your problem report.

BTW, Update 4 was posted yesterday.  I didn't get a chance to test it yet.  I may want to try if this problem still persists in Update 4.

Thanks.

0 Kudos
Feilong_H_Intel
Employee
533 Views

Engineering team replied me just now that this issue has been fixed in Update 4.

Thanks.

0 Kudos
Hamza_C_
Beginner
533 Views

Indeed, I just made the last update and it works fine.

Thanks!

0 Kudos
Reply