SAP / node-rfc

Asynchronous, non-blocking SAP NW RFC SDK bindings for Node.js
Apache License 2.0
251 stars 73 forks source link

error C3861 when installing node-rfc #162

Closed ghost closed 4 years ago

ghost commented 4 years ago

I think I did pretty much everything the installation guide told me to:

I downloaded the SDK, extracted it, set some env vars.

image

I have also installed the Redistributables v12

image

and the build tools

image

Node.js is v13.9.0

When running npm install node-rfc I am getting the following log:

> node-rfc@2.0.3 preinstall C:\Users\mschleew\Entwicklung\Node.js\it-calendar\node_modules\node-rfc
> npm install cmake-js prebuild-install prebuild node-addon-api

npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm notice created a lockfile as package-lock.json. You should commit this file.
+ cmake-js@6.1.0
+ node-addon-api@3.0.1
+ prebuild-install@5.3.5
+ prebuild@10.0.0
added 252 packages from 228 contributors and audited 252 packages in 8.599s

3 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

> node-rfc@2.0.3 install C:\Users\mschleew\Entwicklung\Node.js\it-calendar\node_modules\node-rfc
> prebuild-install --tag-prefix -r napi || cmake-js rebuild

prebuild-install WARN This package does not support N-API version undefined
prebuild-install WARN install No prebuilt binaries found (target=undefined runtime=napi arch=x64 libc= platform=win32)
[
  'C:\\Program Files\\nodejs\\node.exe',
  'C:\\Users\\mschleew\\Entwicklung\\Node.js\\it-calendar\\node_modules\\node-rfc\\node_modules\\cmake-js\\bin\\cmake-js',
  'rebuild'
]
info TOOL Using Visual Studio 15 2017 Win64 generator.
info CMD CLEAN
info RUN cmake -E remove_directory "C:\Users\mschleew\Entwicklung\Node.js\it-calendar\node_modules\node-rfc\build"
info CMD CONFIGURE
info RUN cmake "C:\Users\mschleew\Entwicklung\Node.js\it-calendar\node_modules\node-rfc" --no-warn-unused-cli -G"Visual Studio 15 2017 Win64" -DCMAKE_JS_VERSION="6.1.0" -DCMAKE_BUILD_TYPE="Release" -DCMAKE_RUNTIME_OUTPUT_DIRECTORY="C:\Users\mschleew\Entwicklung\Node.js\it-calendar\node_modules\node-rfc\build" -DCMAKE_JS_INC="C:\Users\mschleew\.cmake-js\node-x64\v13.9.0\include\node" -DCMAKE_JS_SRC="C:/Users/mschleew/Entwicklung/Node.js/it-calendar/node_modules/node-rfc/node_modules/cmake-js/lib/cpp/win_delay_load_hook.cc" -DNODE_RUNTIME="node" -DNODE_RUNTIMEVERSION="13.9.0" -DNODE_ARCH="x64" -DCMAKE_JS_LIB="C:\Users\mschleew\.cmake-js\node-x64\v13.9.0\win-x64\node.lib" -DCMAKE_SHARED_LINKER_FLAGS="/DELAYLOAD:NODE.EXE"
Not searching for unused variables given on the command line.
-- Selecting Windows SDK version 10.0.17763.0 to target Windows 10.0.18363.
-- The C compiler identification is MSVC 19.16.27042.0
-- The CXX compiler identification is MSVC 19.16.27042.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x64/cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
SAP NWRFC SDK: 
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Users/mschleew/Entwicklung/Node.js/it-calendar/node_modules/node-rfc/build
info CMD BUILD
info RUN cmake --build "C:\Users\mschleew\Entwicklung\Node.js\it-calendar\node_modules\node-rfc\build" --config Release
Microsoft (R)-Build-Engine, Version 15.9.21+g9802d43bc3 für .NET Framework
Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.

  Checking Build System
  Building Custom Rule C:/Users/mschleew/Entwicklung/Node.js/it-calendar/node_modules/node-rfc/CMakeLists.txt
  Client.cc
