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

update node.js version beyond 10 #272

Closed
smanders opened this issue Jun 10, 2020 · 15 comments
Closed

update node.js version beyond 10 #272

smanders opened this issue Jun 10, 2020 · 15 comments
Labels
Milestone

Comments

@smanders
Copy link
Owner

we currently build node version 10.17.0
https://github.com/smanders/externpro/blob/20.02.1/projects/node_10.17.0.cmake#L1

https://nodejs.org/en/about/releases/

  • v10 is in "Maintenance LTS" as of 2020.05.19
  • v12 is in "Active LTS" as of 2019.10.21 and will enter "Maintenance LTS" 2020.10.20
  • v14 had initial release 2020.04.21 but isn't "Active LTS", yet

with v10 there is an "intermittent linux build" failure "due to mulitple threads trying to access the cache", which slows down linux builds of VANTAGE webclient, but hopefully only a temporary slowdown until we move to a newer node version (VantageSuper/pull/4095)

@smanders smanders added this to the next milestone Jun 10, 2020
@smanders
Copy link
Owner Author

Cameron mentioned that we may be able to turn off building npm when we build node

@smanders smanders modified the milestones: next, future Jan 22, 2021
@sbowler
Copy link

sbowler commented Mar 31, 2021

Is this anywhere on the near roadmap? v14 has been active LTS for several months now and the current version will be EOL within a month. Of course there are also several nice features and capabilities in the newer versions that would be nice to be able to use.

@smanders smanders modified the milestones: future, 21.04 Apr 1, 2021
@smanders
Copy link
Owner Author

smanders commented Apr 1, 2021

there you go @sbowler ... on the near roadmap, now! do we have opinions on whether we should move straight from v10 to v14, or first go to v12? are we going to run into issues with either update (to v12 or v14)? should addons build without any changes, etc? @cameronfrandsen

@sbowler
Copy link

sbowler commented Apr 1, 2021

Thanks. I don't see any reason not to try to go straight to v14. Not sure what issues there might be. If anything I would expect issues with the addons. It would be really nice if someone could update them to use the new NAPI stuff and then updates would be less of an issue. Not sure who has time and could do that though.

@grahamaj
Copy link

grahamaj commented Apr 2, 2021

I have had my eye on v16. It comes out in April and it could potentially solve our FIPS compliance problems.

@smanders
Copy link
Owner Author

smanders commented May 10, 2021

only visual studio 2017 is supported by node v10.x (the latest is v10.24.1 as of right now)
https://github.com/nodejs/node/blob/v10.24.1/vcbuild.bat#L83

visual studio 2017 and 2019 are supported by node v12.x (latest is v12.22.1 as of right now)
https://github.com/nodejs/node/blob/v12.22.1/vcbuild.bat#L84-L85

the latest node v14.x is currently v14.16.1

node v14.16.1 uses openssl 1.1.1k https://github.com/nodejs/node/tree/v14.16.1/deps/openssl nodejs/node@6bc8f58

@smanders
Copy link
Owner Author

smanders commented Jun 1, 2021

latest node v14.x is currently v14.17.0

@smanders
Copy link
Owner Author

smanders commented Jun 1, 2021

we currently patch v10.17.0
nodejs/node@v10.17.0...smanders:xp10.17.0

the patch is discussed here #219 (comment)

smanders pushed a commit that referenced this issue Jun 1, 2021
* nodejs: #272
* openssl: #314
* activemqcpp, libssh2, libstrophe build on openssl 1.1.1k now
* nodejs configure no longer understands --without-perfctr option
@smanders
Copy link
Owner Author

smanders commented Jun 1, 2021

building on Windows with Visual Studio 2019

33>Performing configure step for 'nodejs_14.17.0_Releasevcbuild'
33>Note: vcbuild no longer signs by default. "nosign" is redundant.
33>Looking for Python
33>Python found in C:\Python27\\python.exe
33>Looking for NASM
33>Could not find NASM, install it or build with openssl-no-asm. See BUILDING.md.
33>Looking for Visual Studio 2019
33>calling: "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\\Auxiliary\Build\vcvarsall.bat" amd64
33>**********************************************************************
33>** Visual Studio 2019 Developer Command Prompt v16.9.5
33>** Copyright (c) 2021 Microsoft Corporation
33>**********************************************************************
33>[vcvarsall.bat] Environment initialized for: 'x64'
33>Found MSVS version 16.0
33>configure  --with-ltcg --dest-cpu=x64
33>Node.js configure: Found Python 2.7.18...
33>CUSTOMBUILD : warning : No acceptable ASM compiler found!
33>         Please make sure you have installed NASM from https://www.nasm.us
33>         and refer BUILDING.md.
33>CUSTOMBUILD : error : Did not find a new enough assembler, install one or build with
33>       --openssl-no-asm.
33>       Please refer to BUILDING.md
33>Failed to create vc project files.
33>C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(240,5): error MSB8066: Custom build for 'C:\dev\src\externpro\_bld\CMakeFiles\96caf2fa2cea28fd62023cca56230e3b\nodejs_14.17.0_Releasevcbuild-configure.rule;C:\dev\src\externpro\_bld\CMakeFiles\96caf2fa2cea28fd62023cca56230e3b\nodejs_14.17.0_Releasevcbuild-build.rule;C:\dev\src\externpro\_bld\CMakeFiles\96caf2fa2cea28fd62023cca56230e3b\nodejs_14.17.0_Releasevcbuild-install.rule;C:\dev\src\externpro\_bld\CMakeFiles\2ca6e6f6a3563753e205327f3d73fb01\nodejs_14.17.0_Releasevcbuild-complete.rule;C:\dev\src\externpro\_bld\CMakeFiles\9f402c4deb4245014d6e81937f991915\nodejs_14.17.0_Releasevcbuild.rule' exited with code 1.
33>Done building project "nodejs_14.17.0_Releasevcbuild.vcxproj" -- FAILED.

smanders pushed a commit that referenced this issue Jun 1, 2021
Note: vcbuild no longer signs by default. "nosign" is redundant.
issue #272
@smanders
Copy link
Owner Author

smanders commented Jun 4, 2021

nodejs 14.17.0 fails to build with Visual Studio 2017

