Closed smanders closed 5 years ago
completed with commit to dev branch referenced above
until a new release of externpro is made, I may periodically update node to the latest 10.x release
10.15.2 fails to build on Windows
22>CUSTOMBUILD : warning : No acceptable ASM compiler found!
22> Please make sure you have installed NASM from http://www.nasm.us
22> and refer BUILDING.md.
22>CUSTOMBUILD : error : Did not find a new enough assembler, install one or build with
22> --openssl-no-asm.
22> Please refer to BUILDING.md
22>Failed to create vc project files.
22>Done building project "nodev10.15.2_Releasevcbuild.vcxproj" -- FAILED.
99>Error copying file "C:/src/externpro/_bld/xpbase/Source/nodev10.15.2/Release/node.lib" to "C:/src/externpro/_bld/externpro_18.11.1-8-gb9337b1-vc141-64/nodev10.15.2/lib".
99>C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(171,5): error MSB6006: "cmd.exe" exited with code 1.
99>Done building project "nodev10.15.2_Release.vcxproj" -- FAILED.
known issue: https://github.com/nodejs/node/issues/19918 (build: default building of master is broken on Windows without NASM)
Node.js OpenSSL asm support https://github.com/nodejs/node/blob/v10.x/BUILDING.md#openssl-asm-support
vcbuild.bat https://github.com/nodejs/node/blob/v10.15.2/vcbuild.bat#L193-L194
if not defined openssl_no_asm call tools\msvs\find_nasm.cmd
if errorlevel 1 echo Could not find NASM, install it or build with openssl-no-asm. See BUILDING.md.
find_nasm.cmd https://github.com/nodejs/node/blob/v10.15.2/tools/msvs/find_nasm.cmd
for now I will be adding --openssl-no-asm
in the future perhaps nasm could be added to externpro? https://www.nasm.us/
removing last commit from dev branch since
openssl-no-asm
option isn't recognized by the older version of node externpro is building (8.12.0)commit 329db83601bc1f305f7a65f0817392567761251e
Author: Scott M Anderson <smanders@sdl.usu.edu>
Date: Fri Jun 7 14:04:24 2019 -0600
nodejs windows configure with openssl_no_asm
* until externpro builds nasm or yasm is supported by node.js
* issue https://github.com/smanders/externpro/issues/219#issuecomment-500018977
diff --git a/projects/node.cmake b/projects/node.cmake
index 38a67e6..2c1050e 100644
--- a/projects/node.cmake
+++ b/projects/node.cmake
@@ -45,7 +45,7 @@ function(build_node_ver ver)
message(FATAL_ERROR "node.cmake: cpu")
endif()
if(MSVC)
- set(XP_CONFIGURE_BASE vcbuild nosign)
+ set(XP_CONFIGURE_BASE vcbuild nosign openssl-no-asm)
set(XP_CONFIGURE_Release ${XP_CONFIGURE_BASE} release ${destcpu})
set(XP_CONFIGURE_Debug ${XP_CONFIGURE_BASE} debug ${destcpu})
elseif(UNIX)
node | externpro |
---|---|
0.12.7p | 15.10.2 |
5.10.1p | 16.04.1 |
5.10.1 | 16.07.1 |
6.9.0 | 16.10.2 |
6.11.4 | 17.10.1 |
8.11.0 | 18.04.1 |
8.12.0 | 18.11.1 |
I tried all kinds of things to successfully find nasm and avoid patching node, to no avail
find_nasm.cmd
would work if I called it directly from a windows command prompt (call find_nasm.cmd
), but wouldn't work when called from Visual Studio and node's vcbuild.bat
the first lines find nasm if it's in your PATH
FOR /F "delims=" %%a IN ('where nasm 2^> NUL') DO (
EXIT /B 0
)
and the next lines find nasm if it's installed to ProgramFiles
IF EXIST "%ProgramFiles%\NASM\nasm.exe" (
SET "Path=%Path%;%ProgramFiles%\NASM"
EXIT /B 0
)
IF EXIST "%ProgramFiles(x86)%\NASM\nasm.exe" (
SET "Path=%Path%;%ProgramFiles(x86)%\NASM"
EXIT /B 0
)
I had nasm installed to ProgramFiles and put it in my path and it failed to find nasm - but as soon as I put nasm in a directory that doesn't require escalated privileges (?) it could find nasm
so I patched find_nasm.cmd
and look for nasm in it's extracted source directory in externpro
completed with commits to dev branch referenced above
Node.js Release Schedule https://github.com/nodejs/Release https://nodejs.org/
see https://github.com/smanders/externpro/issues/218 for "the plan" -- this issue is to