Build wrapper is not producing any "captures" for C++ addon for Node.js

Hi,

I’m trying to analyze C++ source that is part of a Node.js C++ addon (C++ addons | Node.js v15.14.0 Documentation), but the build wrapper is producing a build-wrapper-dump.json with zero captures.

  • Which version are you using: The build-wrapper I downloaded from my local SonarQube instance running 8.7.1 Developer Edition.

  • What are you trying to achieve: A build-wrapper-dump.json with some captures that can be provided to the SonarQube scanner

  • What have you tried so far: “Wrapping” our usual build command with the build-wrapper… i.e. this command:

    build-wrapper-win-x86-64.exe --out-dir build_wrapper_output_directory C:\Users\dstricks\AppData\Roaming\npm\nw-gyp.cmd rebuild --target=0.50.2 --arch=x64

    (And also searching this forum extensively).

More details

Compilation of the addon is done through the nw-gyp (GitHub - nwjs/nw-gyp: native addon build tool for node-webkit) tool… which isn’t explicitly listed as a supported compiler, but behind-the-scenes it uses MSBuild which is supported (I think). I was hoping there is a way to make it work.

console output

c:\Projects\node-addon-examples\1_hello_world\nan>build-wrapper-win-x86-64.exe --out-dir  build_wrapper_output_directory C:\Users\dstricks\AppData\Roaming\npm\nw-gyp.cmd rebuild --target=0.50.2 --arch=x64
gyp info it worked if it ends with ok
gyp info using nw-gyp@3.6.5
gyp info using node@15.3.0 | win32 | x64
gyp info spawn C:\Python27\python.EXE
gyp info spawn args [
gyp info spawn args   'C:\\Users\\dstricks\\AppData\\Roaming\\npm\\node_modules\\nw-gyp\\gyp\\gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'msvs',
gyp info spawn args   '-G',
gyp info spawn args   'msvs_version=2015',
gyp info spawn args   '-I',
gyp info spawn args   'c:\\Projects\\node-addon-examples\\1_hello_world\\nan\\build\\config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   'C:\\Users\\dstricks\\AppData\\Roaming\\npm\\node_modules\\nw-gyp\\addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   'C:\\Users\\dstricks\\.nw-gyp\\0.50.2\\common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=C:\\Users\\dstricks\\.nw-gyp\\0.50.2',
gyp info spawn args   '-Dnode_gyp_dir=C:\\Users\\dstricks\\AppData\\Roaming\\npm\\node_modules\\nw-gyp',
gyp info spawn args   '-Dnode_lib_file="C:\\Users\\dstricks\\.nw-gyp\\0.50.2\\<(target_arch)\\node.lib"',
gyp info spawn args   '-Dnw_lib_file="C:\\Users\\dstricks\\.nw-gyp\\0.50.2\\<(target_arch)\\nw.lib"',
gyp info spawn args   '-Dmodule_root_dir=c:\\Projects\\node-addon-examples\\1_hello_world\\nan',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '-Dv13=1',
gyp info spawn args   '--generator-output',
gyp info spawn args   'c:\\Projects\\node-addon-examples\\1_hello_world\\nan\\build',
gyp info spawn args   '-Goutput_dir=.'
gyp info spawn args ]
gyp info spawn C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\MSBuild.exe
gyp info spawn args [
gyp info spawn args   'build/binding.sln',
gyp info spawn args   '/clp:Verbosity=minimal',
gyp info spawn args   '/nologo',
gyp info spawn args   '/p:CLToolExe=clang-cl.exe',
gyp info spawn args   '/p:LinkToolExe=lld-link.exe',
gyp info spawn args   '/p:CLToolPath=C:\\Users\\dstricks\\AppData\\Roaming\\npm\\node_modules\\nw-gyp\\clang',
gyp info spawn args   '/p:LinkToolPath=C:\\Users\\dstricks\\AppData\\Roaming\\npm\\node_modules\\nw-gyp\\clang',
gyp info spawn args   '/p:Configuration=Release;Platform=x64'
gyp info spawn args ]
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
clang-cl : warning : argument unused during compilation: '/MP' [-Wunused-command-line-argument] [c:\Projects\node-addon
-examples\1_hello_world\nan\build\hello.vcxproj]
clang-cl : warning : argument unused during compilation: '/Gm-' [-Wunused-command-line-argument] [c:\Projects\node-addo
n-examples\1_hello_world\nan\build\hello.vcxproj]
..\hello.cc(9): warning : ignoring return value of function declared with 'warn_unused_result' attribute [-Wunused-resu
lt] [c:\Projects\node-addon-examples\1_hello_world\nan\build\hello.vcxproj]
  hello.vcxproj -> c:\Projects\node-addon-examples\1_hello_world\nan\build\Release\\hello.node
