Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add node.js 10.x and remove node.js 8.11.0 #219

Closed
smanders opened this issue Sep 28, 2018 · 8 comments
Closed

add node.js 10.x and remove node.js 8.11.0 #219

smanders opened this issue Sep 28, 2018 · 8 comments
Assignees
Labels
Milestone

Comments

@smanders
Copy link
Owner

smanders commented Sep 28, 2018

Node.js Release Schedule
https://github.com/nodejs/Release
https://nodejs.org/

see #218 for "the plan" -- this issue is to

  • remove 8.11.0 and add the latest 10.x release (hopefully now an Active LTS release)
  • completion of this issue should mean that we're building 8.12.0 (as default) and 10.x (for development)
@smanders smanders added this to the next milestone Sep 28, 2018
@smanders smanders mentioned this issue Sep 28, 2018
53 tasks
@smanders smanders modified the milestones: next, current Dec 11, 2018
@smanders smanders self-assigned this Dec 11, 2018
smanders pushed a commit that referenced this issue Dec 11, 2018
* remove version 8.11.0
* continue to build default version 8.12.0
* issue #219
@smanders
Copy link
Owner Author

completed with commit to dev branch referenced above

@smanders
Copy link
Owner Author

smanders commented Mar 4, 2019

until a new release of externpro is made, I may periodically update node to the latest 10.x release

@smanders smanders reopened this Mar 4, 2019
smanders pushed a commit that referenced this issue Mar 4, 2019
* remove version 10.14.1
* continue to build default version 8.12.0
* issue #219
@smanders smanders mentioned this issue Mar 7, 2019
37 tasks
@smanders
Copy link
Owner Author

smanders commented Jun 6, 2019

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: nodejs/node#19918 (build: default building of master is broken on Windows without NASM)

@smanders
Copy link
Owner Author

smanders commented Jun 7, 2019

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

  • only looks for nasm.exe
  • would be great if it looked for yasm http://yasm.tortall.net/ "Yasm is a complete rewrite of the NASM assembler" and is already built as part of externpro add yasm #157

for now I will be adding --openssl-no-asm

in the future perhaps nasm could be added to externpro? https://www.nasm.us/

smanders pushed a commit that referenced this issue Jun 7, 2019
* until externpro builds nasm or yasm is supported by node.js
* issue #219 (comment)
@smanders
Copy link
Owner Author

removing last commit from dev branch since

  • nasm should be added to externpro so performance isn't negatively impacted
  • the 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)

@smanders smanders mentioned this issue Jun 11, 2019
smanders pushed a commit that referenced this issue Jun 11, 2019
smanders pushed a commit that referenced this issue Jun 11, 2019
smanders pushed a commit that referenced this issue Jun 12, 2019
smanders pushed a commit that referenced this issue Jun 12, 2019
* remove version 10.15.2
* continue to build default version 8.12.0
* issue #219
smanders pushed a commit that referenced this issue Jun 14, 2019
@smanders
Copy link
Owner Author

smanders commented Jun 14, 2019

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

smanders pushed a commit to externpro/node that referenced this issue Jun 14, 2019
smanders pushed a commit that referenced this issue Jun 14, 2019
@smanders
Copy link
Owner Author

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

smanders pushed a commit that referenced this issue Jun 14, 2019
smanders pushed a commit that referenced this issue Jun 14, 2019
smanders pushed a commit that referenced this issue Jun 14, 2019
@smanders
Copy link
Owner Author

completed with commits to dev branch referenced above

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant