nodejs / node-gyp

Node.js native addon build tool
MIT License
9.91k stars 1.79k forks source link

Apparent regression in node-gyp when using Node 23 #3082

Open CamJN opened 4 days ago

CamJN commented 4 days ago
Verbose output (from npm or node-gyp): ``` npm verbose cli /Users/runner/hostedtoolcache/node/23.0.0/arm64/bin/node /Users/runner/hostedtoolcache/node/23.0.0/arm64/bin/npm npm info using npm@10.9.0 npm info using node@v23.0.0 npm verbose title npm ci npm verbose argv "ci" "--loglevel" "verbose" npm verbose logfile logs-max:10 dir:/Users/runner/.npm/_logs/2024-10-18T02_23_17_485Z- npm verbose logfile /Users/runner/.npm/_logs/2024-10-18T02_23_17_485Z-debug-0.log (node:2936) ExperimentalWarning: Support for loading ES Module in require() is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) npm http fetch POST 200 https://registry.npmjs.org/-/npm/v1/security/advisories/bulk 273ms > @camjn/getargv@0.0.29 install > node-gyp rebuild gyp info it worked if it ends with ok gyp verb cli [ gyp verb cli '/Users/runner/hostedtoolcache/node/23.0.0/arm64/bin/node', gyp verb cli '/Users/runner/hostedtoolcache/node/23.0.0/arm64/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js', gyp verb cli 'rebuild' gyp verb cli ] gyp info using node-gyp@10.2.0 gyp info using node@23.0.0 | darwin | arm64 gyp verb clean removing "build" directory gyp verb find Python Python is not set from command line or npm configuration gyp verb find Python Python is not set from environment variable PYTHON gyp verb find Python checking if "python3" can be used gyp verb find Python - executing "python3" to get executable path gyp verb find Python - executable path is "/opt/homebrew/opt/python@3.12/bin/python3.12" gyp verb find Python - executing "/opt/homebrew/opt/python@3.12/bin/python3.12" to get version gyp verb find Python - version is "3.12.7" gyp info find Python using Python version 3.12.7 found at "/opt/homebrew/opt/python@3.12/bin/python3.12" gyp verb get node dir no --target version specified, falling back to host node version: 23.0.0 gyp verb install input version string "23.0.0" gyp verb install installing version: 23.0.0 gyp verb install --ensure was passed, so won't reinstall if already installed (node:2967) ExperimentalWarning: Support for loading ES Module in require() is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) gyp verb install version is already installed, need to check "installVersion" npm warn tarball tarball data for file:/Users/runner/work/getargv.js/getargv.js/getargv.js/ (null) seems to be corrupted. Trying again. npm warn tarball tarball data for file:/Users/runner/work/getargv.js/getargv.js/getargv.js/ (null) seems to be corrupted. Trying again. npm error code ENOENT npm error syscall lstat npm error path /Users/runner/work/getargv.js/getargv.js/getargv.js/rc/getargv.c npm error errno -2 npm error enoent ENOENT: no such file or directory, lstat '/Users/runner/work/getargv.js/getargv.js/getargv.js/rc/getargv.c' npm error enoent This is related to npm not being able to find a file. npm error enoent npm error A complete log of this run can be found in: /Users/runner/.npm/_logs/2024-10-18T02_23_18_655Z-debug-0.log (node:3452) ExperimentalWarning: Support for loading ES Module in require() is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) > @camjn/getargv@0.0.29 prepack > npm run build > @camjn/getargv@0.0.29 prebuild > tsc > @camjn/getargv@0.0.29 build > node-gyp configure build gyp info it worked if it ends with ok gyp info using node-gyp@10.2.0 gyp info using node@23.0.0 | darwin | arm64 gyp info find Python using Python version 3.12.7 found at "/opt/homebrew/opt/python@3.12/bin/python3.12" (node:3601) ExperimentalWarning: Support for loading ES Module in require() is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) gyp info spawn /opt/homebrew/opt/python@3.12/bin/python3.12 gyp info spawn args [ gyp info spawn args '/Users/runner/hostedtoolcache/node/23.0.0/arm64/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py', gyp info spawn args 'binding.gyp', gyp info spawn args '-f', gyp info spawn args 'make', gyp info spawn args '-I', gyp info spawn args '/Users/runner/work/getargv.js/getargv.js/getargv.js/build/config.gypi', gyp info spawn args '-I', gyp info spawn args '/Users/runner/hostedtoolcache/node/23.0.0/arm64/lib/node_modules/npm/node_modules/node-gyp/addon.gypi', gyp info spawn args '-I', gyp info spawn args '/Users/runner/Library/Caches/node-gyp/23.0.0/include/node/common.gypi', gyp info spawn args '-Dlibrary=shared_library', gyp info spawn args '-Dvisibility=default', gyp info spawn args '-Dnode_root_dir=/Users/runner/Library/Caches/node-gyp/23.0.0', gyp info spawn args '-Dnode_gyp_dir=/Users/runner/hostedtoolcache/node/23.0.0/arm64/lib/node_modules/npm/node_modules/node-gyp', gyp info spawn args '-Dnode_lib_file=/Users/runner/Library/Caches/node-gyp/23.0.0/<(target_arch)/node.lib', gyp info spawn args '-Dmodule_root_dir=/Users/runner/work/getargv.js/getargv.js/getargv.js', gyp info spawn args '-Dnode_engine=v8', gyp info spawn args '--depth=.', gyp info spawn args '--no-parallel', gyp info spawn args '--generator-output', gyp info spawn args 'build', gyp info spawn args '-Goutput_dir=.' gyp info spawn args ] gyp info spawn make gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ] make: Nothing to be done for `all'. gyp info ok npm warn tarball tarball data for file:/Users/runner/work/getargv.js/getargv.js/getargv.js/ (null) seems to be corrupted. Trying again. npm warn tarball tarball data for file:/Users/runner/work/getargv.js/getargv.js/getargv.js/ (null) seems to be corrupted. Trying again. npm error code ENOENT npm error syscall lstat npm error path /Users/runner/work/getargv.js/getargv.js/getargv.js/rc/getargv.c npm error errno -2 npm error enoent ENOENT: no such file or directory, lstat '/Users/runner/work/getargv.js/getargv.js/getargv.js/rc/getargv.c' npm error enoent This is related to npm not being able to find a file. npm error enoent npm error A complete log of this run can be found in: /Users/runner/.npm/_logs/2024-10-18T02_23_20_579Z-debug-0.log ```

