Closed nikmalenovic closed 2 years ago
Thank you very much for finding this bug. There is a new CMake option for using any unarchiver available on system now incorporated into CMakeLists: https://github.com/SAP/node-rfc/commit/886aea9cdc57caa471ce71dcf1653014e1bf1d81
The fix will be shipped in next release.
Describe the bug Alternative installation instructions fail to mention requirement that tar.exe capable of handling bzip content is on the path, e.g. libarchive's bsdtar with a link from bsdtar.exe to tar.exe since CMakeLists.txt hardcodes the tar executable name as tar without an opportunity to specify or discover alternative executable names.
To Reproduce Use Windows 2012 R2 x64 (
Microsoft Windows [Version 6.3.9600]
). Install Visual C++ redistributable 2013 x64. Install SAP NW RFC SDK 7.50 (750 Patch Level 8
). Install node.js LTS 14 (14.17.3
) along with tooling. SetSAPNWRFC_HOME=c:\nwrfcsdk
. Addc:\nwrfcsdk\lib
to the PATH. Check that rfcexec (c:\nwrfcsdk\bin\rfcexec.exe
) runs without errors. Install Visual Studio 2019 for C++ build. Follow the alternative installation instructions (git clone, npm install, npm run addon). Build errors out with "file RENAME failed to rename" on line 69 of CMakeLists.txt which attempts to rename folder created by tar command on line 67:execute_process(COMMAND tar -xzf ${NODE_HEADERS_DOWNLD_PATH})
.Screenshots The following is the transcript showing the error on a system without tar.exe in the path:
Environment
node -p "require('node-rfc').environment"
is not available because module won't installAdditional context Certain Windows 10 builds ship with libarchive's bsdtar implementation in
C:\Windows\System32\tar.exe
- see Microsoft blog post ; or download your own copy from libarchive. Once downloaded, add it's bin to path and use mklink to link bsdtar.exe as tar.exe.