1>------ Build started: Project: patch, Configuration: Release x64 ------
2>------ Build started: Project: nodejs_14.17.0, Configuration: Release x64 ------
3>------ Build started: Project: nodejs_14.17.0_Releasevcbuild, Configuration: Release x64 ------
3>Creating directories for 'nodejs_14.17.0_Releasevcbuild'
3>Building Custom Rule C:/dev/src/externpro/CMakeLists.txt
3>No download step for 'nodejs_14.17.0_Releasevcbuild'
3>No update step for 'nodejs_14.17.0_Releasevcbuild'
3>No patch step for 'nodejs_14.17.0_Releasevcbuild'
3>Performing configure step for 'nodejs_14.17.0_Releasevcbuild'
3>Looking for Python
3>Python found in C:\Python27\\python.exe
3>Looking for NASM
3>externpro E:\smanders\bld\externpro\xpbase\Source\nodejs_14.17.0\tools\msvs\..\..\..\nasm
3>Looking for Visual Studio 2019
3>Looking for Visual Studio 2017
3>calling: "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\\Auxiliary\Build\vcvarsall.bat" amd64
3>**********************************************************************
3>** Visual Studio 2017 Developer Command Prompt v15.7.1
3>** Copyright (c) 2017 Microsoft Corporation
3>**********************************************************************
3>[vcvarsall.bat] Environment initialized for: 'x64'
3>Found MSVS version 15.0
3>Reusing solution generated with  --with-ltcg --dest-cpu=x64
3>  histogram.vcxproj -> ..\..\out\Release\lib\histogram.lib
3>  v8_libplatform.vcxproj -> ..\..\out\Release\lib\v8_libplatform.lib
3>  zlib.vcxproj -> ..\..\out\Release\lib\zlib.lib
3>  llhttp.vcxproj -> ..\..\out\Release\lib\llhttp.lib
3>  cares.vcxproj -> ..\..\out\Release\lib\cares.lib
3>  libuv.vcxproj -> ..\..\out\Release\lib\libuv.lib
3>  uvwasi.vcxproj -> ..\..\out\Release\lib\uvwasi.lib
3>  nghttp2.vcxproj -> ..\..\out\Release\lib\nghttp2.lib
3>  brotli.vcxproj -> ..\..\out\Release\lib\brotli.lib
3>  torque_base.vcxproj -> ..\..\out\Release\lib\torque_base.lib
3>  v8_libbase.vcxproj -> ..\..\out\Release\lib\v8_libbase.lib
3>  torque.vcxproj -> ..\..\out\Release\\torque.exe
3>  bytecode_builtins_list_generator.vcxproj -> ..\..\out\Release\\bytecode_builtins_list_generator.exe
3>  v8_libsampler.vcxproj -> ..\..\out\Release\lib\v8_libsampler.lib
3>  v8_zlib.vcxproj -> ..\..\out\Release\lib\v8_zlib.lib
3>  openssl.vcxproj -> ..\..\out\Release\lib\openssl.lib
3>  openssl-cli.vcxproj -> ..\..\out\Release\\openssl-cli.exe
3>  icutools.vcxproj -> ..\..\out\Release\lib\icutools.lib
3>  icui18n.vcxproj -> ..\..\out\Release\lib\icui18n.lib
3>  icuucx.vcxproj -> ..\..\out\Release\lib\icuucx.lib
3>  genccode.vcxproj -> ..\..\out\Release\\genccode.exe
3>  icudata.vcxproj -> ..\..\out\Release\lib\icudata.lib
3>  gen-regexp-special-case.vcxproj -> ..\..\out\Release\\gen-regexp-special-case.exe
3>  setup-isolate-full.cc
3>  add-type-assertions-reducer.cc
3>  builtins-array-gen.cc
3>e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\base\template-utils.h(70): error C2131: expression did not evaluate to a constant [E:\smanders\bld\externpro\xpbase\Source\nodejs_14.17.0\tools\v8_gypfiles\v8_initializers.vcxproj]
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\base\template-utils.h(70): note: failure was caused by a read of a variable outside its lifetime
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\base\template-utils.h(70): note: see usage of 'first'
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\base\template-utils.h(70): note: while evaluating 'v8::internal::detail::CombineRegListsHelper()'
3>e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\base\template-utils.h(71): error C2131: expression did not evaluate to a constant [E:\smanders\bld\externpro\xpbase\Source\nodejs_14.17.0\tools\v8_gypfiles\v8_initializers.vcxproj]
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\base\template-utils.h(71): note: failure was caused by control reaching the end of a constexpr function
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\base\template-utils.h(71): note: while evaluating 'v8::base::fold(&v8::internal::detail::CombineRegListsHelper, &v8::internal::$S26, &<lists_1>, &<lists_2>, &<lists_3>, &<lists_4>)'
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\codegen\reglist.h(39): note: while evaluating 'v8::base::fold(&v8::internal::detail::CombineRegListsHelper, &v8::internal::$S26, &<lists_1>, &<lists_2>, &<lists_3>, &<lists_4>)'
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\codegen\register.h(44): note: while evaluating 'v8::internal::CombineRegLists(&v8::internal::detail::CombineRegListsHelper, &v8::internal::$S26, &<lists_1>, &<lists_2>, &<lists_3>, &<lists_4>)'
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\codegen\x64\register-x64.h(81): note: while evaluating 'v8::internal::RegisterBase<v8::internal::Register,16>::ListOf(&v8::internal::detail::CombineRegListsHelper, &v8::internal::$S26, &<lists_1>, &<lists_2>, &<lists_3>, &<lists_4>)'
3>e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\codegen\reglist.h(39): error C2131: expression did not evaluate to a constant [E:\smanders\bld\externpro\xpbase\Source\nodejs_14.17.0\tools\v8_gypfiles\v8_initializers.vcxproj]
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\base\template-utils.h(71): note: failure was caused by control reaching the end of a constexpr function
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\codegen\reglist.h(39): note: while evaluating 'v8::base::fold(&v8::internal::detail::CombineRegListsHelper, &0, &<lists_0>, &<lists_1>, &<lists_2>, &<lists_3>, &<lists_4>)'
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\codegen\register.h(44): note: while evaluating 'v8::internal::CombineRegLists(&v8::internal::detail::CombineRegListsHelper, &0, &<lists_0>, &<lists_1>, &<lists_2>, &<lists_3>, &<lists_4>)'
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\codegen\x64\register-x64.h(81): note: while evaluating 'v8::internal::RegisterBase<v8::internal::Register,16>::ListOf(&v8::internal::detail::CombineRegListsHelper, &0, &<lists_0>, &<lists_1>, &<lists_2>, &<lists_3>, &<lists_4>)'
3>e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\codegen\register.h(44): error C2131: expression did not evaluate to a constant [E:\smanders\bld\externpro\xpbase\Source\nodejs_14.17.0\tools\v8_gypfiles\v8_initializers.vcxproj]
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\codegen\reglist.h(39): note: failure was caused by control reaching the end of a constexpr function
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\codegen\register.h(44): note: while evaluating 'v8::internal::CombineRegLists(1, 2, 4, 8, 128)'
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\codegen\x64\register-x64.h(81): note: while evaluating 'v8::internal::RegisterBase<v8::internal::Register,16>::ListOf(1, 2, 4, 8, 128)'
3>e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\codegen\x64\register-x64.h(81): error C2131: expression did not evaluate to a constant [E:\smanders\bld\externpro\xpbase\Source\nodejs_14.17.0\tools\v8_gypfiles\v8_initializers.vcxproj]
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\codegen\register.h(44): note: failure was caused by control reaching the end of a constexpr function
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\codegen\x64\register-x64.h(81): note: while evaluating 'v8::internal::RegisterBase<v8::internal::Register,16>::ListOf(v8::internal::Register{v8::internal::RegisterBase<class v8::internal::Register,16>{v8::internal::RegisterBase<class v8::internal::Register,16>::reg_code_=0}}, v8::internal::Register{v8::internal::RegisterBase<class v8::internal::Register,16>{v8::internal::RegisterBase<class v8::internal::Register,16>::reg_code_=1}}, v8::internal::Register{v8::internal::RegisterBase<class v8::internal::Register,16>{v8::internal::RegisterBase<class v8::internal::Register,16>::reg_code_=2}}, v8::internal::Register{v8::internal::RegisterBase<class v8::internal::Register,16>{v8::internal::RegisterBase<class v8::internal::Register,16>::reg_code_=3}}, v8::internal::Register{v8::internal::RegisterBase<class v8::internal::Register,16>{v8::internal::RegisterBase<class v8::internal::Register,16>::reg_code_=7}})'
3>e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\compiler\add-type-assertions-reducer.cc(34): error C2660: 'v8::internal::compiler::Graph::NewNode': function does not take 2 arguments [E:\smanders\bld\externpro\xpbase\Source\nodejs_14.17.0\tools\v8_gypfiles\v8_compiler.vcxproj]
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\compiler\graph.h(63): note: see declaration of 'v8::internal::compiler::Graph::NewNode'
3>e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\base\template-utils.h(70): error C2131: expression did not evaluate to a constant [E:\smanders\bld\externpro\xpbase\Source\nodejs_14.17.0\tools\v8_gypfiles\v8_init.vcxproj]
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\base\template-utils.h(70): note: failure was caused by a read of a variable outside its lifetime
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\base\template-utils.h(70): note: see usage of 'first'
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\base\template-utils.h(70): note: while evaluating 'v8::internal::detail::CombineRegListsHelper()'
3>e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\base\template-utils.h(71): error C2131: expression did not evaluate to a constant [E:\smanders\bld\externpro\xpbase\Source\nodejs_14.17.0\tools\v8_gypfiles\v8_init.vcxproj]
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\base\template-utils.h(71): note: failure was caused by control reaching the end of a constexpr function
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\base\template-utils.h(71): note: while evaluating 'v8::base::fold(&v8::internal::detail::CombineRegListsHelper, &v8::internal::$S6, &<lists_1>, &<lists_2>, &<lists_3>, &<lists_4>)'
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\codegen\reglist.h(39): note: while evaluating 'v8::base::fold(&v8::internal::detail::CombineRegListsHelper, &v8::internal::$S6, &<lists_1>, &<lists_2>, &<lists_3>, &<lists_4>)'
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\codegen\register.h(44): note: while evaluating 'v8::internal::CombineRegLists(&v8::internal::detail::CombineRegListsHelper, &v8::internal::$S6, &<lists_1>, &<lists_2>, &<lists_3>, &<lists_4>)'
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\codegen\x64\register-x64.h(81): note: while evaluating 'v8::internal::RegisterBase<v8::internal::Register,16>::ListOf(&v8::internal::detail::CombineRegListsHelper, &v8::internal::$S6, &<lists_1>, &<lists_2>, &<lists_3>, &<lists_4>)'
3>e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\codegen\reglist.h(39): error C2131: expression did not evaluate to a constant [E:\smanders\bld\externpro\xpbase\Source\nodejs_14.17.0\tools\v8_gypfiles\v8_init.vcxproj]
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\base\template-utils.h(71): note: failure was caused by control reaching the end of a constexpr function
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\codegen\reglist.h(39): note: while evaluating 'v8::base::fold(&v8::internal::detail::CombineRegListsHelper, &0, &<lists_0>, &<lists_1>, &<lists_2>, &<lists_3>, &<lists_4>)'
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\codegen\register.h(44): note: while evaluating 'v8::internal::CombineRegLists(&v8::internal::detail::CombineRegListsHelper, &0, &<lists_0>, &<lists_1>, &<lists_2>, &<lists_3>, &<lists_4>)'
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\codegen\x64\register-x64.h(81): note: while evaluating 'v8::internal::RegisterBase<v8::internal::Register,16>::ListOf(&v8::internal::detail::CombineRegListsHelper, &0, &<lists_0>, &<lists_1>, &<lists_2>, &<lists_3>, &<lists_4>)'
3>e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\codegen\register.h(44): error C2131: expression did not evaluate to a constant [E:\smanders\bld\externpro\xpbase\Source\nodejs_14.17.0\tools\v8_gypfiles\v8_init.vcxproj]
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\codegen\reglist.h(39): note: failure was caused by control reaching the end of a constexpr function
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\codegen\register.h(44): note: while evaluating 'v8::internal::CombineRegLists(1, 2, 4, 8, 128)'
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\codegen\x64\register-x64.h(81): note: while evaluating 'v8::internal::RegisterBase<v8::internal::Register,16>::ListOf(1, 2, 4, 8, 128)'
3>e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\codegen\x64\register-x64.h(81): error C2131: expression did not evaluate to a constant [E:\smanders\bld\externpro\xpbase\Source\nodejs_14.17.0\tools\v8_gypfiles\v8_init.vcxproj]
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\codegen\register.h(44): note: failure was caused by control reaching the end of a constexpr function
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\codegen\x64\register-x64.h(81): note: while evaluating 'v8::internal::RegisterBase<v8::internal::Register,16>::ListOf(v8::internal::Register{v8::internal::RegisterBase<class v8::internal::Register,16>{v8::internal::RegisterBase<class v8::internal::Register,16>::reg_code_=0}}, v8::internal::Register{v8::internal::RegisterBase<class v8::internal::Register,16>{v8::internal::RegisterBase<class v8::internal::Register,16>::reg_code_=1}}, v8::internal::Register{v8::internal::RegisterBase<class v8::internal::Register,16>{v8::internal::RegisterBase<class v8::internal::Register,16>::reg_code_=2}}, v8::internal::Register{v8::internal::RegisterBase<class v8::internal::Register,16>{v8::internal::RegisterBase<class v8::internal::Register,16>::reg_code_=3}}, v8::internal::Register{v8::internal::RegisterBase<class v8::internal::Register,16>{v8::internal::RegisterBase<class v8::internal::Register,16>::reg_code_=7}})'
3>  libnode.vcxproj -> out\Release\lib\libnode.lib
3>  api.cc
3>e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\base\template-utils.h(70): error C2131: expression did not evaluate to a constant [E:\smanders\bld\externpro\xpbase\Source\nodejs_14.17.0\tools\v8_gypfiles\v8_base_without_compiler.vcxproj]
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\base\template-utils.h(70): note: failure was caused by a read of a variable outside its lifetime
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\base\template-utils.h(70): note: see usage of 'first'
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\base\template-utils.h(70): note: while evaluating 'v8::internal::detail::CombineRegListsHelper()'
3>e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\base\template-utils.h(71): error C2131: expression did not evaluate to a constant [E:\smanders\bld\externpro\xpbase\Source\nodejs_14.17.0\tools\v8_gypfiles\v8_base_without_compiler.vcxproj]
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\base\template-utils.h(71): note: failure was caused by control reaching the end of a constexpr function
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\base\template-utils.h(71): note: while evaluating 'v8::base::fold(&v8::internal::detail::CombineRegListsHelper, &v8::internal::$S27, &<lists_1>, &<lists_2>, &<lists_3>, &<lists_4>)'
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\codegen\reglist.h(39): note: while evaluating 'v8::base::fold(&v8::internal::detail::CombineRegListsHelper, &v8::internal::$S27, &<lists_1>, &<lists_2>, &<lists_3>, &<lists_4>)'
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\codegen\register.h(44): note: while evaluating 'v8::internal::CombineRegLists(&v8::internal::detail::CombineRegListsHelper, &v8::internal::$S27, &<lists_1>, &<lists_2>, &<lists_3>, &<lists_4>)'
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\codegen\x64\register-x64.h(81): note: while evaluating 'v8::internal::RegisterBase<v8::internal::Register,16>::ListOf(&v8::internal::detail::CombineRegListsHelper, &v8::internal::$S27, &<lists_1>, &<lists_2>, &<lists_3>, &<lists_4>)'
3>e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\codegen\reglist.h(39): error C2131: expression did not evaluate to a constant [E:\smanders\bld\externpro\xpbase\Source\nodejs_14.17.0\tools\v8_gypfiles\v8_base_without_compiler.vcxproj]
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\base\template-utils.h(71): note: failure was caused by control reaching the end of a constexpr function
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\codegen\reglist.h(39): note: while evaluating 'v8::base::fold(&v8::internal::detail::CombineRegListsHelper, &0, &<lists_0>, &<lists_1>, &<lists_2>, &<lists_3>, &<lists_4>)'
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\codegen\register.h(44): note: while evaluating 'v8::internal::CombineRegLists(&v8::internal::detail::CombineRegListsHelper, &0, &<lists_0>, &<lists_1>, &<lists_2>, &<lists_3>, &<lists_4>)'
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\codegen\x64\register-x64.h(81): note: while evaluating 'v8::internal::RegisterBase<v8::internal::Register,16>::ListOf(&v8::internal::detail::CombineRegListsHelper, &0, &<lists_0>, &<lists_1>, &<lists_2>, &<lists_3>, &<lists_4>)'
3>e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\codegen\register.h(44): error C2131: expression did not evaluate to a constant [E:\smanders\bld\externpro\xpbase\Source\nodejs_14.17.0\tools\v8_gypfiles\v8_base_without_compiler.vcxproj]
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\codegen\reglist.h(39): note: failure was caused by control reaching the end of a constexpr function
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\codegen\register.h(44): note: while evaluating 'v8::internal::CombineRegLists(1, 2, 4, 8, 128)'
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\codegen\x64\register-x64.h(81): note: while evaluating 'v8::internal::RegisterBase<v8::internal::Register,16>::ListOf(1, 2, 4, 8, 128)'
3>e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\codegen\x64\register-x64.h(81): error C2131: expression did not evaluate to a constant [E:\smanders\bld\externpro\xpbase\Source\nodejs_14.17.0\tools\v8_gypfiles\v8_base_without_compiler.vcxproj]
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\codegen\register.h(44): note: failure was caused by control reaching the end of a constexpr function
3>  e:\smanders\bld\externpro\xpbase\source\nodejs_14.17.0\deps\v8\src\codegen\x64\register-x64.h(81): note: while evaluating 'v8::internal::RegisterBase<v8::internal::Register,16>::ListOf(v8::internal::Register{v8::internal::RegisterBase<class v8::internal::Register,16>{v8::internal::RegisterBase<class v8::internal::Register,16>::reg_code_=0}}, v8::internal::Register{v8::internal::RegisterBase<class v8::internal::Register,16>{v8::internal::RegisterBase<class v8::internal::Register,16>::reg_code_=1}}, v8::internal::Register{v8::internal::RegisterBase<class v8::internal::Register,16>{v8::internal::RegisterBase<class v8::internal::Register,16>::reg_code_=2}}, v8::internal::Register{v8::internal::RegisterBase<class v8::internal::Register,16>{v8::internal::RegisterBase<class v8::internal::Register,16>::reg_code_=3}}, v8::internal::Register{v8::internal::RegisterBase<class v8::internal::Register,16>{v8::internal::RegisterBase<class v8::internal::Register,16>::reg_code_=7}})'
3>Building Node with reused solution failed. To regenerate project files use "vcbuild projgen"
3>Done building project "nodejs_14.17.0_Releasevcbuild.vcxproj" -- FAILED.
========== Build: 2 succeeded, 1 failed, 1 up-to-date, 0 skipped ==========