gyp info ok

build-wrapper.log

Wed Apr 07 14:11:27 2021: build-wrapper, version 6.17 (win-x86-64)
Wed Apr 07 14:11:27 2021: isWow64: 0
Wed Apr 07 14:11:27 2021: windows version: 6.2, service pack: 0.0, build number: 9200, product type: 1
Wed Apr 07 14:11:27 2021: current directory: c:\Projects\node-addon-examples\1_hello_world\nan
Wed Apr 07 14:11:27 2021: command line received: <C:\Users\dstricks\AppData\Roaming\npm\nw-gyp.cmd rebuild --target=0.50.2 --arch=x64>
Wed Apr 07 14:11:27 2021: initializing json file
Wed Apr 07 14:11:27 2021: starting debug cycle
Wed Apr 07 14:11:27 2021: process created with pid: 10976
Wed Apr 07 14:11:27 2021: image path name: <C:\Windows\system32\cmd.exe>
Wed Apr 07 14:11:27 2021: command line: <C:\Windows\system32\cmd.exe /c C:\Users\dstricks\AppData\Roaming\npm\nw-gyp.cmd rebuild --target=0.50.2 --arch=x64>
Wed Apr 07 14:11:27 2021: working directory: <c:\Projects\node-addon-examples\1_hello_world\nan\>
Wed Apr 07 14:11:27 2021: isWow64: 0
Wed Apr 07 14:11:27 2021: skipping process C:\Windows\system32\cmd.exe with pid: 10976
Wed Apr 07 14:11:27 2021: process created with pid: 7580
Wed Apr 07 14:11:27 2021: image path name: <C:\Program Files\nodejs\node.exe>
Wed Apr 07 14:11:27 2021: command line: <"node"   "C:\Users\dstricks\AppData\Roaming\npm\\node_modules\nw-gyp\bin\nw-gyp.js" rebuild --target=0.50.2 --arch=x64>
Wed Apr 07 14:11:27 2021: working directory: <c:\Projects\node-addon-examples\1_hello_world\nan\>
Wed Apr 07 14:11:27 2021: isWow64: 0
Wed Apr 07 14:11:27 2021: skipping process C:\Program Files\nodejs\node.exe with pid: 7580
Wed Apr 07 14:11:28 2021: process created with pid: 20308
Wed Apr 07 14:11:28 2021: image path name: <C:\Python27\python.EXE>
Wed Apr 07 14:11:28 2021: command line: <C:\Python27\python.EXE -c "import platform; print(platform.python_version());">
Wed Apr 07 14:11:28 2021: working directory: <c:\Projects\node-addon-examples\1_hello_world\nan\>
Wed Apr 07 14:11:28 2021: isWow64: 1
Wed Apr 07 14:11:28 2021: skipping process C:\Python27\python.EXE with pid: 20308
Wed Apr 07 14:11:28 2021: process with pid 20308 exit with code: 0 (0x0)
Wed Apr 07 14:11:28 2021: process created with pid: 6700
Wed Apr 07 14:11:28 2021: image path name: <C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe>
Wed Apr 07 14:11:28 2021: command line: <C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Unrestricted -Command "&{Add-Type -Path 'C:\Users\dstricks\AppData\Roaming\npm\node_modules\nw-gyp\lib\Find-VS2017.cs'; [VisualStudioConfiguration.Main]::Query()}">
Wed Apr 07 14:11:28 2021: working directory: <c:\Projects\node-addon-examples\1_hello_world\nan\>
Wed Apr 07 14:11:28 2021: isWow64: 0
Wed Apr 07 14:11:28 2021: skipping process C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe with pid: 6700
Wed Apr 07 14:11:28 2021: process created with pid: 9328
Wed Apr 07 14:11:28 2021: image path name: <C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe>
Wed Apr 07 14:11:28 2021: command line: <"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe" /noconfig /fullpaths @"C:\Users\dstricks\AppData\Local\Temp\zw4vgna1.cmdline">
Wed Apr 07 14:11:28 2021: working directory: <c:\Projects\node-addon-examples\1_hello_world\nan\>
Wed Apr 07 14:11:28 2021: isWow64: 0
Wed Apr 07 14:11:28 2021: skipping process C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe with pid: 9328
Wed Apr 07 14:11:29 2021: process created with pid: 7208
Wed Apr 07 14:11:29 2021: image path name: <C:\Windows\Microsoft.NET\Framework64\v4.0.30319\cvtres.exe>
Wed Apr 07 14:11:29 2021: command line: <C:\Windows\Microsoft.NET\Framework64\v4.0.30319\cvtres.exe /NOLOGO /READONLY /MACHINE:IX86 "/OUT:C:\Users\DSTRIC~1\AppData\Local\Temp\RESC7.tmp" "c:\Users\dstricks\AppData\Local\Temp\CSC3575F1DAB189405EB66B17258580E853.TMP">
Wed Apr 07 14:11:29 2021: working directory: <c:\Projects\node-addon-examples\1_hello_world\nan\>
Wed Apr 07 14:11:29 2021: isWow64: 0
Wed Apr 07 14:11:29 2021: skipping process C:\Windows\Microsoft.NET\Framework64\v4.0.30319\cvtres.exe with pid: 7208
Wed Apr 07 14:11:29 2021: process with pid 7208 exit with code: 0 (0x0)
Wed Apr 07 14:11:29 2021: process with pid 9328 exit with code: 0 (0x0)
Wed Apr 07 14:11:29 2021: process with pid 6700 exit with code: 0 (0x0)
Wed Apr 07 14:11:29 2021: process created with pid: 1704
Wed Apr 07 14:11:29 2021: image path name: <C:\Python27\python.EXE>
Wed Apr 07 14:11:29 2021: command line: <C:\Python27\python.EXE C:\Users\dstricks\AppData\Roaming\npm\node_modules\nw-gyp\gyp\gyp_main.py binding.gyp -f msvs -G msvs_version=2015 -I c:\Projects\node-addon-examples\1_hello_world\nan\build\config.gypi -I C:\Users\dstricks\AppData\Roaming\npm\node_modules\nw-gyp\addon.gypi -I C:\Users\dstricks\.nw-gyp\0.50.2\common.gypi -Dlibrary=shared_library -Dvisibility=default -Dnode_root_dir=C:\Users\dstricks\.nw-gyp\0.50.2 -Dnode_gyp_dir=C:\Users\dstricks\AppData\Roaming\npm\node_modules\nw-gyp -Dnode_lib_file="C:\Users\dstricks\.nw-gyp\0.50.2\<(target_arch)\node.lib" -Dnw_lib_file="C:\Users\dstricks\.nw-gyp\0.50.2\<(target_arch)\nw.lib" -Dmodule_root_dir=c:\Projects\node-addon-examples\1_hello_world\nan -Dnode_engine=v8 --depth=. --no-parallel -Dv13=1 --generator-output c:\Projects\node-addon-examples\1_hello_world\nan\build -Goutput_dir=.>
Wed Apr 07 14:11:29 2021: working directory: <c:\Projects\node-addon-examples\1_hello_world\nan\>
Wed Apr 07 14:11:29 2021: isWow64: 1
Wed Apr 07 14:11:29 2021: skipping process C:\Python27\python.EXE with pid: 1704
Wed Apr 07 14:11:29 2021: process created with pid: 1612
Wed Apr 07 14:11:29 2021: image path name: <C:\Windows\SysWOW64\cmd.exe>
Wed Apr 07 14:11:29 2021: command line: <C:\Windows\system32\cmd.exe /c python -c "import sys; print sys.byteorder">
Wed Apr 07 14:11:29 2021: working directory: <c:\Projects\node-addon-examples\1_hello_world\nan\>
Wed Apr 07 14:11:29 2021: isWow64: 1
Wed Apr 07 14:11:29 2021: skipping process C:\Windows\SysWOW64\cmd.exe with pid: 1612
Wed Apr 07 14:11:29 2021: process created with pid: 20604
Wed Apr 07 14:11:29 2021: image path name: <C:\Python27\python.exe>
Wed Apr 07 14:11:29 2021: command line: <python  -c "import sys; print sys.byteorder">
Wed Apr 07 14:11:29 2021: working directory: <c:\Projects\node-addon-examples\1_hello_world\nan\>
Wed Apr 07 14:11:29 2021: isWow64: 1
Wed Apr 07 14:11:29 2021: skipping process C:\Python27\python.exe with pid: 20604
Wed Apr 07 14:11:29 2021: process with pid 20604 exit with code: 0 (0x0)
Wed Apr 07 14:11:29 2021: process with pid 1612 exit with code: 0 (0x0)
Wed Apr 07 14:11:29 2021: process created with pid: 21408
Wed Apr 07 14:11:29 2021: image path name: <C:\Windows\SysWOW64\cmd.exe>
Wed Apr 07 14:11:29 2021: command line: <C:\Windows\system32\cmd.exe /c node -e "require('nan')">
Wed Apr 07 14:11:29 2021: working directory: <c:\Projects\node-addon-examples\1_hello_world\nan\>
Wed Apr 07 14:11:29 2021: isWow64: 1
Wed Apr 07 14:11:29 2021: skipping process C:\Windows\SysWOW64\cmd.exe with pid: 21408
Wed Apr 07 14:11:29 2021: process created with pid: 12756
Wed Apr 07 14:11:29 2021: image path name: <C:\Program Files\nodejs\node.exe>
Wed Apr 07 14:11:29 2021: command line: <node  -e "require('nan')">
Wed Apr 07 14:11:29 2021: working directory: <c:\Projects\node-addon-examples\1_hello_world\nan\>
Wed Apr 07 14:11:29 2021: isWow64: 0
Wed Apr 07 14:11:29 2021: skipping process C:\Program Files\nodejs\node.exe with pid: 12756
Wed Apr 07 14:11:29 2021: process with pid 12756 exit with code: 0 (0x0)
Wed Apr 07 14:11:29 2021: process with pid 21408 exit with code: 0 (0x0)
Wed Apr 07 14:11:29 2021: process with pid 1704 exit with code: 0 (0x0)
Wed Apr 07 14:11:29 2021: process created with pid: 10328
Wed Apr 07 14:11:29 2021: image path name: <C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\MSBuild.exe>
Wed Apr 07 14:11:29 2021: command line: <"C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\MSBuild.exe" build/binding.sln /clp:Verbosity=minimal /nologo /p:CLToolExe=clang-cl.exe /p:LinkToolExe=lld-link.exe /p:CLToolPath=C:\Users\dstricks\AppData\Roaming\npm\node_modules\nw-gyp\clang /p:LinkToolPath=C:\Users\dstricks\AppData\Roaming\npm\node_modules\nw-gyp\clang /p:Configuration=Release;Platform=x64>
Wed Apr 07 14:11:29 2021: working directory: <c:\Projects\node-addon-examples\1_hello_world\nan\>
Wed Apr 07 14:11:29 2021: isWow64: 1
Wed Apr 07 14:11:29 2021: skipping process C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\MSBuild.exe with pid: 10328
Wed Apr 07 14:11:30 2021: process created with pid: 22544
Wed Apr 07 14:11:30 2021: image path name: <C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\Tracker.exe>
Wed Apr 07 14:11:30 2021: command line: <"C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\Tracker.exe" @"C:\Users\dstricks\AppData\Local\Temp\tmp9f0e558dde734d79a912ba3e03abe727.tmp" /c C:\Users\dstricks\AppData\Roaming\npm\node_modules\nw-gyp\clang\clang-cl.exe  @"C:\Users\dstricks\AppData\Local\Temp\tmpb8f2c7aa6d114809b51c700775ef6255.rsp">
Wed Apr 07 14:11:30 2021: working directory: <c:\Projects\node-addon-examples\1_hello_world\nan\build\>
Wed Apr 07 14:11:30 2021: isWow64: 1
Wed Apr 07 14:11:30 2021: skipping process C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\Tracker.exe with pid: 22544
Wed Apr 07 14:11:31 2021: process created with pid: 3852
Wed Apr 07 14:11:31 2021: image path name: <C:\Windows\system32\rundll32.exe>
Wed Apr 07 14:11:31 2021: command line: <rundll32.exe "C:\Program Files (x86)\MSBuild\15.0\FileTracker\FileTracker64.dll",#1>
Wed Apr 07 14:11:31 2021: working directory: <c:\Projects\node-addon-examples\1_hello_world\nan\build\>
Wed Apr 07 14:11:31 2021: isWow64: 0
Wed Apr 07 14:11:31 2021: skipping process C:\Windows\system32\rundll32.exe with pid: 3852
Wed Apr 07 14:11:31 2021: process with pid 3852 exit with code: 0 (0x0)
Wed Apr 07 14:11:31 2021: process created with pid: 15068
Wed Apr 07 14:11:31 2021: image path name: <C:\Users\dstricks\AppData\Roaming\npm\node_modules\nw-gyp\clang\clang-cl.exe>
Wed Apr 07 14:11:31 2021: command line: <C:\Users\dstricks\AppData\Roaming\npm\node_modules\nw-gyp\clang\clang-cl.exe @C:\Users\dstricks\AppData\Local\Temp\tmpb8f2c7aa6d114809b51c700775ef6255.rsp>
Wed Apr 07 14:11:31 2021: working directory: <c:\Projects\node-addon-examples\1_hello_world\nan\build\>
Wed Apr 07 14:11:31 2021: isWow64: 0
Wed Apr 07 14:11:31 2021: skipping process C:\Users\dstricks\AppData\Roaming\npm\node_modules\nw-gyp\clang\clang-cl.exe with pid: 15068
Wed Apr 07 14:11:31 2021: process created with pid: 12364
Wed Apr 07 14:11:31 2021: image path name: <C:\Users\dstricks\AppData\Roaming\npm\node_modules\nw-gyp\clang\clang-cl.exe>
Wed Apr 07 14:11:31 2021: command line: <"C:\Users\dstricks\AppData\Roaming\npm\node_modules\nw-gyp\clang\clang-cl.exe" -cc1 -triple x86_64-pc-windows-msvc19.16.27043 -emit-obj -mincremental-linker-compatible -disable-free -disable-llvm-verifier -discard-value-names -main-file-name hello.cc -mrelocation-model pic -pic-level 2 -mthread-model posix -relaxed-aliasing -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -target-cpu x86-64 -mllvm -x86-asm-syntax=intel -D_MT -flto-visibility-public-std --dependent-lib=libcmt --dependent-lib=oldnames -fno-rtti-data -stack-protector 2 -fms-volatile -fno-dllexport-inlines -fdefault-calling-conv=cdecl -fdiagnostics-format msvc -gcodeview -debug-info-kind=limited -momit-leaf-frame-pointer -ffunction-sections -coverage-notes-file "c:\Projects\node-addon-examples\1_hello_world\nan\build\hello.gcno" -resource-dir "C:\Users\dstricks\AppData\Roaming\npm\node_modules\nw-gyp\lib\clang\9.0.0" -I "C:\Users\dstricks\.nw-gyp\0.50.2\include\node" -I "C:\Users\dstricks\.nw-gyp\0.50.2\src" -I "C:\Users\dstricks\.nw-gyp\0.50.2\deps\uv\include" -I "C:\Users\dstricks\.nw-gyp\0.50.2\deps\v8\include" -I "..\node_modules\nan" -I "C:\Users\dstricks\.nw-gyp\0.50.2\include\node" -I "C:\Users\dstricks\.nw-gyp\0.50.2\src" -I "C:\Users\dstricks\.nw-gyp\0.50.2\deps\uv\include" -I "C:\Users\dstricks\.nw-gyp\0.50.2\deps\v8\include" -I "..\node_modules\nan" -D NODE_GYP_MODULE_NAME=hello -D USING_UV_SHARED=1 -D USING_V8_SHARED=1 -D V8_DEPRECATION_WARNINGS=1 -D V8_DEPRECATION_WARNINGS -D V8_REVERSE_JSARGS -D V8_COMPRESS_POINTERS -D V8_31BIT_SMIS_ON_64BIT_ARCH -D WIN32 -D _CRT_SECURE_NO_DEPRECATE -D _CRT_NONSTDC_NO_DEPRECATE -D _HAS_EXCEPTIONS=1 -D OPENSSL_NO_PINSHARED -D OPENSSL_THREADS -D OPENSSL_NO_ASM -D BUILDING_NODE_EXTENSION -D NODE_GYP_MODULE_NAME=hello -D USING_UV_SHARED=1 -D USING_V8_SHARED=1 -D V8_DEPRECATION_WARNINGS=1 -D V8_DEPRECATION_WARNINGS -D V8_REVERSE_JSARGS -D V8_COMPRESS_POINTERS -D V8_31BIT_SMIS_ON_64BIT_ARCH -D WIN32 -D _CRT_SECURE_NO_DEPRECATE -D _CRT_NONSTDC_NO_DEPRECATE -D _HAS_EXCEPTIONS=1 -D OPENSSL_NO_PINSHARED -D OPENSSL_THREADS -D OPENSSL_NO_ASM -D BUILDING_NODE_EXTENSION -D _WINDLL -internal-isystem "C:\Users\dstricks\AppData\Roaming\npm\node_modules\nw-gyp\lib\clang\9.0.0\include" -internal-isystem "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\include" -internal-isystem "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\atlmfc\include" -internal-isystem "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\VS\include" -internal-isystem "C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucrt" -internal-isystem "C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um" -internal-isystem "C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\shared" -internal-isystem "C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\winrt" -internal-isystem "C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\cppwinrt" -internal-isystem "Include\um" -O2 -Wall -Wno-error -fdeprecated-macro -fdebug-compilation-dir "c:\Projects\node-addon-examples\1_hello_world\nan\build" -ferror-limit 19 -fmessage-length 0 -fno-use-cxa-atexit -fms-extensions -fms-compatibility -fms-compatibility-version=19.16.27043 -std=c++14 -fno-threadsafe-statics -fdelayed-template-parsing -finline-functions -fobjc-runtime=gcc -fno-caret-diagnostics -fdiagnostics-show-option -fno-show-column -vectorize-loops -vectorize-slp -o "Release\obj\hello\hello.obj" -x c++ "..\hello.cc" -faddrsig >
Wed Apr 07 14:11:31 2021: working directory: <c:\Projects\node-addon-examples\1_hello_world\nan\build\>
Wed Apr 07 14:11:31 2021: isWow64: 0
Wed Apr 07 14:11:31 2021: skipping process C:\Users\dstricks\AppData\Roaming\npm\node_modules\nw-gyp\clang\clang-cl.exe with pid: 12364
Wed Apr 07 14:11:33 2021: process with pid 12364 exit with code: 0 (0x0)
Wed Apr 07 14:11:33 2021: process created with pid: 2532
Wed Apr 07 14:11:33 2021: image path name: <C:\Users\dstricks\AppData\Roaming\npm\node_modules\nw-gyp\clang\clang-cl.exe>
Wed Apr 07 14:11:33 2021: command line: <"C:\Users\dstricks\AppData\Roaming\npm\node_modules\nw-gyp\clang\clang-cl.exe" -cc1 -triple x86_64-pc-windows-msvc19.16.27043 -emit-obj -mincremental-linker-compatible -disable-free -disable-llvm-verifier -discard-value-names -main-file-name win_delay_load_hook.cc -mrelocation-model pic -pic-level 2 -mthread-model posix -relaxed-aliasing -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -target-cpu x86-64 -mllvm -x86-asm-syntax=intel -D_MT -flto-visibility-public-std --dependent-lib=libcmt --dependent-lib=oldnames -fno-rtti-data -stack-protector 2 -fms-volatile -fno-dllexport-inlines -fdefault-calling-conv=cdecl -fdiagnostics-format msvc -gcodeview -debug-info-kind=limited -momit-leaf-frame-pointer -ffunction-sections -coverage-notes-file "c:\Projects\node-addon-examples\1_hello_world\nan\build\win_delay_load_hook.gcno" -resource-dir "C:\Users\dstricks\AppData\Roaming\npm\node_modules\nw-gyp\lib\clang\9.0.0" -I "C:\Users\dstricks\.nw-gyp\0.50.2\include\node" -I "C:\Users\dstricks\.nw-gyp\0.50.2\src" -I "C:\Users\dstricks\.nw-gyp\0.50.2\deps\uv\include" -I "C:\Users\dstricks\.nw-gyp\0.50.2\deps\v8\include" -I "..\node_modules\nan" -I "C:\Users\dstricks\.nw-gyp\0.50.2\include\node" -I "C:\Users\dstricks\.nw-gyp\0.50.2\src" -I "C:\Users\dstricks\.nw-gyp\0.50.2\deps\uv\include" -I "C:\Users\dstricks\.nw-gyp\0.50.2\deps\v8\include" -I "..\node_modules\nan" -D NODE_GYP_MODULE_NAME=hello -D USING_UV_SHARED=1 -D USING_V8_SHARED=1 -D V8_DEPRECATION_WARNINGS=1 -D V8_DEPRECATION_WARNINGS -D V8_REVERSE_JSARGS -D V8_COMPRESS_POINTERS -D V8_31BIT_SMIS_ON_64BIT_ARCH -D WIN32 -D _CRT_SECURE_NO_DEPRECATE -D _CRT_NONSTDC_NO_DEPRECATE -D _HAS_EXCEPTIONS=1 -D OPENSSL_NO_PINSHARED -D OPENSSL_THREADS -D OPENSSL_NO_ASM -D BUILDING_NODE_EXTENSION -D NODE_GYP_MODULE_NAME=hello -D USING_UV_SHARED=1 -D USING_V8_SHARED=1 -D V8_DEPRECATION_WARNINGS=1 -D V8_DEPRECATION_WARNINGS -D V8_REVERSE_JSARGS -D V8_COMPRESS_POINTERS -D V8_31BIT_SMIS_ON_64BIT_ARCH -D WIN32 -D _CRT_SECURE_NO_DEPRECATE -D _CRT_NONSTDC_NO_DEPRECATE -D _HAS_EXCEPTIONS=1 -D OPENSSL_NO_PINSHARED -D OPENSSL_THREADS -D OPENSSL_NO_ASM -D BUILDING_NODE_EXTENSION -D _WINDLL -internal-isystem "C:\Users\dstricks\AppData\Roaming\npm\node_modules\nw-gyp\lib\clang\9.0.0\include" -internal-isystem "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\include" -internal-isystem "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\atlmfc\include" -internal-isystem "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\VS\include" -internal-isystem "C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucrt" -internal-isystem "C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um" -internal-isystem "C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\shared" -internal-isystem "C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\winrt" -internal-isystem "C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\cppwinrt" -internal-isystem "Include\um" -O2 -Wall -Wno-error -fdeprecated-macro -fdebug-compilation-dir "c:\Projects\node-addon-examples\1_hello_world\nan\build" -ferror-limit 19 -fmessage-length 0 -fno-use-cxa-atexit -fms-extensions -fms-compatibility -fms-compatibility-version=19.16.27043 -std=c++14 -fno-threadsafe-statics -fdelayed-template-parsing -finline-functions -fobjc-runtime=gcc -fno-caret-diagnostics -fdiagnostics-show-option -fno-show-column -vectorize-loops -vectorize-slp -o "Release\obj\hello\win_delay_load_hook.obj" -x c++ "C:\Users\dstricks\AppData\Roaming\npm\node_modules\nw-gyp\src\win_delay_load_hook.cc" -faddrsig >
Wed Apr 07 14:11:33 2021: working directory: <c:\Projects\node-addon-examples\1_hello_world\nan\build\>
Wed Apr 07 14:11:33 2021: isWow64: 0
Wed Apr 07 14:11:33 2021: skipping process C:\Users\dstricks\AppData\Roaming\npm\node_modules\nw-gyp\clang\clang-cl.exe with pid: 2532
Wed Apr 07 14:11:33 2021: process with pid 2532 exit with code: 0 (0x0)
Wed Apr 07 14:11:33 2021: process with pid 15068 exit with code: 0 (0x0)
Wed Apr 07 14:11:33 2021: process with pid 22544 exit with code: 0 (0x0)
Wed Apr 07 14:11:33 2021: process created with pid: 10512
Wed Apr 07 14:11:33 2021: image path name: <C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\Tracker.exe>
Wed Apr 07 14:11:33 2021: command line: <"C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\Tracker.exe" /a @"C:\Users\dstricks\AppData\Local\Temp\tmpdc1a118cfd5b4b5d81b63d1cfc5dfa80.tmp" /c C:\Users\dstricks\AppData\Roaming\npm\node_modules\nw-gyp\clang\lld-link.exe  /ERRORREPORT:QUEUE @"C:\Users\dstricks\AppData\Local\Temp\tmpbf45339375c74dda8dc1cccb2ede70f3.rsp">
Wed Apr 07 14:11:33 2021: working directory: <c:\Projects\node-addon-examples\1_hello_world\nan\build\>
Wed Apr 07 14:11:33 2021: isWow64: 1
Wed Apr 07 14:11:33 2021: skipping process C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\Tracker.exe with pid: 10512
Wed Apr 07 14:11:34 2021: process created with pid: 13844
Wed Apr 07 14:11:34 2021: image path name: <C:\Windows\system32\rundll32.exe>
Wed Apr 07 14:11:34 2021: command line: <rundll32.exe "C:\Program Files (x86)\MSBuild\15.0\FileTracker\FileTracker64.dll",#1>
Wed Apr 07 14:11:34 2021: working directory: <c:\Projects\node-addon-examples\1_hello_world\nan\build\>
Wed Apr 07 14:11:34 2021: isWow64: 0
Wed Apr 07 14:11:34 2021: skipping process C:\Windows\system32\rundll32.exe with pid: 13844
Wed Apr 07 14:11:34 2021: process with pid 13844 exit with code: 0 (0x0)
Wed Apr 07 14:11:34 2021: process created with pid: 1368
Wed Apr 07 14:11:34 2021: image path name: <C:\Users\dstricks\AppData\Roaming\npm\node_modules\nw-gyp\clang\lld-link.exe>
Wed Apr 07 14:11:34 2021: command line: <C:\Users\dstricks\AppData\Roaming\npm\node_modules\nw-gyp\clang\lld-link.exe /ERRORREPORT:QUEUE @C:\Users\dstricks\AppData\Local\Temp\tmpbf45339375c74dda8dc1cccb2ede70f3.rsp>
Wed Apr 07 14:11:34 2021: working directory: <c:\Projects\node-addon-examples\1_hello_world\nan\build\>
Wed Apr 07 14:11:34 2021: isWow64: 0
Wed Apr 07 14:11:34 2021: skipping process C:\Users\dstricks\AppData\Roaming\npm\node_modules\nw-gyp\clang\lld-link.exe with pid: 1368
Wed Apr 07 14:11:35 2021: process with pid 1368 exit with code: 0 (0x0)
Wed Apr 07 14:11:35 2021: process with pid 10512 exit with code: 0 (0x0)
Wed Apr 07 14:11:35 2021: process with pid 10328 exit with code: 0 (0x0)
Wed Apr 07 14:11:35 2021: process with pid 7580 exit with code: 0 (0x0)
Wed Apr 07 14:11:35 2021: process with pid 10976 exit with code: 0 (0x0)
Wed Apr 07 14:11:35 2021: finalizing json file

