Trying to build nodejs using Intel C++ Compiler. Not going so well. First I had an issue very similar to https://software.intel.com/en-us/forums/intel-c-compiler/topic/733662 related to ICU and UTF8. I fixed it with -Qoption,cpp,--unicode_source_kind,"UTF-8" (is a utf-8 flag coming soon?)
Now I've hit errors building the v8 directory. Note first that Visual C++ compiler works fine in building nodejs. My issues are best illustrated by actually running vcbuild.bat from the nodejs github repository (to get a Visual Studio solution file), and then opening up the sln generated, converting it to Intel C++, and building it.
Some errors I've been getting
7> Error: function "v8::Isolate::operator delete(void *, size_t={unsigned __int64})" (declared at line 8340 of "..\include/v8.h") cannot be referenced -- it is a deleted function
7>
7> Error: function "v8::Isolate::operator delete[](void *, size_t={unsigned __int64})" (declared at line 8341 of "..\include/v8.h") cannot be referenced -- it is a deleted function
7>
7> Error: function "Isolate::~Isolate(unsigned int)" (declared implicitly) cannot be referenced -- it is a deleted function
.....
7> C:\VS2017\Common7\IDE\VC\VCTargets\Platforms\x64\PlatformToolsets\Intel C++ Compiler 19.0\Toolset.targets(383,5): error MSB6006: "icl.exe" exited with code 2.
...
7> Done executing task "ICL" -- FAILED.
7>Done building target "ClCompile" in project "v8_libsampler.vcxproj" -- FAILED.
...
7>Done building project "v8_libsampler.vcxproj" -- FAILED.
7>Build FAILED.
7>
7>C:\VS2017\Common7\IDE\VC\VCTargets\Platforms\x64\PlatformToolsets\Intel C++ Compiler 19.0\Toolset.targets(383,5): error MSB6006: "icl.exe" exited with code 2.
7> 0 Warning(s)
7> 1 Error(s)
7>
7>Time Elapsed 00:00:03.56
Another set of problems
16> Error: function "v8::Isolate::operator delete(void *, size_t={unsigned __int64})" (declared at line 8340 of "..\include/v8.h") cannot be referenced -- it is a deleted function
16>
16> Error: function "v8::Isolate::operator delete[](void *, size_t={unsigned __int64})" (declared at line 8341 of "..\include/v8.h") cannot be referenced -- it is a deleted function
16>
16> Error: function "Isolate::~Isolate(unsigned int)" (declared implicitly) cannot be referenced -- it is a deleted function
16>
...
16> C:\VS2017\Common7\IDE\VC\VCTargets\Platforms\x64\PlatformToolsets\Intel C++ Compiler 19.0\Toolset.targets(236,5): error MSB6006: "icl.exe" exited with code 2.
16> Done executing task "ICL" -- FAILED.
16>Done building target "ClCompile" in project "v8_base.vcxproj" -- FAILED.
16>
16>Done building project "v8_base.vcxproj" -- FAILED.
16>
.....
19> Error: function "v8::Isolate::operator delete(void *, size_t={unsigned __int64})" (declared at line 8340 of "..\include/v8.h") cannot be referenced -- it is a deleted function
19>
19> Error: function "v8::Isolate::operator delete[](void *, size_t={unsigned __int64})" (declared at line 8341 of "..\include/v8.h") cannot be referenced -- it is a deleted function
19>
19> Error: function "Isolate::~Isolate(unsigned int)" (declared implicitly) cannot be referenced -- it is a deleted function
19>
17> Error: function "v8::Isolate::operator delete(void *, size_t={unsigned __int64})" (declared at line 8340 of "..\include/v8.h") cannot be referenced -- it is a deleted function
17>
17> Error: function "v8::Isolate::operator delete[](void *, size_t={unsigned __int64})" (declared at line 8341 of "..\include/v8.h") cannot be referenced -- it is a deleted function
17>
17> Error: function "Isolate::~Isolate(unsigned int)" (declared implicitly) cannot be referenced -- it is a deleted function
17>
18> Error: function "v8::Isolate::operator delete(void *, size_t={unsigned __int64})" (declared at line 8340 of "..\include/v8.h") cannot be referenced -- it is a deleted function
18>
18> Error: function "v8::Isolate::operator delete[](void *, size_t={unsigned __int64})" (declared at line 8341 of "..\include/v8.h") cannot be referenced -- it is a deleted function
18>
18> Error: function "Isolate::~Isolate(unsigned int)" (declared implicitly) cannot be referenced -- it is a deleted function
...
19> Error: function "v8::Isolate::operator delete(void *, size_t={unsigned __int64})" (declared at line 8340 of "..\include/v8.h") cannot be referenced -- it is a deleted function
19>
19> Error: function "v8::Isolate::operator delete[](void *, size_t={unsigned __int64})" (declared at line 8341 of "..\include/v8.h") cannot be referenced -- it is a deleted function
19>
19> Error: function "Isolate::~Isolate(unsigned int)" (declared implicitly) cannot be referenced -- it is a deleted function
...
19> Error: function "v8::Isolate::operator delete(void *, size_t={unsigned __int64})" (declared at line 8340 of "..\include/v8.h") cannot be referenced -- it is a deleted function
19>
19> Error: function "v8::Isolate::operator delete[](void *, size_t={unsigned __int64})" (declared at line 8341 of "..\include/v8.h") cannot be referenced -- it is a deleted function
19>
19> Error: function "Isolate::~Isolate(unsigned int)" (declared implicitly) cannot be referenced -- it is a deleted function
...
19> Error: function "v8::Isolate::operator delete(void *, size_t={unsigned __int64})" (declared at line 8340 of "..\include/v8.h") cannot be referenced -- it is a deleted function
19>
19> Error: function "v8::Isolate::operator delete[](void *, size_t={unsigned __int64})" (declared at line 8341 of "..\include/v8.h") cannot be referenced -- it is a deleted function
19>
19> Error: function "Isolate::~Isolate(unsigned int)" (declared implicitly) cannot be referenced -- it is a deleted function
19>
...
19> C:\VS2017\Common7\IDE\VC\VCTargets\Platforms\x64\PlatformToolsets\Intel C++ Compiler 19.0\Toolset.targets(383,5): error MSB6006: "icl.exe" exited with code 2.
19> Done executing task "ICL" -- FAILED.
19>Done building target "ClCompile" in project "v8_nosnapshot.vcxproj" -- FAILED.
19>
19>Done building project "v8_nosnapshot.vcxproj" -- FAILED.
...
17> compilation aborted for ..\src\setup-isolate-full.cc (code 2)
17> del Z:\USER\TMP\409961tempfile3
17> del Z:\USER\TMP\409962arg4
17> del Z:\USER\TMP\dshFE51.tmp
17> C:\VS2017\Common7\IDE\VC\VCTargets\Platforms\x64\PlatformToolsets\Intel C++ Compiler 19.0\Toolset.targets(383,5): error MSB6006: "icl.exe" exited with code 2.
17> Done executing task "ICL" -- FAILED.
17>Done building target "ClCompile" in project "v8_init.vcxproj" -- FAILED.
17>
17>Done building project "v8_init.vcxproj" -- FAILED.
17>
...
18> builtins-collections-gen.cc
18> Error: function "v8::Isolate::operator delete(void *, size_t={unsigned __int64})" (declared at line 8340 of "..\include/v8.h") cannot be referenced -- it is a deleted function
18>
18> Error: function "v8::Isolate::operator delete[](void *, size_t={unsigned __int64})" (declared at line 8341 of "..\include/v8.h") cannot be referenced -- it is a deleted function
18>
18> Error: function "Isolate::~Isolate(unsigned int)" (declared implicitly) cannot be referenced -- it is a deleted function
...
18> C:\Github\node\deps\v8\src\x64\assembler-x64.h(120): error : assertion failed at: "shared/cfe/edgcpfe/il.c", line 16005
18>
18> Register::ListOf<rax, rcx, rdx,
18> ^
18>
18> builtins-array-gen.cc
18> Error: function "v8::Isolate::operator delete(void *, size_t={unsigned __int64})" (declared at line 8340 of "..\include/v8.h") cannot be referenced -- it is a deleted function
18>
18> Error: function "v8::Isolate::operator delete[](void *, size_t={unsigned __int64})" (declared at line 8341 of "..\include/v8.h") cannot be referenced -- it is a deleted function
18>
18> Error: function "Isolate::~Isolate(unsigned int)" (declared implicitly) cannot be referenced -- it is a deleted function
Note that towards the end of the above snippet is where the topic title "error: assertion failed..." comes from.
Then there are a bunch of repeat errors for 18> above, but there is also this:
18> C:\Github\node\deps\v8\src\x64\assembler-x64.h(120): error : access violation
18> Register::ListOf<rax, rcx, rdx,
18> ^
And concluding it all...
21>Target ComputeCustomBuildOutput:
21> Task "CreateItem" skipped, due to false condition; ('%(CustomBuildOutputs.OutputItemType)'!='') was evaluated as (''!='').
21> Task "MakeDir"
21> Done executing task "MakeDir".
21>Target CustomBuild:
21> Using "GetOutOfDateItems" task from assembly "C:\VS2017\Common7\IDE\VC\VCTargets\Microsoft.Build.CppTasks.Common.dll".
21> Task "GetOutOfDateItems"
21> Done executing task "GetOutOfDateItems".
21> Task "ParallelCustomBuild" skipped, due to false condition; ('@(_ParallelCustomBuild)' != '') was evaluated as ('' != '').
21> Using "CustomBuild" task from assembly "C:\VS2017\Common7\IDE\VC\VCTargets\Microsoft.Build.CppTasks.Common.dll".
21> Task "CustomBuild"
21> Write Tracking Logs:
21> Release\obj\v8_snapshot\v8_snapshot.tlog\custombuild.write.1.tlog
21> Read Tracking Logs:
21> Release\obj\v8_snapshot\v8_snapshot.tlog\custombuild.read.1.tlog
21> No output for C:\GITHUB\NODE\RELEASE\MKSNAPSHOT.EXE was found in the tracking log; source compilation required.
21> C:\Github\node\Release\\mksnapshot.exe will be compiled because it was not found in the tracking log.
21> call call C:\Github\node\Release\mksnapshot.exe "--turbo_instruction_scheduling""--startup_src""Release\obj\v8_snapshot\snapshot.cc"
21> if %errorlevel% neq 0 exit /b %errorlevel%
21> generating: "Release\obj\v8_snapshot\/snapshot.cc"
21> 'C:\Github\node\Release\mksnapshot.exe' is not recognized as an internal or external command,
21> operable program or batch file.
21> C:\VS2017\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(209,5): error MSB6006: "cmd.exe" exited with code 1.
21> Done executing task "CustomBuild" -- FAILED.
21>Done building target "CustomBuild" in project "v8_snapshot.vcxproj" -- FAILED.
21>
21>Done building project "v8_snapshot.vcxproj" -- FAILED.
21>