@smanders
Copy link
Owner Author

as part of the build of nodejs, headers are copied

# copy headers to STAGE_DIR
ExternalProject_Get_Property(nodejs_${ver} SOURCE_DIR)
set(nodejsHdrs ${SOURCE_DIR}/src/*.h)
set(uvDir ${SOURCE_DIR}/deps/uv/include)
set(v8Hdrs ${SOURCE_DIR}/deps/v8/include/*.h)
set(XP_TARGET nodejs_${ver}_stage)
if(NOT TARGET ${XP_TARGET})
ExternalProject_Add(${XP_TARGET} DEPENDS ${nodejs_${ver}_DEPS}
DOWNLOAD_COMMAND "" DOWNLOAD_DIR ${NULL_DIR} BINARY_DIR ${NULL_DIR}
SOURCE_DIR ${NULL_DIR} INSTALL_DIR ${STAGE_DIR}/include/node_${ver}/node
CONFIGURE_COMMAND ${CMAKE_COMMAND} -E copy_directory ${uvDir} <INSTALL_DIR>
BUILD_COMMAND ${CMAKE_COMMAND} -Dsrc:STRING=${nodejsHdrs}
-Ddst:STRING=<INSTALL_DIR> -P ${MODULES_DIR}/cmscopyfiles.cmake
INSTALL_COMMAND ${CMAKE_COMMAND} -Dsrc:STRING=${v8Hdrs}
-Ddst:STRING=<INSTALL_DIR> -P ${MODULES_DIR}/cmscopyfiles.cmake
)
set_property(TARGET ${XP_TARGET} PROPERTY FOLDER ${bld_folder})
endif()

it appears that additional header(s) need to be copied with updated nodejs

[ 19%] Building CXX object Shared/Sdv8LIB/Sdv8/CMakeFiles/Sdv8.dir/AddonDebugLogger.cpp.o
In file included from /bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/AddonDebugLogger.hpp:11:0,
                 from /bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/AddonDebugLogger.cpp:8:
/bpvol/workspace/externpro/_bld/externpro_21.03-24-g4491eb5-gcc731-64/include/node_14.17.0/node/v8.h:28:10: fatal error: cppgc/common.h: No such file or directory
 #include "cppgc/common.h"
          ^~~~~~~~~~~~~~~~
compilation terminated.

smanders pushed a commit that referenced this issue Jun 15, 2021
@smanders
Copy link
Owner Author

project using node 14.17.0

[ 19%] Building CXX object Shared/Sdv8LIB/Sdv8/CMakeFiles/Sdv8.dir/AddonDebugLogger.cpp.o
In file included from /bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/AddonDebugLogger.cpp:10:0:
/bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/fromV8.hpp: In static member function 'static T sdv8::detail::FromV8<T*, typename std::enable_if<sdv8::detail::IsIntOrFloat<T>::value, void>::type>::get(const v8::Local<v8::Value>&)':
/bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/fromV8.hpp:157:65: error: no matching function for call to 'v8::Value::NumberValue()'
         if (v->IsNumber()) return static_cast<T>(v->NumberValue());
                                                                 ^
In file included from /bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/AddonDebugLogger.hpp:11:0,
                 from /bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/AddonDebugLogger.cpp:8:
/bpvol/workspace/externpro/_bld/externpro_21.03-29-g037d43e-gcc731-64/include/node_14.17.0/node/v8.h:2861:39: note: candidate: v8::Maybe<double> v8::Value::NumberValue(v8::Local<v8::Context>) const
   V8_WARN_UNUSED_RESULT Maybe<double> NumberValue(Local<Context> context) const;
                                       ^~~~~~~~~~~
/bpvol/workspace/externpro/_bld/externpro_21.03-29-g037d43e-gcc731-64/include/node_14.17.0/node/v8.h:2861:39: note:   candidate expects 1 argument, 0 provided
In file included from /bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/AddonDebugLogger.cpp:10:0:
/bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/fromV8.hpp: In static member function 'static sdv8::detail::FromV8<std::basic_string<char>*>::Type sdv8::detail::FromV8<std::basic_string<char>*>::get(const v8::Local<v8::Value>&)':
/bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/fromV8.hpp:176:71: error: no matching function for call to 'v8::Value::ToString()'
         if (v->IsString()) return *(v8::String::Utf8Value(v->ToString()));
                                                                       ^
In file included from /bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/AddonDebugLogger.hpp:11:0,
                 from /bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/AddonDebugLogger.cpp:8:
/bpvol/workspace/externpro/_bld/externpro_21.03-29-g037d43e-gcc731-64/include/node_14.17.0/node/v8.h:2810:44: note: candidate: v8::MaybeLocal<v8::String> v8::Value::ToString(v8::Local<v8::Context>) const
   V8_WARN_UNUSED_RESULT MaybeLocal<String> ToString(
                                            ^~~~~~~~
/bpvol/workspace/externpro/_bld/externpro_21.03-29-g037d43e-gcc731-64/include/node_14.17.0/node/v8.h:2810:44: note:   candidate expects 1 argument, 0 provided
In file included from /bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/AddonDebugLogger.cpp:10:0:
/bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/fromV8.hpp: In static member function 'static sdv8::detail::FromV8<std::vector<T>*>::Type sdv8::detail::FromV8<std::vector<T>*>::get(const v8::Local<v8::Value>&)':
/bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/fromV8.hpp:199:51: error: no matching function for call to 'v8::Array::Get(uint32_t&)'
           vec.push_back(FromV8<T*>::get(arr->Get(i)));
                                                   ^
In file included from /bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/AddonDebugLogger.hpp:11:0,
                 from /bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/AddonDebugLogger.cpp:8:
/bpvol/workspace/externpro/_bld/externpro_21.03-29-g037d43e-gcc731-64/include/node_14.17.0/node/v8.h:3717:43: note: candidate: v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, v8::Local<v8::Value>)
   V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                           ^~~
/bpvol/workspace/externpro/_bld/externpro_21.03-29-g037d43e-gcc731-64/include/node_14.17.0/node/v8.h:3717:43: note:   candidate expects 2 arguments, 1 provided
/bpvol/workspace/externpro/_bld/externpro_21.03-29-g037d43e-gcc731-64/include/node_14.17.0/node/v8.h:3720:43: note: candidate: v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, uint32_t)
   V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                           ^~~
/bpvol/workspace/externpro/_bld/externpro_21.03-29-g037d43e-gcc731-64/include/node_14.17.0/node/v8.h:3720:43: note:   candidate expects 2 arguments, 1 provided
/bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/AddonDebugLogger.cpp: In function 'void {anonymous}::convertToStringBuffer(std::string&, const v8::Local<v8::ArrayBufferView>&, v8::Isolate*)':
/bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/AddonDebugLogger.cpp:66:47: error: no matching function for call to 'v8::ArrayBufferView::Get(uint32_t&)'
       output.append(std::to_string(args->Get(i)->ToInt32(pIsolate)->Value()));
                                               ^
In file included from /bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/AddonDebugLogger.hpp:11:0,
                 from /bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/AddonDebugLogger.cpp:8:
/bpvol/workspace/externpro/_bld/externpro_21.03-29-g037d43e-gcc731-64/include/node_14.17.0/node/v8.h:3717:43: note: candidate: v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, v8::Local<v8::Value>)
   V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                           ^~~
/bpvol/workspace/externpro/_bld/externpro_21.03-29-g037d43e-gcc731-64/include/node_14.17.0/node/v8.h:3717:43: note:   candidate expects 2 arguments, 1 provided
/bpvol/workspace/externpro/_bld/externpro_21.03-29-g037d43e-gcc731-64/include/node_14.17.0/node/v8.h:3720:43: note: candidate: v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, uint32_t)
   V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                           ^~~
/bpvol/workspace/externpro/_bld/externpro_21.03-29-g037d43e-gcc731-64/include/node_14.17.0/node/v8.h:3720:43: note:   candidate expects 2 arguments, 1 provided
/bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/AddonDebugLogger.cpp: In function 'void {anonymous}::convertToStringArray(std::string&, const v8::Local<v8::Array>&, v8::Isolate*)':
/bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/AddonDebugLogger.cpp:79:42: error: no matching function for call to 'v8::Array::Get(uint32_t&)'
       convertToString(output, args->Get(i), pIsolate);
                                          ^
In file included from /bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/AddonDebugLogger.hpp:11:0,
                 from /bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/AddonDebugLogger.cpp:8:
/bpvol/workspace/externpro/_bld/externpro_21.03-29-g037d43e-gcc731-64/include/node_14.17.0/node/v8.h:3717:43: note: candidate: v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, v8::Local<v8::Value>)
   V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                           ^~~
/bpvol/workspace/externpro/_bld/externpro_21.03-29-g037d43e-gcc731-64/include/node_14.17.0/node/v8.h:3717:43: note:   candidate expects 2 arguments, 1 provided
/bpvol/workspace/externpro/_bld/externpro_21.03-29-g037d43e-gcc731-64/include/node_14.17.0/node/v8.h:3720:43: note: candidate: v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, uint32_t)
   V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                           ^~~
/bpvol/workspace/externpro/_bld/externpro_21.03-29-g037d43e-gcc731-64/include/node_14.17.0/node/v8.h:3720:43: note:   candidate expects 2 arguments, 1 provided
/bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/AddonDebugLogger.cpp: In function 'void {anonymous}::convertToStringObj(std::string&, const v8::Local<v8::Object>&, v8::Isolate*)':
/bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/AddonDebugLogger.cpp:90:41: error: no matching function for call to 'v8::Object::GetPropertyNames()'
     auto names = args->GetPropertyNames();
                                         ^
In file included from /bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/AddonDebugLogger.hpp:11:0,
                 from /bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/AddonDebugLogger.cpp:8:
/bpvol/workspace/externpro/_bld/externpro_21.03-29-g037d43e-gcc731-64/include/node_14.17.0/node/v8.h:3825:43: note: candidate: v8::MaybeLocal<v8::Array> v8::Object::GetPropertyNames(v8::Local<v8::Context>)
   V8_WARN_UNUSED_RESULT MaybeLocal<Array> GetPropertyNames(
                                           ^~~~~~~~~~~~~~~~
/bpvol/workspace/externpro/_bld/externpro_21.03-29-g037d43e-gcc731-64/include/node_14.17.0/node/v8.h:3825:43: note:   candidate expects 1 argument, 0 provided
/bpvol/workspace/externpro/_bld/externpro_21.03-29-g037d43e-gcc731-64/include/node_14.17.0/node/v8.h:3827:43: note: candidate: v8::MaybeLocal<v8::Array> v8::Object::GetPropertyNames(v8::Local<v8::Context>, v8::KeyCollectionMode, v8::PropertyFilter, v8::IndexFilter, v8::KeyConversionMode)
   V8_WARN_UNUSED_RESULT MaybeLocal<Array> GetPropertyNames(
                                           ^~~~~~~~~~~~~~~~
/bpvol/workspace/externpro/_bld/externpro_21.03-29-g037d43e-gcc731-64/include/node_14.17.0/node/v8.h:3827:43: note:   candidate expects 5 arguments, 0 provided
/bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/AddonDebugLogger.cpp: In function 'void {anonymous}::convertToString(std::string&, const v8::Local<v8::Value>&, v8::Isolate*)':
/bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/AddonDebugLogger.cpp:134:49: error: no matching function for call to 'v8::Value::ToBoolean()'
       output.append(convertBool(args->ToBoolean()->Value()));
                                                 ^
In file included from /bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/AddonDebugLogger.hpp:11:0,
                 from /bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/AddonDebugLogger.cpp:8:
/bpvol/workspace/externpro/_bld/externpro_21.03-29-g037d43e-gcc731-64/include/node_14.17.0/node/v8.h:2848:18: note: candidate: v8::Local<v8::Boolean> v8::Value::ToBoolean(v8::Isolate*) const
   Local<Boolean> ToBoolean(Isolate* isolate) const;
                  ^~~~~~~~~
/bpvol/workspace/externpro/_bld/externpro_21.03-29-g037d43e-gcc731-64/include/node_14.17.0/node/v8.h:2848:18: note:   candidate expects 1 argument, 0 provided
/bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/AddonDebugLogger.cpp:138:49: error: no matching function for call to 'v8::Value::ToObject()'
       convertToStringObj(output, args->ToObject(), pIsolate);
                                                 ^
In file included from /bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/AddonDebugLogger.hpp:11:0,
                 from /bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/AddonDebugLogger.cpp:8:
/bpvol/workspace/externpro/_bld/externpro_21.03-29-g037d43e-gcc731-64/include/node_14.17.0/node/v8.h:2822:44: note: candidate: v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const
   V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
                                            ^~~~~~~~
/bpvol/workspace/externpro/_bld/externpro_21.03-29-g037d43e-gcc731-64/include/node_14.17.0/node/v8.h:2822:44: note:   candidate expects 1 argument, 0 provided
/bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/AddonDebugLogger.cpp: In function 'void sdv8::setLogger(const v8::FunctionCallbackInfo<v8::Value>&)':
/bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/AddonDebugLogger.cpp:169:41: error: no matching function for call to 'v8::Value::ToBoolean()'
     bool shouldLog = args[0]->ToBoolean()->Value();
                                         ^
In file included from /bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/AddonDebugLogger.hpp:11:0,
                 from /bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/AddonDebugLogger.cpp:8:
/bpvol/workspace/externpro/_bld/externpro_21.03-29-g037d43e-gcc731-64/include/node_14.17.0/node/v8.h:2848:18: note: candidate: v8::Local<v8::Boolean> v8::Value::ToBoolean(v8::Isolate*) const
   Local<Boolean> ToBoolean(Isolate* isolate) const;
                  ^~~~~~~~~
/bpvol/workspace/externpro/_bld/externpro_21.03-29-g037d43e-gcc731-64/include/node_14.17.0/node/v8.h:2848:18: note:   candidate expects 1 argument, 0 provided
/bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/AddonDebugLogger.cpp:177:71: error: no matching function for call to 'v8::Exception::Error(v8::MaybeLocal<v8::String>)'
       v8::Exception::Error(v8::String::NewFromUtf8(pIsolate, e.what())));
                                                                       ^
In file included from /bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/AddonDebugLogger.hpp:11:0,
                 from /bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/AddonDebugLogger.cpp:8:
/bpvol/workspace/externpro/_bld/externpro_21.03-29-g037d43e-gcc731-64/include/node_14.17.0/node/v8.h:7196:23: note: candidate: static v8::Local<v8::Value> v8::Exception::Error(v8::Local<v8::String>)
   static Local<Value> Error(Local<String> message);
                       ^~~~~
/bpvol/workspace/externpro/_bld/externpro_21.03-29-g037d43e-gcc731-64/include/node_14.17.0/node/v8.h:7196:23: note:   no known conversion for argument 1 from 'v8::MaybeLocal<v8::String>' to 'v8::Local<v8::String>'
/bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/AddonDebugLogger.cpp: At global scope:
/bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/AddonDebugLogger.cpp:101:15: error: 'std::string {anonymous}::convertBool(bool)' defined but not used [-Werror=unused-function]
   std::string convertBool(bool toConvert)
               ^~~~~~~~~~~
/bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/AddonDebugLogger.cpp:85:8: error: 'void {anonymous}::convertToStringObj(std::string&, const v8::Local<v8::Object>&, v8::Isolate*)' defined but not used [-Werror=unused-function]
   void convertToStringObj(std::string& output,
        ^~~~~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
make[2]: *** [Shared/Sdv8LIB/Sdv8/CMakeFiles/Sdv8.dir/AddonDebugLogger.cpp.o] Error 1
[ 19%] Building CXX object Shared/Sdv8LIB/Sdv8/CMakeFiles/Sdv8.dir/manipulation.cpp.o
/bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/manipulation.cpp: In function 'void sdv8::callV8Function(v8::Isolate*, v8::Persistent<v8::Function>&, unsigned int, v8::Local<v8::Value>*)':
/bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/manipulation.cpp:25:67: error: no matching function for call to 'v8::Function::Call(v8::Local<v8::Object>, unsigned int&, std::nullptr_t)'
     f->Call(pIsolate->GetCurrentContext()->Global(), argc, nullptr);
                                                                   ^
In file included from /bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/manipulation_fwd.hpp:11:0,
                 from /bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/manipulation.hpp:11,
                 from /bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/manipulation.cpp:8:
/bpvol/workspace/externpro/_bld/externpro_21.03-29-g037d43e-gcc731-64/include/node_14.17.0/node/v8.h:4468:43: note: candidate: v8::MaybeLocal<v8::Value> v8::Function::Call(v8::Local<v8::Context>, v8::Local<v8::Value>, int, v8::Local<v8::Value>*)
   V8_WARN_UNUSED_RESULT MaybeLocal<Value> Call(Local<Context> context,
                                           ^~~~
/bpvol/workspace/externpro/_bld/externpro_21.03-29-g037d43e-gcc731-64/include/node_14.17.0/node/v8.h:4468:43: note:   candidate expects 4 arguments, 3 provided
/bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/manipulation.cpp:27:64: error: no matching function for call to 'v8::Function::Call(v8::Local<v8::Object>, unsigned int&, v8::Local<v8::Value>*&)'
     f->Call(pIsolate->GetCurrentContext()->Global(), argc, argv);
                                                                ^
In file included from /bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/manipulation_fwd.hpp:11:0,
                 from /bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/manipulation.hpp:11,
                 from /bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/manipulation.cpp:8:
/bpvol/workspace/externpro/_bld/externpro_21.03-29-g037d43e-gcc731-64/include/node_14.17.0/node/v8.h:4468:43: note: candidate: v8::MaybeLocal<v8::Value> v8::Function::Call(v8::Local<v8::Context>, v8::Local<v8::Value>, int, v8::Local<v8::Value>*)
   V8_WARN_UNUSED_RESULT MaybeLocal<Value> Call(Local<Context> context,
                                           ^~~~
/bpvol/workspace/externpro/_bld/externpro_21.03-29-g037d43e-gcc731-64/include/node_14.17.0/node/v8.h:4468:43: note:   candidate expects 4 arguments, 3 provided
/bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/manipulation.cpp: In function 'v8::Local<v8::Object> sdv8::toObject(const v8::Local<v8::Value>&)':
/bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/manipulation.cpp:49:24: error: no matching function for call to 'v8::Value::ToObject()'
   return val->ToObject();
                        ^
In file included from /bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/manipulation_fwd.hpp:11:0,
                 from /bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/manipulation.hpp:11,
                 from /bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/manipulation.cpp:8:
/bpvol/workspace/externpro/_bld/externpro_21.03-29-g037d43e-gcc731-64/include/node_14.17.0/node/v8.h:2822:44: note: candidate: v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const
   V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
                                            ^~~~~~~~
/bpvol/workspace/externpro/_bld/externpro_21.03-29-g037d43e-gcc731-64/include/node_14.17.0/node/v8.h:2822:44: note:   candidate expects 1 argument, 0 provided
/bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/manipulation.cpp: In function 'v8::Local<v8::Value> sdv8::getKey(v8::Isolate*, const v8::Local<v8::Object>&, const string&)':
/bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/manipulation.cpp:70:65: error: no matching function for call to 'v8::Object::Get(v8::MaybeLocal<v8::String>)'
   return obj->Get(v8::String::NewFromUtf8(pIsolate, key.c_str()));
                                                                 ^
In file included from /bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/manipulation_fwd.hpp:11:0,
                 from /bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/manipulation.hpp:11,
                 from /bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/manipulation.cpp:8:
/bpvol/workspace/externpro/_bld/externpro_21.03-29-g037d43e-gcc731-64/include/node_14.17.0/node/v8.h:3717:43: note: candidate: v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, v8::Local<v8::Value>)
   V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                           ^~~
/bpvol/workspace/externpro/_bld/externpro_21.03-29-g037d43e-gcc731-64/include/node_14.17.0/node/v8.h:3717:43: note:   candidate expects 2 arguments, 1 provided
/bpvol/workspace/externpro/_bld/externpro_21.03-29-g037d43e-gcc731-64/include/node_14.17.0/node/v8.h:3720:43: note: candidate: v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, uint32_t)
   V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                           ^~~
/bpvol/workspace/externpro/_bld/externpro_21.03-29-g037d43e-gcc731-64/include/node_14.17.0/node/v8.h:3720:43: note:   candidate expects 2 arguments, 1 provided
/bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/manipulation.cpp: In function 'bool sdv8::hasKey(v8::Isolate*, const v8::Local<v8::Object>&, const string&)':
/bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/manipulation.cpp:77:65: error: no matching function for call to 'v8::Object::Has(v8::MaybeLocal<v8::String>)'
   return obj->Has(v8::String::NewFromUtf8(pIsolate, key.c_str()));
                                                                 ^
In file included from /bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/manipulation_fwd.hpp:11:0,
                 from /bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/manipulation.hpp:11,
                 from /bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/manipulation.cpp:8:
/bpvol/workspace/externpro/_bld/externpro_21.03-29-g037d43e-gcc731-64/include/node_14.17.0/node/v8.h:3752:37: note: candidate: v8::Maybe<bool> v8::Object::Has(v8::Local<v8::Context>, v8::Local<v8::Value>)
   V8_WARN_UNUSED_RESULT Maybe<bool> Has(Local<Context> context,
                                     ^~~
/bpvol/workspace/externpro/_bld/externpro_21.03-29-g037d43e-gcc731-64/include/node_14.17.0/node/v8.h:3752:37: note:   candidate expects 2 arguments, 1 provided
/bpvol/workspace/externpro/_bld/externpro_21.03-29-g037d43e-gcc731-64/include/node_14.17.0/node/v8.h:3758:37: note: candidate: v8::Maybe<bool> v8::Object::Has(v8::Local<v8::Context>, uint32_t)
   V8_WARN_UNUSED_RESULT Maybe<bool> Has(Local<Context> context, uint32_t index);
                                     ^~~
/bpvol/workspace/externpro/_bld/externpro_21.03-29-g037d43e-gcc731-64/include/node_14.17.0/node/v8.h:3758:37: note:   candidate expects 2 arguments, 1 provided
make[2]: *** [Shared/Sdv8LIB/Sdv8/CMakeFiles/Sdv8.dir/manipulation.cpp.o] Error 1
[ 19%] Building CXX object Shared/Sdv8LIB/Sdv8/CMakeFiles/Sdv8.dir/tryCatch.cpp.o
/bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/tryCatch.cpp: In function 'void sdv8::tryCatch(const v8::FunctionCallbackInfo<v8::Value>&, std::function<void(v8::Isolate*)>)':
/bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/tryCatch.cpp:24:71: error: no matching function for call to 'v8::Exception::Error(v8::MaybeLocal<v8::String>)'
       v8::Exception::Error(v8::String::NewFromUtf8(pIsolate, e.what())));
                                                                       ^
In file included from /bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/tryCatch.hpp:11:0,
                 from /bpvol/VantageSuper/Shared/Sdv8LIB/Sdv8/tryCatch.cpp:8:
/bpvol/workspace/externpro/_bld/externpro_21.03-29-g037d43e-gcc731-64/include/node_14.17.0/node/v8.h:7196:23: note: candidate: static v8::Local<v8::Value> v8::Exception::Error(v8::Local<v8::String>)
   static Local<Value> Error(Local<String> message);
                       ^~~~~
/bpvol/workspace/externpro/_bld/externpro_21.03-29-g037d43e-gcc731-64/include/node_14.17.0/node/v8.h:7196:23: note:   no known conversion for argument 1 from 'v8::MaybeLocal<v8::String>' to 'v8::Local<v8::String>'
make[2]: *** [Shared/Sdv8LIB/Sdv8/CMakeFiles/Sdv8.dir/tryCatch.cpp.o] Error 1
[ 19%] Building CXX object Shared/Sdv8LIB/Sdv8/CMakeFiles/Sdv8.dir/validate.cpp.o
make[2]: Target `Shared/Sdv8LIB/Sdv8/CMakeFiles/Sdv8.dir/build' not remade because of errors.
make[1]: *** [Shared/Sdv8LIB/Sdv8/CMakeFiles/Sdv8.dir/all] Error 2

I found an issue in another project that details "v8/node deprecated APIs and how to handle them" bcoin-org/bcrypto#7 -- their solution uses Nan https://github.com/nodejs/nan (Native Abstractions for Node.js) in this commit bcoin-org/bcrypto@aba492d

@grahamaj
Copy link

We'd be better off using NAPI. We already have that one, but it would take a lot of effort to do that. I can probably just go through these and fix them on a case by case basis.

@smanders
Copy link
Owner Author

smanders commented Sep 16, 2021

latest node v14.x is currently v14.17.6 (2021.08.31)

node v14.17.6 uses openssl 1.1.1l

smanders pushed a commit that referenced this issue Sep 17, 2021
* nodejs: #272
* openssl: #314
* activemqcpp, libssh2, libstrophe build on openssl 1.1.1l now
@smanders
Copy link
Owner Author

completed with commits 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

3 participants