build-wrapper-dump.json

# (C) SonarSource SA, 2014-2021, info@sonarsource.com
# All SONARSOURCE programs and content are copyright protected.
# SONARSOURCE and SONARQUBE are trademarks of SonarSource SA. All rights are expressly reserved.
#
# This file is designed exclusively for use with the SONARSOURCE C / C++ / Objective-C Plugin.
# It may not be used in connection with any other software.
# Any other use is prohibited by law and may be grounds for immediate termination of your License.
{
"version":"6.17",
"captures":[
]}

These were generated when running the command I provided earlier against this example C++ Node.js addon: node-addon-examples/1_hello_world/nan at main · nodejs/node-addon-examples · GitHub

For completeness, I’ll also mention that I’m running the following:

  • Node: v15.3.0
  • nw-gyp: 3.6.5

Any help or feedback would be greatly appreciated. Thanks!

Hi @dstricks ,

the build is using clang-cl.exe which is not supported, this is why you are seeing an empty build-wrapper. I would recommend you to check if you can change the build to use the real cl.exe and not clang-cl.exe.

Thanks for the recommendation @mpaladin. I’ll have to check with the nw-gyp team and get back to you… I’m not seeing anything in their documentation based on a cursory investigation.

In the meantime, if you think of any other options, please let me know and I’ll try them out. If not, we’ll have to wait for a response from the nw-gyp team. I hope to have additional information soon.

Aloha!

@mpaladin, I learned that I cannot use cl.exe because clang-cl.exe is providing extra symbols needed for nw-gyp compilation. This issue is discussed in detail here: Missing symbols in node.lib · Issue #7104 · nwjs/nw.js · GitHub

I suppose we can’t use SonarQube at this time for our C++ analysis unless you have other ideas to try.

Hi @dstricks ,

FYI the ticket related to clang-cl is CPP-2455.

Do you have any CI or build on Linux? If yes, you could add the analysis on Linux side. Would that be possible?

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.