c:\users\mschleew\entwicklung\node.js\it-calendar\node_modules\node-rfc\node_modules\node-addon-api\napi-inl.h(673): error C3861: "napi_create_bigint_int64": Bezeichner wurde nicht gefunden. [C:\Users\mschleew\Entwicklung\
Node.js\it-calendar\node_modules\node-rfc\build\sapnwrfc.vcxproj]
c:\users\mschleew\entwicklung\node.js\it-calendar\node_modules\node-rfc\node_modules\node-addon-api\napi-inl.h(680): error C3861: "napi_create_bigint_uint64": Bezeichner wurde nicht gefunden. [C:\Users\mschleew\Entwicklung
\Node.js\it-calendar\node_modules\node-rfc\build\sapnwrfc.vcxproj]
c:\users\mschleew\entwicklung\node.js\it-calendar\node_modules\node-rfc\node_modules\node-addon-api\napi-inl.h(687): error C3861: "napi_create_bigint_words": Bezeichner wurde nicht gefunden. [C:\Users\mschleew\Entwicklung\ 
Node.js\it-calendar\node_modules\node-rfc\build\sapnwrfc.vcxproj]
c:\users\mschleew\entwicklung\node.js\it-calendar\node_modules\node-rfc\node_modules\node-addon-api\napi-inl.h(700): error C3861: "napi_get_value_bigint_int64": Bezeichner wurde nicht gefunden. [C:\Users\mschleew\Entwicklu 
ng\Node.js\it-calendar\node_modules\node-rfc\build\sapnwrfc.vcxproj]
c:\users\mschleew\entwicklung\node.js\it-calendar\node_modules\node-rfc\node_modules\node-addon-api\napi-inl.h(708): error C3861: "napi_get_value_bigint_uint64": Bezeichner wurde nicht gefunden. [C:\Users\mschleew\Entwickl 
ung\Node.js\it-calendar\node_modules\node-rfc\build\sapnwrfc.vcxproj]
c:\users\mschleew\entwicklung\node.js\it-calendar\node_modules\node-rfc\node_modules\node-addon-api\napi-inl.h(716): error C3861: "napi_get_value_bigint_words": Bezeichner wurde nicht gefunden. [C:\Users\mschleew\Entwicklu 
ng\Node.js\it-calendar\node_modules\node-rfc\build\sapnwrfc.vcxproj]
c:\users\mschleew\entwicklung\node.js\it-calendar\node_modules\node-rfc\node_modules\node-addon-api\napi-inl.h(723): error C3861: "napi_get_value_bigint_words": Bezeichner wurde nicht gefunden. [C:\Users\mschleew\Entwicklu 
ng\Node.js\it-calendar\node_modules\node-rfc\build\sapnwrfc.vcxproj]
  clientio.cc
c:\users\mschleew\entwicklung\node.js\it-calendar\node_modules\node-rfc\node_modules\node-addon-api\napi-inl.h(673): error C3861: "napi_create_bigint_int64": Bezeichner wurde nicht gefunden. [C:\Users\mschleew\Entwicklung\
Node.js\it-calendar\node_modules\node-rfc\build\sapnwrfc.vcxproj]
c:\users\mschleew\entwicklung\node.js\it-calendar\node_modules\node-rfc\node_modules\node-addon-api\napi-inl.h(680): error C3861: "napi_create_bigint_uint64": Bezeichner wurde nicht gefunden. [C:\Users\mschleew\Entwicklung 
\Node.js\it-calendar\node_modules\node-rfc\build\sapnwrfc.vcxproj]
c:\users\mschleew\entwicklung\node.js\it-calendar\node_modules\node-rfc\node_modules\node-addon-api\napi-inl.h(687): error C3861: "napi_create_bigint_words": Bezeichner wurde nicht gefunden. [C:\Users\mschleew\Entwicklung\ 
Node.js\it-calendar\node_modules\node-rfc\build\sapnwrfc.vcxproj]
c:\users\mschleew\entwicklung\node.js\it-calendar\node_modules\node-rfc\node_modules\node-addon-api\napi-inl.h(700): error C3861: "napi_get_value_bigint_int64": Bezeichner wurde nicht gefunden. [C:\Users\mschleew\Entwicklu 
ng\Node.js\it-calendar\node_modules\node-rfc\build\sapnwrfc.vcxproj]
c:\users\mschleew\entwicklung\node.js\it-calendar\node_modules\node-rfc\node_modules\node-addon-api\napi-inl.h(708): error C3861: "napi_get_value_bigint_uint64": Bezeichner wurde nicht gefunden. [C:\Users\mschleew\Entwickl 
ung\Node.js\it-calendar\node_modules\node-rfc\build\sapnwrfc.vcxproj]
c:\users\mschleew\entwicklung\node.js\it-calendar\node_modules\node-rfc\node_modules\node-addon-api\napi-inl.h(716): error C3861: "napi_get_value_bigint_words": Bezeichner wurde nicht gefunden. [C:\Users\mschleew\Entwicklu 
ng\Node.js\it-calendar\node_modules\node-rfc\build\sapnwrfc.vcxproj]
c:\users\mschleew\entwicklung\node.js\it-calendar\node_modules\node-rfc\node_modules\node-addon-api\napi-inl.h(723): error C3861: "napi_get_value_bigint_words": Bezeichner wurde nicht gefunden. [C:\Users\mschleew\Entwicklu 
ng\Node.js\it-calendar\node_modules\node-rfc\build\sapnwrfc.vcxproj]
  Pool.cc