Most suspect section of logs:

warn tarball tarball data for file:/Users/runner/work/getargv.js/getargv.js/getargv.js/ (null) seems to be corrupted. Trying again.
...
npm error enoent ENOENT: no such file or directory, lstat '/Users/runner/work/getargv.js/getargv.js/getargv.js/rc/getargv.c'

It seems that the s from the binding.gyp sources' "src/getargv.c" is cut off.

Other node versions:

Node versions 18, 20, and 22 all build successfully with the same project: https://github.com/getargv/getargv.js/actions/runs/11396354541/job/31710036293

cesco69 commented 4 days ago

Maybe is the same error?

Dockerfile

FROM node:23-slim

ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && apt-get -y install git python3 libpq-dev g++ make dos2unix && rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/*

# install pg-native
RUN npm i -g pg-native

Output

docker-compose build
[+] Building 56.4s (7/7) FINISHED
 => [internal] load build definition from Dockerfile                                                                                                                                                                                                                         0.0s
 => => transferring dockerfile: 341B                                                                                                                                                                                                                                         0.0s 
 => [internal] load .dockerignore                                                                                                                                                                                                                                            0.0s 
 => => transferring context: 34B                                                                                                                                                                                                                                             0.0s 
 => [internal] load metadata for docker.io/library/node:23-slim                                                                                                                                                                                                              0.7s 
 => CACHED [1/4] FROM docker.io/library/node:23-slim@sha256:70092ae76d3b1a66dc51d659fd8882c42b2d816333c45ca4f2367ff0628e20a4                                                                                                                                                 0.0s
 => [2/4] RUN apt-get update && apt-get -y install git python3 libpq-dev g++ make dos2unix && rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/*                                                                                                                         35.7s                                                                                                                                                                                                                       0.8s
 => ERROR [3/4] RUN npm i -g pg-native                                                                                                                                                                                                                                      19.2s
------
 > [3/4] RUN npm i -g pg-native:
#0 0.724 (node:7) ExperimentalWarning: Support for loading ES Module in require() is an experimental feature and might change at any time
#0 0.724 (Use `node --trace-warnings ...` to show where the warning was created)
#0 19.18 npm error code 1
#0 19.18 npm error path /usr/local/lib/node_modules/pg-native/node_modules/libpq
#0 19.18 npm error command failed
#0 19.18 npm error command sh -c node-gyp rebuild
#0 19.18 npm error make: Entering directory '/usr/local/lib/node_modules/pg-native/node_modules/libpq/build'
#0 19.18 npm error   CXX(target) Release/obj.target/addon/src/connection.o
#0 19.18 npm error make: Leaving directory '/usr/local/lib/node_modules/pg-native/node_modules/libpq/build'
#0 19.18 npm error gyp info it worked if it ends with ok
#0 19.18 npm error gyp info using node-gyp@10.2.0
#0 19.18 npm error gyp info using node@23.0.0 | linux | x64
#0 19.18 npm error gyp info find Python using Python version 3.11.2 found at "/usr/bin/python3"
#0 19.18 npm error (node:20) ExperimentalWarning: Support for loading ES Module in require() is an experimental feature and might change at any time
#0 19.18 npm error (Use `node --trace-warnings ...` to show where the warning was created)
#0 19.18 npm error gyp http GET https://nodejs.org/download/release/v23.0.0/node-v23.0.0-headers.tar.gz
#0 19.18 npm error gyp http 200 https://nodejs.org/download/release/v23.0.0/node-v23.0.0-headers.tar.gz
#0 19.18 npm error gyp http GET https://nodejs.org/download/release/v23.0.0/SHASUMS256.txt
#0 19.18 npm error gyp http 200 https://nodejs.org/download/release/v23.0.0/SHASUMS256.txt
#0 19.18 npm error gyp info spawn /usr/bin/python3
#0 19.18 npm error gyp info spawn args [
#0 19.18 npm error gyp info spawn args '/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
#0 19.18 npm error gyp info spawn args 'binding.gyp',
#0 19.18 npm error gyp info spawn args '-f',
#0 19.18 npm error gyp info spawn args 'make',
#0 19.18 npm error gyp info spawn args '-I',
#0 19.18 npm error gyp info spawn args '/usr/local/lib/node_modules/pg-native/node_modules/libpq/build/config.gypi',
#0 19.18 npm error gyp info spawn args '-I',
#0 19.18 npm error gyp info spawn args '/usr/local/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
#0 19.18 npm error gyp info spawn args '-I',
#0 19.18 npm error gyp info spawn args '/root/.cache/node-gyp/23.0.0/include/node/common.gypi',
#0 19.18 npm error gyp info spawn args '-Dlibrary=shared_library',
#0 19.18 npm error gyp info spawn args '-Dvisibility=default',
#0 19.18 npm error gyp info spawn args '-Dnode_root_dir=/root/.cache/node-gyp/23.0.0',
#0 19.18 npm error gyp info spawn args '-Dnode_gyp_dir=/usr/local/lib/node_modules/npm/node_modules/node-gyp',
#0 19.18 npm error gyp info spawn args '-Dnode_lib_file=/root/.cache/node-gyp/23.0.0/<(target_arch)/node.lib',
#0 19.18 npm error gyp info spawn args '-Dmodule_root_dir=/usr/local/lib/node_modules/pg-native/node_modules/libpq',
#0 19.18 npm error gyp info spawn args '-Dnode_engine=v8',
#0 19.18 npm error gyp info spawn args '--depth=.',
#0 19.18 npm error gyp info spawn args '--no-parallel',
#0 19.18 npm error gyp info spawn args '--generator-output',
#0 19.18 npm error gyp info spawn args 'build',
#0 19.18 npm error gyp info spawn args '-Goutput_dir=.'
#0 19.18 npm error gyp info spawn args ]
#0 19.18 npm error gyp info spawn make
#0 19.18 npm error gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
#0 19.18 npm error In file included from ../src/addon.h:4,
#0 19.18 npm error                  from ../src/connection.cc:1:
#0 19.18 npm error ../../nan/nan.h:208:40: error: expected template-name before '<' token
#0 19.18 npm error   208 |     public v8::CopyablePersistentTraits<T> {};
#0 19.18 npm error       |                                        ^
#0 19.18 npm error ../../nan/nan.h:208:40: error: expected '{' before '<' token
#0 19.18 npm error ../../nan/nan.h: In function 'bool Nan::IdleNotification(int)':
#0 19.18 npm error ../../nan/nan.h:688:39: error: 'class v8::Isolate' has no member named 'IdleNotificationDeadline'
#0 19.18 npm error   688 |     return v8::Isolate::GetCurrent()->IdleNotificationDeadline(
#0 19.18 npm error       |                                       ^~~~~~~~~~~~~~~~~~~~~~~~
#0 19.18 npm error ../../nan/nan.h: In function 'void Nan::SetAccessor(v8::Local<v8::ObjectTemplate>, v8::Local<v8::String>, GetterCallback, SetterCallback, v8::Local<v8::Value>, v8::AccessControl, v8::PropertyAttribute, imp::Sig)':
#0 19.18 npm error ../../nan/nan.h:2548:8: error: 'class v8::ObjectTemplate' has no member named 'SetAccessor'
#0 19.18 npm error  2548 |   tpl->SetAccessor(
#0 19.18 npm error       |        ^~~~~~~~~~~
#0 19.18 npm error ../../nan/nan.h: In function 'void Nan::SetAccessor(v8::Local<v8::ObjectTemplate>, v8::Local<v8::String>, GetterCallback, SetterCallback, v8::Local<v8::Value>, v8::AccessControl, v8::PropertyAttribute)':
#0 19.18 npm error ../../nan/nan.h:2596:8: error: 'class v8::ObjectTemplate' has no member named 'SetAccessor'
#0 19.18 npm error  2596 |   tpl->SetAccessor(
#0 19.18 npm error       |        ^~~~~~~~~~~
#0 19.18 npm error ../../nan/nan.h: In function 'bool Nan::SetAccessor(v8::Local<v8::Object>, v8::Local<v8::String>, GetterCallback, SetterCallback, v8::Local<v8::Value>, v8::AccessControl, v8::PropertyAttribute)':
#0 19.18 npm error ../../nan/nan.h:2642:15: error: 'class v8::Object' has no member named 'SetAccessor'
#0 19.18 npm error  2642 |   return obj->SetAccessor(
#0 19.18 npm error       |               ^~~~~~~~~~~
#0 19.18 npm error ../../nan/nan.h: In function 'void Nan::SetNamedPropertyHandler(v8::Local<v8::ObjectTemplate>, PropertyGetterCallback, PropertySetterCallback, PropertyQueryCallback, PropertyDeleterCallback, PropertyEnumeratorCallback, v8::Local<v8::Value>)':
#0 19.18 npm error ../../nan/nan.h:2719:7: error: invalid conversion from 'Nan::imp::NativePropertyGetter' {aka 'void (*)(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value>&)'} to 'v8::NamedPropertyGetterCallback' {aka 'v8::Intercepted (*)(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value>&)'} [-fpermissive]
#0 19.18 npm error  2719 |       getter_, setter_, query_, deleter_, enumerator_, obj));
#0 19.18 npm error       |       ^~~~~~~
#0 19.18 npm error       |       |
#0 19.18 npm error       |       Nan::imp::NativePropertyGetter {aka void (*)(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value>&)}
#0 19.18 npm error In file included from /root/.cache/node-gyp/23.0.0/include/node/v8-function.h:15,
#0 19.18 npm error                  from /root/.cache/node-gyp/23.0.0/include/node/v8.h:33,
#0 19.18 npm error                  from /root/.cache/node-gyp/23.0.0/include/node/node.h:73,
#0 19.18 npm error                  from ../../nan/nan.h:62:
#0 19.18 npm error /root/.cache/node-gyp/23.0.0/include/node/v8-template.h:786:35: note:   initializing argument 1 of 'v8::NamedPropertyHandlerConfiguration::NamedPropertyHandlerConfiguration(v8::NamedPropertyGetterCallback, v8::NamedPropertySetterCallback, v8::NamedPropertyQueryCallback, v8::NamedPropertyDeleterCallback, v8::NamedPropertyEnumeratorCallback, v8::Local<v8::Value>, v8::PropertyHandlerFlags)'
#0 19.18 npm error   786 |       NamedPropertyGetterCallback getter,
#0 19.18 npm error       |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
#0 19.18 npm error ../../nan/nan.h:2719:16: error: invalid conversion from 'Nan::imp::NativePropertySetter' {aka 'void (*)(v8::Local<v8::Name>, v8::Local<v8::Value>, const v8::PropertyCallbackInfo<v8::Value>&)'} to 'v8::NamedPropertySetterCallback' {aka 'v8::Intercepted (*)(v8::Local<v8::Name>, v8::Local<v8::Value>, const v8::PropertyCallbackInfo<void>&)'} [-fpermissive]
#0 19.18 npm error  2719 |       getter_, setter_, query_, deleter_, enumerator_, obj));
#0 19.18 npm error       |                ^~~~~~~
#0 19.18 npm error       |                |
#0 19.18 npm error       |                Nan::imp::NativePropertySetter {aka void (*)(v8::Local<v8::Name>, v8::Local<v8::Value>, const v8::PropertyCallbackInfo<v8::Value>&)}
#0 19.18 npm error /root/.cache/node-gyp/23.0.0/include/node/v8-template.h:787:35: note:   initializing argument 2 of 'v8::NamedPropertyHandlerConfiguration::NamedPropertyHandlerConfiguration(v8::NamedPropertyGetterCallback, v8::NamedPropertySetterCallback, v8::NamedPropertyQueryCallback, v8::NamedPropertyDeleterCallback, v8::NamedPropertyEnumeratorCallback, v8::Local<v8::Value>, v8::PropertyHandlerFlags)'
#0 19.18 npm error   787 |       NamedPropertySetterCallback setter = nullptr,
#0 19.18 npm error       |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
#0 19.18 npm error ../../nan/nan.h:2719:25: error: invalid conversion from 'Nan::imp::NativePropertyQuery' {aka 'void (*)(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Integer>&)'} to 'v8::NamedPropertyQueryCallback' {aka 'v8::Intercepted (*)(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Integer>&)'} [-fpermissive]
#0 19.18 npm error  2719 |       getter_, setter_, query_, deleter_, enumerator_, obj));
#0 19.18 npm error       |                         ^~~~~~
#0 19.18 npm error       |                         |
#0 19.18 npm error       |                         Nan::imp::NativePropertyQuery {aka void (*)(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Integer>&)}
#0 19.18 npm error /root/.cache/node-gyp/23.0.0/include/node/v8-template.h:788:34: note:   initializing argument 3 of 'v8::NamedPropertyHandlerConfiguration::NamedPropertyHandlerConfiguration(v8::NamedPropertyGetterCallback, v8::NamedPropertySetterCallback, v8::NamedPropertyQueryCallback, v8::NamedPropertyDeleterCallback, v8::NamedPropertyEnumeratorCallback, v8::Local<v8::Value>, v8::PropertyHandlerFlags)'
#0 19.18 npm error   788 |       NamedPropertyQueryCallback query = nullptr,
#0 19.18 npm error       |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
#0 19.18 npm error ../../nan/nan.h:2719:33: error: invalid conversion from 'void (*)(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Boolean>&)' to 'v8::NamedPropertyDeleterCallback' {aka 'v8::Intercepted (*)(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Boolean>&)'} [-fpermissive]
#0 19.18 npm error  2719 |       getter_, setter_, query_, deleter_, enumerator_, obj));
#0 19.18 npm error       |                                 ^~~~~~~~
#0 19.18 npm error       |                                 |
#0 19.18 npm error       |                                 void (*)(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Boolean>&)
#0 19.18 npm error /root/.cache/node-gyp/23.0.0/include/node/v8-template.h:789:36: note:   initializing argument 4 of 'v8::NamedPropertyHandlerConfiguration::NamedPropertyHandlerConfiguration(v8::NamedPropertyGetterCallback, v8::NamedPropertySetterCallback, v8::NamedPropertyQueryCallback, v8::NamedPropertyDeleterCallback, v8::NamedPropertyEnumeratorCallback, v8::Local<v8::Value>, v8::PropertyHandlerFlags)'
#0 19.18 npm error   789 |       NamedPropertyDeleterCallback deleter = nullptr,
#0 19.18 npm error       |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
#0 19.18 npm error ../../nan/nan.h: In function 'void Nan::SetIndexedPropertyHandler(v8::Local<v8::ObjectTemplate>, IndexGetterCallback, IndexSetterCallback, IndexQueryCallback, IndexDeleterCallback, IndexEnumeratorCallback, v8::Local<v8::Value>)':
#0 19.18 npm error ../../nan/nan.h:2789:7: error: invalid conversion from 'Nan::imp::NativeIndexGetter' {aka 'void (*)(unsigned int, const v8::PropertyCallbackInfo<v8::Value>&)'} to 'v8::IndexedPropertyGetterCallbackV2' {aka 'v8::Intercepted (*)(unsigned int, const v8::PropertyCallbackInfo<v8::Value>&)'} [-fpermissive]
#0 19.18 npm error  2789 |       getter_, setter_, query_, deleter_, enumerator_, obj));
#0 19.18 npm error       |       ^~~~~~~
#0 19.18 npm error       |       |
#0 19.18 npm error       |       Nan::imp::NativeIndexGetter {aka void (*)(unsigned int, const v8::PropertyCallbackInfo<v8::Value>&)}
#0 19.18 npm error /root/.cache/node-gyp/23.0.0/include/node/v8-template.h:865:39: note:   initializing argument 1 of 'v8::IndexedPropertyHandlerConfiguration::IndexedPropertyHandlerConfiguration(v8::IndexedPropertyGetterCallbackV2, v8::IndexedPropertySetterCallbackV2, v8::IndexedPropertyQueryCallbackV2, v8::IndexedPropertyDeleterCallbackV2, v8::IndexedPropertyEnumeratorCallback, v8::Local<v8::Value>, v8::PropertyHandlerFlags)'
#0 19.18 npm error   865 |       IndexedPropertyGetterCallbackV2 getter = nullptr,
#0 19.18 npm error       |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
#0 19.18 npm error ../../nan/nan.h:2789:16: error: invalid conversion from 'Nan::imp::NativeIndexSetter' {aka 'void (*)(unsigned int, v8::Local<v8::Value>, const v8::PropertyCallbackInfo<v8::Value>&)'} to 'v8::IndexedPropertySetterCallbackV2' {aka 'v8::Intercepted (*)(unsigned int, v8::Local<v8::Value>, const v8::PropertyCallbackInfo<void>&)'} [-fpermissive]
#0 19.18 npm error  2789 |       getter_, setter_, query_, deleter_, enumerator_, obj));
#0 19.18 npm error       |                ^~~~~~~
#0 19.18 npm error       |                |
#0 19.18 npm error       |                Nan::imp::NativeIndexSetter {aka void (*)(unsigned int, v8::Local<v8::Value>, const v8::PropertyCallbackInfo<v8::Value>&)}
#0 19.18 npm error /root/.cache/node-gyp/23.0.0/include/node/v8-template.h:866:39: note:   initializing argument 2 of 'v8::IndexedPropertyHandlerConfiguration::IndexedPropertyHandlerConfiguration(v8::IndexedPropertyGetterCallbackV2, v8::IndexedPropertySetterCallbackV2, v8::IndexedPropertyQueryCallbackV2, v8::IndexedPropertyDeleterCallbackV2, v8::IndexedPropertyEnumeratorCallback, v8::Local<v8::Value>, v8::PropertyHandlerFlags)'
#0 19.18 npm error   866 |       IndexedPropertySetterCallbackV2 setter = nullptr,
#0 19.18 npm error       |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
#0 19.18 npm error ../../nan/nan.h:2789:25: error: invalid conversion from 'Nan::imp::NativeIndexQuery' {aka 'void (*)(unsigned int, const v8::PropertyCallbackInfo<v8::Integer>&)'} to 'v8::IndexedPropertyQueryCallbackV2' {aka 'v8::Intercepted (*)(unsigned int, const v8::PropertyCallbackInfo<v8::Integer>&)'} [-fpermissive]
#0 19.18 npm error  2789 |       getter_, setter_, query_, deleter_, enumerator_, obj));
#0 19.18 npm error       |                         ^~~~~~
#0 19.18 npm error       |                         |
#0 19.18 npm error       |                         Nan::imp::NativeIndexQuery {aka void (*)(unsigned int, const v8::PropertyCallbackInfo<v8::Integer>&)}
#0 19.18 npm error /root/.cache/node-gyp/23.0.0/include/node/v8-template.h:867:38: note:   initializing argument 3 of 'v8::IndexedPropertyHandlerConfiguration::IndexedPropertyHandlerConfiguration(v8::IndexedPropertyGetterCallbackV2, v8::IndexedPropertySetterCallbackV2, v8::IndexedPropertyQueryCallbackV2, v8::IndexedPropertyDeleterCallbackV2, v8::IndexedPropertyEnumeratorCallback, v8::Local<v8::Value>, v8::PropertyHandlerFlags)'
#0 19.18 npm error   867 |       IndexedPropertyQueryCallbackV2 query = nullptr,
#0 19.18 npm error       |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
#0 19.18 npm error ../../nan/nan.h:2789:33: error: invalid conversion from 'Nan::imp::NativeIndexDeleter' {aka 'void (*)(unsigned int, const v8::PropertyCallbackInfo<v8::Boolean>&)'} to 'v8::IndexedPropertyDeleterCallbackV2' {aka 'v8::Intercepted (*)(unsigned int, const v8::PropertyCallbackInfo<v8::Boolean>&)'} [-fpermissive]
#0 19.18 npm error  2789 |       getter_, setter_, query_, deleter_, enumerator_, obj));
#0 19.18 npm error       |                                 ^~~~~~~~
#0 19.18 npm error       |                                 |
#0 19.18 npm error       |                                 Nan::imp::NativeIndexDeleter {aka void (*)(unsigned int, const v8::PropertyCallbackInfo<v8::Boolean>&)}
#0 19.18 npm error /root/.cache/node-gyp/23.0.0/include/node/v8-template.h:868:40: note:   initializing argument 4 of 'v8::IndexedPropertyHandlerConfiguration::IndexedPropertyHandlerConfiguration(v8::IndexedPropertyGetterCallbackV2, v8::IndexedPropertySetterCallbackV2, v8::IndexedPropertyQueryCallbackV2, v8::IndexedPropertyDeleterCallbackV2, v8::IndexedPropertyEnumeratorCallback, v8::Local<v8::Value>, v8::PropertyHandlerFlags)'
#0 19.18 npm error   868 |       IndexedPropertyDeleterCallbackV2 deleter = nullptr,
#0 19.18 npm error       |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
#0 19.18 npm error In file included from ../../nan/nan.h:2954:
#0 19.18 npm error ../../nan/nan_scriptorigin.h: In constructor 'Nan::ScriptOrigin::ScriptOrigin(v8::Local<v8::Value>)':
#0 19.18 npm error ../../nan/nan_scriptorigin.h:19:55: error: no matching function for call to 'v8::ScriptOrigin::ScriptOrigin(v8::Isolate*, v8::Local<v8::Value>&)'
#0 19.18 npm error    19 |       v8::ScriptOrigin(v8::Isolate::GetCurrent(), name) {}
#0 19.18 npm error       |                                                       ^
#0 19.18 npm error In file included from /root/.cache/node-gyp/23.0.0/include/node/v8-script.h:20,
#0 19.18 npm error                  from /root/.cache/node-gyp/23.0.0/include/node/v8-debug.h:10,
#0 19.18 npm error                  from /root/.cache/node-gyp/23.0.0/include/node/v8-isolate.h:19,
#0 19.18 npm error                  from /root/.cache/node-gyp/23.0.0/include/node/v8-snapshot.h:9,
#0 19.18 npm error                  from /root/.cache/node-gyp/23.0.0/include/node/v8-context.h:15,
#0 19.18 npm error                  from /root/.cache/node-gyp/23.0.0/include/node/v8.h:26:
#0 19.18 npm error /root/.cache/node-gyp/23.0.0/include/node/v8-message.h:64:13: note: candidate: 'v8::ScriptOrigin::ScriptOrigin(v8::Local<v8::Value>, int, int, bool, int, v8::Local<v8::Value>, bool, bool, bool, v8::Local<v8::Data>)'
#0 19.18 npm error    64 |   V8_INLINE ScriptOrigin(Local<Value> resource_name,
#0 19.18 npm error       |             ^~~~~~~~~~~~
#0 19.18 npm error /root/.cache/node-gyp/23.0.0/include/node/v8-message.h:64:39: note:   no known conversion for argument 1 from 'v8::Isolate*' to 'v8::Local<v8::Value>'
#0 19.18 npm error    64 |   V8_INLINE ScriptOrigin(Local<Value> resource_name,
#0 19.18 npm error       |                          ~~~~~~~~~~~~~^~~~~~~~~~~~~
#0 19.18 npm error /root/.cache/node-gyp/23.0.0/include/node/v8-message.h:62:17: note: candidate: 'constexpr v8::ScriptOrigin::ScriptOrigin(const v8::ScriptOrigin&)'
#0 19.18 npm error    62 | class V8_EXPORT ScriptOrigin {
#0 19.18 npm error       |                 ^~~~~~~~~~~~
#0 19.18 npm error /root/.cache/node-gyp/23.0.0/include/node/v8-message.h:62:17: note:   candidate expects 1 argument, 2 provided
#0 19.18 npm error /root/.cache/node-gyp/23.0.0/include/node/v8-message.h:62:17: note: candidate: 'constexpr v8::ScriptOrigin::ScriptOrigin(v8::ScriptOrigin&&)'
#0 19.18 npm error /root/.cache/node-gyp/23.0.0/include/node/v8-message.h:62:17: note:   candidate expects 1 argument, 2 provided
#0 19.18 npm error ../../nan/nan_scriptorigin.h: In constructor 'Nan::ScriptOrigin::ScriptOrigin(v8::Local<v8::Value>, v8::Local<v8::Integer>)':
#0 19.18 npm error ../../nan/nan_scriptorigin.h:25:52: error: no matching function for call to 'v8::ScriptOrigin::ScriptOrigin(v8::Isolate*, v8::Local<v8::Value>&, int)'
#0 19.18 npm error    25 |                    , To<int32_t>(line).FromMaybe(0)) {}
#0 19.18 npm error       |                                                    ^
#0 19.18 npm error /root/.cache/node-gyp/23.0.0/include/node/v8-message.h:64:13: note: candidate: 'v8::ScriptOrigin::ScriptOrigin(v8::Local<v8::Value>, int, int, bool, int, v8::Local<v8::Value>, bool, bool, bool, v8::Local<v8::Data>)'
#0 19.18 npm error    64 |   V8_INLINE ScriptOrigin(Local<Value> resource_name,
#0 19.18 npm error       |             ^~~~~~~~~~~~
#0 19.18 npm error /root/.cache/node-gyp/23.0.0/include/node/v8-message.h:64:39: note:   no known conversion for argument 1 from 'v8::Isolate*' to 'v8::Local<v8::Value>'
#0 19.18 npm error    64 |   V8_INLINE ScriptOrigin(Local<Value> resource_name,
#0 19.18 npm error       |                          ~~~~~~~~~~~~~^~~~~~~~~~~~~
#0 19.18 npm error /root/.cache/node-gyp/23.0.0/include/node/v8-message.h:62:17: note: candidate: 'constexpr v8::ScriptOrigin::ScriptOrigin(const v8::ScriptOrigin&)'
#0 19.18 npm error    62 | class V8_EXPORT ScriptOrigin {
#0 19.18 npm error       |                 ^~~~~~~~~~~~
#0 19.18 npm error /root/.cache/node-gyp/23.0.0/include/node/v8-message.h:62:17: note:   candidate expects 1 argument, 3 provided
#0 19.18 npm error /root/.cache/node-gyp/23.0.0/include/node/v8-message.h:62:17: note: candidate: 'constexpr v8::ScriptOrigin::ScriptOrigin(v8::ScriptOrigin&&)'
#0 19.18 npm error /root/.cache/node-gyp/23.0.0/include/node/v8-message.h:62:17: note:   candidate expects 1 argument, 3 provided
#0 19.18 npm error ../../nan/nan_scriptorigin.h: In constructor 'Nan::ScriptOrigin::ScriptOrigin(v8::Local<v8::Value>, v8::Local<v8::Integer>, v8::Local<v8::Integer>)':
#0 19.18 npm error ../../nan/nan_scriptorigin.h:33:54: error: no matching function for call to 'v8::ScriptOrigin::ScriptOrigin(v8::Isolate*, v8::Local<v8::Value>&, int, int)'
#0 19.18 npm error    33 |                    , To<int32_t>(column).FromMaybe(0)) {}
#0 19.18 npm error       |                                                      ^
#0 19.18 npm error /root/.cache/node-gyp/23.0.0/include/node/v8-message.h:64:13: note: candidate: 'v8::ScriptOrigin::ScriptOrigin(v8::Local<v8::Value>, int, int, bool, int, v8::Local<v8::Value>, bool, bool, bool, v8::Local<v8::Data>)'
#0 19.18 npm error    64 |   V8_INLINE ScriptOrigin(Local<Value> resource_name,
#0 19.18 npm error       |             ^~~~~~~~~~~~
#0 19.18 npm error /root/.cache/node-gyp/23.0.0/include/node/v8-message.h:64:39: note:   no known conversion for argument 1 from 'v8::Isolate*' to 'v8::Local<v8::Value>'
#0 19.18 npm error    64 |   V8_INLINE ScriptOrigin(Local<Value> resource_name,
#0 19.18 npm error       |                          ~~~~~~~~~~~~~^~~~~~~~~~~~~
#0 19.18 npm error /root/.cache/node-gyp/23.0.0/include/node/v8-message.h:62:17: note: candidate: 'constexpr v8::ScriptOrigin::ScriptOrigin(const v8::ScriptOrigin&)'
#0 19.18 npm error    62 | class V8_EXPORT ScriptOrigin {
#0 19.18 npm error       |                 ^~~~~~~~~~~~
#0 19.18 npm error /root/.cache/node-gyp/23.0.0/include/node/v8-message.h:62:17: note:   candidate expects 1 argument, 4 provided
#0 19.18 npm error /root/.cache/node-gyp/23.0.0/include/node/v8-message.h:62:17: note: candidate: 'constexpr v8::ScriptOrigin::ScriptOrigin(v8::ScriptOrigin&&)'
#0 19.18 npm error /root/.cache/node-gyp/23.0.0/include/node/v8-message.h:62:17: note:   candidate expects 1 argument, 4 provided
#0 19.18 npm error make: *** [addon.target.mk:116: Release/obj.target/addon/src/connection.o] Error 1
#0 19.18 npm error gyp ERR! build error
#0 19.18 npm error gyp ERR! stack Error: `make` failed with exit code: 2
#0 19.18 npm error gyp ERR! stack at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:216:23)
#0 19.18 npm error gyp ERR! System Linux 5.15.79.1-microsoft-standard-WSL2
#0 19.18 npm error gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
#0 19.18 npm error gyp ERR! cwd /usr/local/lib/node_modules/pg-native/node_modules/libpq
#0 19.18 npm error gyp ERR! node -v v23.0.0
#0 19.18 npm error gyp ERR! node-gyp -v v10.2.0
#0 19.18 npm error gyp ERR! not ok
#0 19.18 npm error A complete log of this run can be found in: /root/.npm/_logs/2024-10-17T10_05_04_262Z-debug-0.log
------
failed to solve: executor failed running [/bin/sh -c npm i -g pg-native]: exit code: 1
richardlau commented 3 days ago

This is https://github.com/nodejs/node/issues/55410 and being addressed in https://github.com/nodejs/node/pull/55414.