I tried running node-gyp rebuild with the latest version of GCC, but a bunch of warnings get thrown before finally erroring out. The same happens with Clang.
gyp info it worked if it ends with ok
gyp info using node-gyp@3.8.0
gyp info using node@10.15.0 | openbsd | x64
gyp info spawn /usr/local/bin/python2
gyp info spawn args [ '/usr/local/lib/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 '/home/morfent/Documents/perl6/nqp/src/vm/js/nqp-runtime/node_modules/fs-ext/build/config.gypi',
gyp info spawn args '-I',
gyp info spawn args '/usr/local/lib/node_modules/node-gyp/addon.gypi',
gyp info spawn args '-I',
gyp info spawn args '/home/morfent/.node-gyp/10.15.0/common.gypi',
gyp info spawn args '-Dlibrary=shared_library',
gyp info spawn args '-Dvisibility=default',
gyp info spawn args '-Dnode_root_dir=/home/morfent/.node-gyp/10.15.0',
gyp info spawn args '-Dnode_gyp_dir=/usr/local/lib/node_modules/node-gyp',
gyp info spawn args '-Dnode_lib_file=/home/morfent/.node-gyp/10.15.0/<(target_arch)/node.lib',
gyp info spawn args '-Dmodule_root_dir=/home/morfent/Documents/perl6/nqp/src/vm/js/nqp-runtime/node_modules/fs-ext',
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 gmake
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
gmake: Entering directory '/home/morfent/Documents/perl6/nqp/src/vm/js/nqp-runtime/node_modules/fs-ext/build'
CXX(target) Release/obj.target/fs-ext/fs-ext.o
In file included from ../../nan/nan.h:192:0,
from ../fs-ext.cc:27:
../../nan/nan_maybe_43_inl.h: In function 'Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)':
../../nan/nan_maybe_43_inl.h:112:15: error: 'class v8::Object' has no member named 'ForceSet'
return obj->ForceSet(isolate->GetCurrentContext(), key, value, attribs);
^
In file included from ../fs-ext.cc:27:0:
../../nan/nan.h: In function 'v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)':
../../nan/nan.h:835:60: warning: 'v8::Local<v8::Value> node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)' is deprecated (declared at /home/morfent/.node-gyp/10.15.0/src/node.h:176): Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
v8::Isolate::GetCurrent(), target, func, argc, argv);
^
../../nan/nan.h: In function 'v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::String>, int, v8::Local<v8::Value>*)':
../../nan/nan.h:850:62: warning: 'v8::Local<v8::Value> node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, v8::Local<v8::String>, int, v8::Local<v8::Value>*)' is deprecated (declared at /home/morfent/.node-gyp/10.15.0/src/node.h:169): Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
v8::Isolate::GetCurrent(), target, symbol, argc, argv);
^
../../nan/nan.h: In function 'v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, const char*, int, v8::Local<v8::Value>*)':
../../nan/nan.h:865:62: warning: 'v8::Local<v8::Value> node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, const char*, int, v8::Local<v8::Value>*)' is deprecated (declared at /home/morfent/.node-gyp/10.15.0/src/node.h:162): Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
v8::Isolate::GetCurrent(), target, method, argc, argv);
^
../../nan/nan.h: In member function 'v8::Local<v8::Value> Nan::Callback::Call_(v8::Isolate*, v8::Local<v8::Object>, int, v8::Local<v8::Value>*) const':
../../nan/nan.h:1479:5: warning: 'v8::Local<v8::Value> node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)' is deprecated (declared at /home/morfent/.node-gyp/10.15.0/src/node.h:176): Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
));
^
../fs-ext.cc: In function 'Nan::NAN_METHOD_RETURN_TYPE Flock(Nan::NAN_METHOD_ARGS_TYPE)':
../fs-ext.cc:281:40: warning: 'int32_t v8::Value::Int32Value() const' is deprecated (declared at /home/morfent/.node-gyp/10.15.0/deps/v8/include/v8.h:2478): Use maybe version [-Wdeprecated-declarations]
flock_data->fd = info[0]->Int32Value();
^
../fs-ext.cc:282:42: warning: 'int32_t v8::Value::Int32Value() const' is deprecated (declared at /home/morfent/.node-gyp/10.15.0/deps/v8/include/v8.h:2478): Use maybe version [-Wdeprecated-declarations]
flock_data->oper = info[1]->Int32Value();
^
../fs-ext.cc: In function 'Nan::NAN_METHOD_RETURN_TYPE Seek(Nan::NAN_METHOD_ARGS_TYPE)':
../fs-ext.cc:332:32: warning: 'int32_t v8::Value::Int32Value() const' is deprecated (declared at /home/morfent/.node-gyp/10.15.0/deps/v8/include/v8.h:2478): Use maybe version [-Wdeprecated-declarations]
int fd = info[0]->Int32Value();
^
../fs-ext.cc:317:74: warning: 'double v8::Value::NumberValue() const' is deprecated (declared at /home/morfent/.node-gyp/10.15.0/deps/v8/include/v8.h:2475): Use maybe version [-Wdeprecated-declarations]
if (!(a)->IsUndefined() && !(a)->IsNull() && !IsInt64((a)->NumberValue())) { \
^
../fs-ext.cc:333:3: note: in expansion of macro 'ASSERT_OFFSET'
ASSERT_OFFSET(info[1]);
^
../fs-ext.cc:320:60: warning: 'int64_t v8::Value::IntegerValue() const' is deprecated (declared at /home/morfent/.node-gyp/10.15.0/deps/v8/include/v8.h:2476): Use maybe version [-Wdeprecated-declarations]
#define GET_OFFSET(a) ((a)->IsNumber() ? (a)->IntegerValue() : -1)
^
../fs-ext.cc:334:16: note: in expansion of macro 'GET_OFFSET'
off_t offs = GET_OFFSET(info[1]);
^
../fs-ext.cc:335:36: warning: 'int32_t v8::Value::Int32Value() const' is deprecated (declared at /home/morfent/.node-gyp/10.15.0/deps/v8/include/v8.h:2478): Use maybe version [-Wdeprecated-declarations]
int whence = info[2]->Int32Value();
^
../fs-ext.cc: In function 'Nan::NAN_METHOD_RETURN_TYPE Fcntl(Nan::NAN_METHOD_ARGS_TYPE)':
../fs-ext.cc:369:32: warning: 'int32_t v8::Value::Int32Value() const' is deprecated (declared at /home/morfent/.node-gyp/10.15.0/deps/v8/include/v8.h:2478): Use maybe version [-Wdeprecated-declarations]
int fd = info[0]->Int32Value();
^
../fs-ext.cc:370:33: warning: 'int32_t v8::Value::Int32Value() const' is deprecated (declared at /home/morfent/.node-gyp/10.15.0/deps/v8/include/v8.h:2478): Use maybe version [-Wdeprecated-declarations]
int cmd = info[1]->Int32Value();
^
../fs-ext.cc:371:33: warning: 'int32_t v8::Value::Int32Value() const' is deprecated (declared at /home/morfent/.node-gyp/10.15.0/deps/v8/include/v8.h:2478): Use maybe version [-Wdeprecated-declarations]
int arg = info[2]->Int32Value();
^
../fs-ext.cc: In function 'Nan::NAN_METHOD_RETURN_TYPE UTime(Nan::NAN_METHOD_ARGS_TYPE)':
../fs-ext.cc:423:45: warning: 'v8::String::Utf8Value::Utf8Value(v8::Local<v8::Value>)' is deprecated (declared at /home/morfent/.node-gyp/10.15.0/deps/v8/include/v8.h:2891): Use Isolate version [-Wdeprecated-declarations]
String::Utf8Value path(info[0]->ToString());
^
../fs-ext.cc:424:40: warning: 'int64_t v8::Value::IntegerValue() const' is deprecated (declared at /home/morfent/.node-gyp/10.15.0/deps/v8/include/v8.h:2476): Use maybe version [-Wdeprecated-declarations]
time_t atime = info[1]->IntegerValue();
^
../fs-ext.cc:425:40: warning: 'int64_t v8::Value::IntegerValue() const' is deprecated (declared at /home/morfent/.node-gyp/10.15.0/deps/v8/include/v8.h:2476): Use maybe version [-Wdeprecated-declarations]
time_t mtime = info[2]->IntegerValue();
^
../fs-ext.cc: In function 'Nan::NAN_METHOD_RETURN_TYPE StatVFS(Nan::NAN_METHOD_ARGS_TYPE)':
../fs-ext.cc:462:45: warning: 'v8::String::Utf8Value::Utf8Value(v8::Local<v8::Value>)' is deprecated (declared at /home/morfent/.node-gyp/10.15.0/deps/v8/include/v8.h:2891): Use Isolate version [-Wdeprecated-declarations]
String::Utf8Value path(info[0]->ToString());
^
gmake: *** [fs-ext.target.mk:103: Release/obj.target/fs-ext/fs-ext.o] Error 1
gmake: Leaving directory '/home/morfent/Documents/perl6/nqp/src/vm/js/nqp-runtime/node_modules/fs-ext/build'
gyp ERR! build error
gyp ERR! stack Error: `gmake` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/node-gyp/lib/build.js:262:23)
gyp ERR! stack at ChildProcess.emit (events.js:182:13)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:240:12)
gyp ERR! System OpenBSD 6.4
gyp ERR! command "/usr/local/bin/node" "/usr/local/bin/node-gyp" "rebuild"
gyp ERR! cwd /home/morfent/Documents/perl6/nqp/src/vm/js/nqp-runtime/node_modules/fs-ext
gyp ERR! node -v v10.15.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
I tried running
node-gyp rebuild
with the latest version of GCC, but a bunch of warnings get thrown before finally erroring out. The same happens with Clang.