c:\users\mschleew\entwicklung\node.js\it-calendar\node_modules\node-rfc\node_modules\node-addon-api\napi-inl.h(673): error C3861: "napi_create_bigint_int64": Bezeichner wurde nicht gefunden. [C:\Users\mschleew\Entwicklung\
Node.js\it-calendar\node_modules\node-rfc\build\sapnwrfc.vcxproj]
c:\users\mschleew\entwicklung\node.js\it-calendar\node_modules\node-rfc\node_modules\node-addon-api\napi-inl.h(680): error C3861: "napi_create_bigint_uint64": Bezeichner wurde nicht gefunden. [C:\Users\mschleew\Entwicklung 
\Node.js\it-calendar\node_modules\node-rfc\build\sapnwrfc.vcxproj]
c:\users\mschleew\entwicklung\node.js\it-calendar\node_modules\node-rfc\node_modules\node-addon-api\napi-inl.h(687): error C3861: "napi_create_bigint_words": Bezeichner wurde nicht gefunden. [C:\Users\mschleew\Entwicklung\ 
Node.js\it-calendar\node_modules\node-rfc\build\sapnwrfc.vcxproj]
c:\users\mschleew\entwicklung\node.js\it-calendar\node_modules\node-rfc\node_modules\node-addon-api\napi-inl.h(700): error C3861: "napi_get_value_bigint_int64": Bezeichner wurde nicht gefunden. [C:\Users\mschleew\Entwicklu 
ng\Node.js\it-calendar\node_modules\node-rfc\build\sapnwrfc.vcxproj]
c:\users\mschleew\entwicklung\node.js\it-calendar\node_modules\node-rfc\node_modules\node-addon-api\napi-inl.h(708): error C3861: "napi_get_value_bigint_uint64": Bezeichner wurde nicht gefunden. [C:\Users\mschleew\Entwickl 
ung\Node.js\it-calendar\node_modules\node-rfc\build\sapnwrfc.vcxproj]
c:\users\mschleew\entwicklung\node.js\it-calendar\node_modules\node-rfc\node_modules\node-addon-api\napi-inl.h(716): error C3861: "napi_get_value_bigint_words": Bezeichner wurde nicht gefunden. [C:\Users\mschleew\Entwicklu 
ng\Node.js\it-calendar\node_modules\node-rfc\build\sapnwrfc.vcxproj]
c:\users\mschleew\entwicklung\node.js\it-calendar\node_modules\node-rfc\node_modules\node-addon-api\napi-inl.h(723): error C3861: "napi_get_value_bigint_words": Bezeichner wurde nicht gefunden. [C:\Users\mschleew\Entwicklu 
ng\Node.js\it-calendar\node_modules\node-rfc\build\sapnwrfc.vcxproj]
  Throughput.cc
c:\users\mschleew\entwicklung\node.js\it-calendar\node_modules\node-rfc\node_modules\node-addon-api\napi-inl.h(673): error C3861: "napi_create_bigint_int64": Bezeichner wurde nicht gefunden. [C:\Users\mschleew\Entwicklung\ 
Node.js\it-calendar\node_modules\node-rfc\build\sapnwrfc.vcxproj]
c:\users\mschleew\entwicklung\node.js\it-calendar\node_modules\node-rfc\node_modules\node-addon-api\napi-inl.h(680): error C3861: "napi_create_bigint_uint64": Bezeichner wurde nicht gefunden. [C:\Users\mschleew\Entwicklung 
\Node.js\it-calendar\node_modules\node-rfc\build\sapnwrfc.vcxproj]
c:\users\mschleew\entwicklung\node.js\it-calendar\node_modules\node-rfc\node_modules\node-addon-api\napi-inl.h(687): error C3861: "napi_create_bigint_words": Bezeichner wurde nicht gefunden. [C:\Users\mschleew\Entwicklung\ 
Node.js\it-calendar\node_modules\node-rfc\build\sapnwrfc.vcxproj]
c:\users\mschleew\entwicklung\node.js\it-calendar\node_modules\node-rfc\node_modules\node-addon-api\napi-inl.h(700): error C3861: "napi_get_value_bigint_int64": Bezeichner wurde nicht gefunden. [C:\Users\mschleew\Entwicklu 
ng\Node.js\it-calendar\node_modules\node-rfc\build\sapnwrfc.vcxproj]
c:\users\mschleew\entwicklung\node.js\it-calendar\node_modules\node-rfc\node_modules\node-addon-api\napi-inl.h(708): error C3861: "napi_get_value_bigint_uint64": Bezeichner wurde nicht gefunden. [C:\Users\mschleew\Entwickl 
ung\Node.js\it-calendar\node_modules\node-rfc\build\sapnwrfc.vcxproj]
c:\users\mschleew\entwicklung\node.js\it-calendar\node_modules\node-rfc\node_modules\node-addon-api\napi-inl.h(716): error C3861: "napi_get_value_bigint_words": Bezeichner wurde nicht gefunden. [C:\Users\mschleew\Entwicklu 
ng\Node.js\it-calendar\node_modules\node-rfc\build\sapnwrfc.vcxproj]
c:\users\mschleew\entwicklung\node.js\it-calendar\node_modules\node-rfc\node_modules\node-addon-api\napi-inl.h(723): error C3861: "napi_get_value_bigint_words": Bezeichner wurde nicht gefunden. [C:\Users\mschleew\Entwicklu 
ng\Node.js\it-calendar\node_modules\node-rfc\build\sapnwrfc.vcxproj]
  nwrfcsdk.cc
c:\users\mschleew\entwicklung\node.js\it-calendar\node_modules\node-rfc\node_modules\node-addon-api\napi-inl.h(673): error C3861: "napi_create_bigint_int64": Bezeichner wurde nicht gefunden. [C:\Users\mschleew\Entwicklung\ 
Node.js\it-calendar\node_modules\node-rfc\build\sapnwrfc.vcxproj]
c:\users\mschleew\entwicklung\node.js\it-calendar\node_modules\node-rfc\node_modules\node-addon-api\napi-inl.h(680): error C3861: "napi_create_bigint_uint64": Bezeichner wurde nicht gefunden. [C:\Users\mschleew\Entwicklung 
\Node.js\it-calendar\node_modules\node-rfc\build\sapnwrfc.vcxproj]
c:\users\mschleew\entwicklung\node.js\it-calendar\node_modules\node-rfc\node_modules\node-addon-api\napi-inl.h(687): error C3861: "napi_create_bigint_words": Bezeichner wurde nicht gefunden. [C:\Users\mschleew\Entwicklung\ 
Node.js\it-calendar\node_modules\node-rfc\build\sapnwrfc.vcxproj]
c:\users\mschleew\entwicklung\node.js\it-calendar\node_modules\node-rfc\node_modules\node-addon-api\napi-inl.h(700): error C3861: "napi_get_value_bigint_int64": Bezeichner wurde nicht gefunden. [C:\Users\mschleew\Entwicklu 
ng\Node.js\it-calendar\node_modules\node-rfc\build\sapnwrfc.vcxproj]
c:\users\mschleew\entwicklung\node.js\it-calendar\node_modules\node-rfc\node_modules\node-addon-api\napi-inl.h(708): error C3861: "napi_get_value_bigint_uint64": Bezeichner wurde nicht gefunden. [C:\Users\mschleew\Entwickl 
ung\Node.js\it-calendar\node_modules\node-rfc\build\sapnwrfc.vcxproj]
c:\users\mschleew\entwicklung\node.js\it-calendar\node_modules\node-rfc\node_modules\node-addon-api\napi-inl.h(716): error C3861: "napi_get_value_bigint_words": Bezeichner wurde nicht gefunden. [C:\Users\mschleew\Entwicklu 
ng\Node.js\it-calendar\node_modules\node-rfc\build\sapnwrfc.vcxproj]
c:\users\mschleew\entwicklung\node.js\it-calendar\node_modules\node-rfc\node_modules\node-addon-api\napi-inl.h(723): error C3861: "napi_get_value_bigint_words": Bezeichner wurde nicht gefunden. [C:\Users\mschleew\Entwicklu 
ng\Node.js\it-calendar\node_modules\node-rfc\build\sapnwrfc.vcxproj]
ERR! OMG Process terminated: 1
npm WARN it-calendar@1.0.0 No repository field.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! node-rfc@2.0.3 install: `prebuild-install --tag-prefix -r napi || cmake-js rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the node-rfc@2.0.3 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
ghost commented 4 years ago

Not sure what the reason was exactly but I upgraded Node.js from 13.9.0 to 14.7.0 and checked the box where it said "install additional stuff like chocolatey, python, build tools etc" (although I also checked that box half a year ago when I installed 13.9.0).

bsrdjan commented 4 years ago

The line WARN This package does not support N-API version undefined does not look good. When N-API version not detected, the pre-built binary can't be located and downloaded, which is why the local build from source starts, requiring the full toolchain, which is unnecessary.

I just reproduced, need to investigate further. It happens on Windows only, regardless of the node version.

bsrdjan commented 4 years ago

The installation and build from source work for N-API 6 versions only: https://nodejs.org/api/n-api.html#n_api_n_api_version_matrix, need to improve the documentation. Usage from other (supported) node versions is fine.