nikhilk / node-tensorflow

Node.js + TensorFlow
Apache License 2.0
587 stars 59 forks source link

npm install fail - gyp ERR! stack Error: `make` failed with exit code: 2 #28

Closed basickarl closed 6 years ago

basickarl commented 6 years ago

Hello! Tried installing crashes though. Info below, if you need anything else just say. node v9.4.0 npm 5.6.0

DISTRIB_ID="elementary" DISTRIB_RELEASE=0.4.1 DISTRIB_CODENAME=loki DISTRIB_DESCRIPTION="elementary OS 0.4.1 Loki" NAME="elementary OS" VERSION="0.4.1 Loki" ID="elementary" ID_LIKE=ubuntu PRETTY_NAME="elementary OS 0.4.1 Loki" VERSION_ID="0.4.1" HOME_URL="http://elementary.io/" SUPPORT_URL="http://elementary.io/support/" BUG_REPORT_URL="https://github.com/elementary/" VERSION_CODENAME=loki UBUNTU_CODENAME=loki

Loki is built off of Ubuntu 16.04.2

gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609

karl@karl-Dell-Precision-M3800:~/dev/ai$ npm install --save tensorflow

> ref@1.3.5 install /home/karl/dev/ai/node_modules/ref
> node-gyp rebuild

make: Entering directory '/home/karl/dev/ai/node_modules/ref/build'
  CXX(target) Release/obj.target/binding/src/binding.o
../src/binding.cc: In function ‘void init(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’:
../src/binding.cc:643:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   Nan::ForceSet(target, Nan::New<v8::String>("endianness").ToLocalChecked(), Nan::New<v8::String>(CheckEndianne
        ^
In file included from ../../nan/nan.h:197:0,
                 from ../src/binding.cc:7:
../../nan/nan_maybe_43_inl.h:116:35: note: declared here
 NAN_DEPRECATED inline Maybe<bool> ForceSet(
                                   ^
../src/binding.cc:643:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   Nan::ForceSet(target, Nan::New<v8::String>("endianness").ToLocalChecked(), Nan::New<v8::String>(CheckEndianne
        ^
In file included from ../../nan/nan.h:197:0,
                 from ../src/binding.cc:7:
../../nan/nan_maybe_43_inl.h:116:35: note: declared here
 NAN_DEPRECATED inline Maybe<bool> ForceSet(
                                   ^
../src/binding.cc:643:187: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
 Nan::New<v8::String>(CheckEndianness()).ToLocalChecked(), static_cast<PropertyAttribute>(ReadOnly|DontDelete));
                                                                                                              ^
In file included from ../../nan/nan.h:197:0,
                 from ../src/binding.cc:7:
../../nan/nan_maybe_43_inl.h:116:35: note: declared here
 NAN_DEPRECATED inline Maybe<bool> ForceSet(
                                   ^
../src/binding.cc:644:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   Nan::ForceSet(target, Nan::New<v8::String>("NULL").ToLocalChecked(), WrapNullPointer(), static_cast<PropertyA
        ^
In file included from ../../nan/nan.h:197:0,
                 from ../src/binding.cc:7:
../../nan/nan_maybe_43_inl.h:116:35: note: declared here
 NAN_DEPRECATED inline Maybe<bool> ForceSet(
                                   ^
../src/binding.cc:644:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   Nan::ForceSet(target, Nan::New<v8::String>("NULL").ToLocalChecked(), WrapNullPointer(), static_cast<PropertyA
        ^
In file included from ../../nan/nan.h:197:0,
                 from ../src/binding.cc:7:
../../nan/nan_maybe_43_inl.h:116:35: note: declared here
 NAN_DEPRECATED inline Maybe<bool> ForceSet(
                                   ^
../src/binding.cc:644:142: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
 <v8::String>("NULL").ToLocalChecked(), WrapNullPointer(), static_cast<PropertyAttribute>(ReadOnly|DontDelete));
                                                                                                              ^
In file included from ../../nan/nan.h:197:0,
                 from ../src/binding.cc:7:
../../nan/nan_maybe_43_inl.h:116:35: note: declared here
 NAN_DEPRECATED inline Maybe<bool> ForceSet(
                                   ^
  SOLINK_MODULE(target) Release/obj.target/binding.node
  COPY Release/binding.node
make: Leaving directory '/home/karl/dev/ai/node_modules/ref/build'

> ffi@2.2.0 install /home/karl/dev/ai/node_modules/ffi
> node-gyp rebuild

make: Entering directory '/home/karl/dev/ai/node_modules/ffi/build'
  CC(target) Release/obj.target/ffi/deps/libffi/src/prep_cif.o
  CC(target) Release/obj.target/ffi/deps/libffi/src/types.o
  CC(target) Release/obj.target/ffi/deps/libffi/src/raw_api.o
  CC(target) Release/obj.target/ffi/deps/libffi/src/java_raw_api.o
  CC(target) Release/obj.target/ffi/deps/libffi/src/closures.o
../deps/libffi/src/closures.c: In function ‘dlmmap_locked’:
../deps/libffi/src/closures.c:421:7: warning: ignoring return value of ‘ftruncate’, declared with attribute warn_unused_result [-Wunused-result]
       ftruncate (execfd, offset);
       ^
../deps/libffi/src/closures.c:433:7: warning: ignoring return value of ‘ftruncate’, declared with attribute warn_unused_result [-Wunused-result]
       ftruncate (execfd, offset);
       ^
  CC(target) Release/obj.target/ffi/deps/libffi/src/x86/ffi.o
  CC(target) Release/obj.target/ffi/deps/libffi/src/x86/ffi64.o
../deps/libffi/src/x86/ffi64.c: In function ‘classify_argument’:
../deps/libffi/src/x86/ffi64.c:181:18: warning: suggest braces around empty body in an ‘else’ statement [-Wempty-body]
    FFI_ASSERT (0);
                  ^
  CC(target) Release/obj.target/ffi/deps/libffi/src/x86/unix64.o
  CC(target) Release/obj.target/ffi/deps/libffi/src/x86/sysv.o
  AR(target) Release/obj.target/deps/libffi/libffi.a
  COPY Release/libffi.a
  CXX(target) Release/obj.target/ffi_bindings/src/ffi.o
../src/ffi.cc: In static member function ‘static void FFI::InitializeBindings(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’:
../src/ffi.cc:38:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   Nan::ForceSet(target, Nan::New<String>(#_value).ToLocalChecked(), \
        ^
../src/ffi.cc:58:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   SET_ENUM_VALUE(FFI_OK);
   ^
In file included from ../../nan/nan.h:197:0,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:116:35: note: declared here
 NAN_DEPRECATED inline Maybe<bool> ForceSet(
                                   ^
../src/ffi.cc:38:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   Nan::ForceSet(target, Nan::New<String>(#_value).ToLocalChecked(), \
        ^
../src/ffi.cc:58:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   SET_ENUM_VALUE(FFI_OK);
   ^
In file included from ../../nan/nan.h:197:0,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:116:35: note: declared here
 NAN_DEPRECATED inline Maybe<bool> ForceSet(
                                   ^
../src/ffi.cc:40:54: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   static_cast<PropertyAttribute>(ReadOnly|DontDelete))
                                                      ^
../src/ffi.cc:58:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   SET_ENUM_VALUE(FFI_OK);
   ^
In file included from ../../nan/nan.h:197:0,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:116:35: note: declared here
 NAN_DEPRECATED inline Maybe<bool> ForceSet(
                                   ^
../src/ffi.cc:38:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   Nan::ForceSet(target, Nan::New<String>(#_value).ToLocalChecked(), \
        ^
../src/ffi.cc:59:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   SET_ENUM_VALUE(FFI_BAD_TYPEDEF);
   ^
In file included from ../../nan/nan.h:197:0,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:116:35: note: declared here
 NAN_DEPRECATED inline Maybe<bool> ForceSet(
                                   ^
../src/ffi.cc:38:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   Nan::ForceSet(target, Nan::New<String>(#_value).ToLocalChecked(), \
        ^
../src/ffi.cc:59:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   SET_ENUM_VALUE(FFI_BAD_TYPEDEF);
   ^
In file included from ../../nan/nan.h:197:0,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:116:35: note: declared here
 NAN_DEPRECATED inline Maybe<bool> ForceSet(
                                   ^
../src/ffi.cc:40:54: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   static_cast<PropertyAttribute>(ReadOnly|DontDelete))
                                                      ^
../src/ffi.cc:59:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   SET_ENUM_VALUE(FFI_BAD_TYPEDEF);
   ^
In file included from ../../nan/nan.h:197:0,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:116:35: note: declared here
 NAN_DEPRECATED inline Maybe<bool> ForceSet(
                                   ^
../src/ffi.cc:38:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   Nan::ForceSet(target, Nan::New<String>(#_value).ToLocalChecked(), \
        ^
../src/ffi.cc:60:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   SET_ENUM_VALUE(FFI_BAD_ABI);
   ^
In file included from ../../nan/nan.h:197:0,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:116:35: note: declared here
 NAN_DEPRECATED inline Maybe<bool> ForceSet(
                                   ^
../src/ffi.cc:38:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   Nan::ForceSet(target, Nan::New<String>(#_value).ToLocalChecked(), \
        ^
../src/ffi.cc:60:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   SET_ENUM_VALUE(FFI_BAD_ABI);
   ^
In file included from ../../nan/nan.h:197:0,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:116:35: note: declared here
 NAN_DEPRECATED inline Maybe<bool> ForceSet(
                                   ^
../src/ffi.cc:40:54: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   static_cast<PropertyAttribute>(ReadOnly|DontDelete))
                                                      ^
../src/ffi.cc:60:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   SET_ENUM_VALUE(FFI_BAD_ABI);
   ^
In file included from ../../nan/nan.h:197:0,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:116:35: note: declared here
 NAN_DEPRECATED inline Maybe<bool> ForceSet(
                                   ^
../src/ffi.cc:38:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   Nan::ForceSet(target, Nan::New<String>(#_value).ToLocalChecked(), \
        ^
../src/ffi.cc:63:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   SET_ENUM_VALUE(FFI_DEFAULT_ABI);
   ^
In file included from ../../nan/nan.h:197:0,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:116:35: note: declared here
 NAN_DEPRECATED inline Maybe<bool> ForceSet(
                                   ^
../src/ffi.cc:38:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   Nan::ForceSet(target, Nan::New<String>(#_value).ToLocalChecked(), \
        ^
../src/ffi.cc:63:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   SET_ENUM_VALUE(FFI_DEFAULT_ABI);
   ^
In file included from ../../nan/nan.h:197:0,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:116:35: note: declared here
 NAN_DEPRECATED inline Maybe<bool> ForceSet(
                                   ^
../src/ffi.cc:40:54: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   static_cast<PropertyAttribute>(ReadOnly|DontDelete))
                                                      ^
../src/ffi.cc:63:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   SET_ENUM_VALUE(FFI_DEFAULT_ABI);
   ^
In file included from ../../nan/nan.h:197:0,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:116:35: note: declared here
 NAN_DEPRECATED inline Maybe<bool> ForceSet(
                                   ^
../src/ffi.cc:38:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   Nan::ForceSet(target, Nan::New<String>(#_value).ToLocalChecked(), \
        ^
../src/ffi.cc:64:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   SET_ENUM_VALUE(FFI_FIRST_ABI);
   ^
In file included from ../../nan/nan.h:197:0,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:116:35: note: declared here
 NAN_DEPRECATED inline Maybe<bool> ForceSet(
                                   ^
../src/ffi.cc:38:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   Nan::ForceSet(target, Nan::New<String>(#_value).ToLocalChecked(), \
        ^
../src/ffi.cc:64:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   SET_ENUM_VALUE(FFI_FIRST_ABI);
   ^
In file included from ../../nan/nan.h:197:0,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:116:35: note: declared here
 NAN_DEPRECATED inline Maybe<bool> ForceSet(
                                   ^
../src/ffi.cc:40:54: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   static_cast<PropertyAttribute>(ReadOnly|DontDelete))
                                                      ^
../src/ffi.cc:64:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   SET_ENUM_VALUE(FFI_FIRST_ABI);
   ^
In file included from ../../nan/nan.h:197:0,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:116:35: note: declared here
 NAN_DEPRECATED inline Maybe<bool> ForceSet(
                                   ^
../src/ffi.cc:38:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   Nan::ForceSet(target, Nan::New<String>(#_value).ToLocalChecked(), \
        ^
../src/ffi.cc:65:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   SET_ENUM_VALUE(FFI_LAST_ABI);
   ^
In file included from ../../nan/nan.h:197:0,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:116:35: note: declared here
 NAN_DEPRECATED inline Maybe<bool> ForceSet(
                                   ^
../src/ffi.cc:38:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   Nan::ForceSet(target, Nan::New<String>(#_value).ToLocalChecked(), \
        ^
../src/ffi.cc:65:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   SET_ENUM_VALUE(FFI_LAST_ABI);
   ^
In file included from ../../nan/nan.h:197:0,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:116:35: note: declared here
 NAN_DEPRECATED inline Maybe<bool> ForceSet(
                                   ^
../src/ffi.cc:40:54: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   static_cast<PropertyAttribute>(ReadOnly|DontDelete))
                                                      ^
../src/ffi.cc:65:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   SET_ENUM_VALUE(FFI_LAST_ABI);
   ^
In file included from ../../nan/nan.h:197:0,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:116:35: note: declared here
 NAN_DEPRECATED inline Maybe<bool> ForceSet(
                                   ^
../src/ffi.cc:38:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   Nan::ForceSet(target, Nan::New<String>(#_value).ToLocalChecked(), \
        ^
../src/ffi.cc:81:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   SET_ENUM_VALUE(FFI_SYSV);
   ^
In file included from ../../nan/nan.h:197:0,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:116:35: note: declared here
 NAN_DEPRECATED inline Maybe<bool> ForceSet(
                                   ^
../src/ffi.cc:38:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   Nan::ForceSet(target, Nan::New<String>(#_value).ToLocalChecked(), \
        ^
../src/ffi.cc:81:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   SET_ENUM_VALUE(FFI_SYSV);
   ^
In file included from ../../nan/nan.h:197:0,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:116:35: note: declared here
 NAN_DEPRECATED inline Maybe<bool> ForceSet(
                                   ^
../src/ffi.cc:40:54: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   static_cast<PropertyAttribute>(ReadOnly|DontDelete))
                                                      ^
../src/ffi.cc:81:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   SET_ENUM_VALUE(FFI_SYSV);
   ^
In file included from ../../nan/nan.h:197:0,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:116:35: note: declared here
 NAN_DEPRECATED inline Maybe<bool> ForceSet(
                                   ^
../src/ffi.cc:38:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   Nan::ForceSet(target, Nan::New<String>(#_value).ToLocalChecked(), \
        ^
../src/ffi.cc:83:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   SET_ENUM_VALUE(FFI_UNIX64);
   ^
In file included from ../../nan/nan.h:197:0,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:116:35: note: declared here
 NAN_DEPRECATED inline Maybe<bool> ForceSet(
                                   ^
../src/ffi.cc:38:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   Nan::ForceSet(target, Nan::New<String>(#_value).ToLocalChecked(), \
        ^
../src/ffi.cc:83:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   SET_ENUM_VALUE(FFI_UNIX64);
   ^
In file included from ../../nan/nan.h:197:0,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:116:35: note: declared here
 NAN_DEPRECATED inline Maybe<bool> ForceSet(
                                   ^
../src/ffi.cc:40:54: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   static_cast<PropertyAttribute>(ReadOnly|DontDelete))
                                                      ^
../src/ffi.cc:83:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   SET_ENUM_VALUE(FFI_UNIX64);
   ^
In file included from ../../nan/nan.h:197:0,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:116:35: note: declared here
 NAN_DEPRECATED inline Maybe<bool> ForceSet(
                                   ^
../src/ffi.cc:38:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   Nan::ForceSet(target, Nan::New<String>(#_value).ToLocalChecked(), \
        ^
../src/ffi.cc:88:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   SET_ENUM_VALUE(RTLD_LAZY);
   ^
In file included from ../../nan/nan.h:197:0,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:116:35: note: declared here
 NAN_DEPRECATED inline Maybe<bool> ForceSet(
                                   ^
../src/ffi.cc:38:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   Nan::ForceSet(target, Nan::New<String>(#_value).ToLocalChecked(), \
        ^
../src/ffi.cc:88:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   SET_ENUM_VALUE(RTLD_LAZY);
   ^
In file included from ../../nan/nan.h:197:0,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:116:35: note: declared here
 NAN_DEPRECATED inline Maybe<bool> ForceSet(
                                   ^
../src/ffi.cc:40:54: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   static_cast<PropertyAttribute>(ReadOnly|DontDelete))
                                                      ^
../src/ffi.cc:88:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   SET_ENUM_VALUE(RTLD_LAZY);
   ^
In file included from ../../nan/nan.h:197:0,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:116:35: note: declared here
 NAN_DEPRECATED inline Maybe<bool> ForceSet(
                                   ^
../src/ffi.cc:38:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   Nan::ForceSet(target, Nan::New<String>(#_value).ToLocalChecked(), \
        ^
../src/ffi.cc:91:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   SET_ENUM_VALUE(RTLD_NOW);
   ^
In file included from ../../nan/nan.h:197:0,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:116:35: note: declared here
 NAN_DEPRECATED inline Maybe<bool> ForceSet(
                                   ^
../src/ffi.cc:38:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   Nan::ForceSet(target, Nan::New<String>(#_value).ToLocalChecked(), \
        ^
../src/ffi.cc:91:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   SET_ENUM_VALUE(RTLD_NOW);
   ^
In file included from ../../nan/nan.h:197:0,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:116:35: note: declared here
 NAN_DEPRECATED inline Maybe<bool> ForceSet(
                                   ^
../src/ffi.cc:40:54: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   static_cast<PropertyAttribute>(ReadOnly|DontDelete))
                                                      ^
../src/ffi.cc:91:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   SET_ENUM_VALUE(RTLD_NOW);
   ^
In file included from ../../nan/nan.h:197:0,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:116:35: note: declared here
 NAN_DEPRECATED inline Maybe<bool> ForceSet(
                                   ^
../src/ffi.cc:38:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   Nan::ForceSet(target, Nan::New<String>(#_value).ToLocalChecked(), \
        ^
../src/ffi.cc:94:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   SET_ENUM_VALUE(RTLD_LOCAL);
   ^
In file included from ../../nan/nan.h:197:0,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:116:35: note: declared here
 NAN_DEPRECATED inline Maybe<bool> ForceSet(
                                   ^
../src/ffi.cc:38:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   Nan::ForceSet(target, Nan::New<String>(#_value).ToLocalChecked(), \
        ^
../src/ffi.cc:94:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   SET_ENUM_VALUE(RTLD_LOCAL);
   ^
In file included from ../../nan/nan.h:197:0,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:116:35: note: declared here
 NAN_DEPRECATED inline Maybe<bool> ForceSet(
                                   ^
../src/ffi.cc:40:54: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   static_cast<PropertyAttribute>(ReadOnly|DontDelete))
                                                      ^
../src/ffi.cc:94:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   SET_ENUM_VALUE(RTLD_LOCAL);
   ^
In file included from ../../nan/nan.h:197:0,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:116:35: note: declared here
 NAN_DEPRECATED inline Maybe<bool> ForceSet(
                                   ^
../src/ffi.cc:38:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   Nan::ForceSet(target, Nan::New<String>(#_value).ToLocalChecked(), \
        ^
../src/ffi.cc:97:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   SET_ENUM_VALUE(RTLD_GLOBAL);
   ^
In file included from ../../nan/nan.h:197:0,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:116:35: note: declared here
 NAN_DEPRECATED inline Maybe<bool> ForceSet(
                                   ^
../src/ffi.cc:38:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   Nan::ForceSet(target, Nan::New<String>(#_value).ToLocalChecked(), \
        ^
../src/ffi.cc:97:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   SET_ENUM_VALUE(RTLD_GLOBAL);
   ^
In file included from ../../nan/nan.h:197:0,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:116:35: note: declared here
 NAN_DEPRECATED inline Maybe<bool> ForceSet(
                                   ^
../src/ffi.cc:40:54: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   static_cast<PropertyAttribute>(ReadOnly|DontDelete))
                                                      ^
../src/ffi.cc:97:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   SET_ENUM_VALUE(RTLD_GLOBAL);
   ^
In file included from ../../nan/nan.h:197:0,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:116:35: note: declared here
 NAN_DEPRECATED inline Maybe<bool> ForceSet(
                                   ^
../src/ffi.cc:38:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   Nan::ForceSet(target, Nan::New<String>(#_value).ToLocalChecked(), \
        ^
../src/ffi.cc:100:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   SET_ENUM_VALUE(RTLD_NOLOAD);
   ^
In file included from ../../nan/nan.h:197:0,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:116:35: note: declared here
 NAN_DEPRECATED inline Maybe<bool> ForceSet(
                                   ^
../src/ffi.cc:38:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   Nan::ForceSet(target, Nan::New<String>(#_value).ToLocalChecked(), \
        ^
../src/ffi.cc:100:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   SET_ENUM_VALUE(RTLD_NOLOAD);
   ^
In file included from ../../nan/nan.h:197:0,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:116:35: note: declared here
 NAN_DEPRECATED inline Maybe<bool> ForceSet(
                                   ^
../src/ffi.cc:40:54: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   static_cast<PropertyAttribute>(ReadOnly|DontDelete))
                                                      ^
../src/ffi.cc:100:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   SET_ENUM_VALUE(RTLD_NOLOAD);
   ^
In file included from ../../nan/nan.h:197:0,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:116:35: note: declared here
 NAN_DEPRECATED inline Maybe<bool> ForceSet(
                                   ^
../src/ffi.cc:38:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   Nan::ForceSet(target, Nan::New<String>(#_value).ToLocalChecked(), \
        ^
../src/ffi.cc:103:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   SET_ENUM_VALUE(RTLD_NODELETE);
   ^
In file included from ../../nan/nan.h:197:0,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:116:35: note: declared here
 NAN_DEPRECATED inline Maybe<bool> ForceSet(
                                   ^
../src/ffi.cc:38:8: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   Nan::ForceSet(target, Nan::New<String>(#_value).ToLocalChecked(), \
        ^
../src/ffi.cc:103:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   SET_ENUM_VALUE(RTLD_NODELETE);
   ^
In file included from ../../nan/nan.h:197:0,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:116:35: note: declared here
 NAN_DEPRECATED inline Maybe<bool> ForceSet(
                                   ^
../src/ffi.cc:40:54: warning: ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
   static_cast<PropertyAttribute>(ReadOnly|DontDelete))
                                                      ^
../src/ffi.cc:103:3: note: in expansion of macro ‘SET_ENUM_VALUE’
   SET_ENUM_VALUE(RTLD_NODELETE);
   ^
In file included from ../../nan/nan.h:197:0,
                 from ../src/ffi.h:23,
                 from ../src/ffi.cc:3:
../../nan/nan_maybe_43_inl.h:116:35: note: declared here
 NAN_DEPRECATED inline Maybe<bool> ForceSet(
                                   ^
../src/ffi.cc:111:153: error: no matching function for call to ‘v8::Object::ForceSet(v8::Local<v8::String>, v8::Local<v8::Value>, v8::PropertyAttribute)’
 EXT").ToLocalChecked(), WrapPointer((char *)RTLD_NEXT), static_cast<PropertyAttribute>(ReadOnly | DontDelete));
                                                                                                              ^
In file included from /home/karl/.node-gyp/9.4.0/include/node/v8.h:26:0,
                 from /home/karl/.node-gyp/9.4.0/include/node/node.h:63,
                 from ../src/ffi.cc:1:
/home/karl/.node-gyp/9.4.0/include/node/v8.h:3115:29: note: candidate: v8::Maybe<bool> v8::Object::ForceSet(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)
                 Maybe<bool> ForceSet(Local<Context> context, Local<Value> key,
                             ^
/home/karl/.node-gyp/9.4.0/include/node/v8config.h:318:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^
/home/karl/.node-gyp/9.4.0/include/node/v8.h:3115:29: note:   no known conversion for argument 3 from ‘v8::PropertyAttribute’ to ‘v8::Local<v8::Value>’
                 Maybe<bool> ForceSet(Local<Context> context, Local<Value> key,
                             ^
/home/karl/.node-gyp/9.4.0/include/node/v8config.h:318:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^
../src/ffi.cc:114:159: error: no matching function for call to ‘v8::Object::ForceSet(v8::Local<v8::String>, v8::Local<v8::Value>, v8::PropertyAttribute)’
 ").ToLocalChecked(), WrapPointer((char *)RTLD_DEFAULT), static_cast<PropertyAttribute>(ReadOnly | DontDelete));
                                                                                                              ^
In file included from /home/karl/.node-gyp/9.4.0/include/node/v8.h:26:0,
                 from /home/karl/.node-gyp/9.4.0/include/node/node.h:63,
                 from ../src/ffi.cc:1:
/home/karl/.node-gyp/9.4.0/include/node/v8.h:3115:29: note: candidate: v8::Maybe<bool> v8::Object::ForceSet(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)
                 Maybe<bool> ForceSet(Local<Context> context, Local<Value> key,
                             ^
/home/karl/.node-gyp/9.4.0/include/node/v8config.h:318:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^
/home/karl/.node-gyp/9.4.0/include/node/v8.h:3115:29: note:   no known conversion for argument 3 from ‘v8::PropertyAttribute’ to ‘v8::Local<v8::Value>’
                 Maybe<bool> ForceSet(Local<Context> context, Local<Value> key,
                             ^
/home/karl/.node-gyp/9.4.0/include/node/v8config.h:318:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^
../src/ffi.cc:123:167: error: no matching function for call to ‘v8::Object::ForceSet(v8::Local<v8::String>, Nan::imp::FactoryBase<v8::Uint32>::return_t, v8::PropertyAttribute)’
 alChecked(), Nan::New<Uint32>((uint32_t)sizeof(ffi_arg)), static_cast<PropertyAttribute>(ReadOnly|DontDelete));
                                                                                                              ^
In file included from /home/karl/.node-gyp/9.4.0/include/node/v8.h:26:0,
                 from /home/karl/.node-gyp/9.4.0/include/node/node.h:63,
                 from ../src/ffi.cc:1:
/home/karl/.node-gyp/9.4.0/include/node/v8.h:3115:29: note: candidate: v8::Maybe<bool> v8::Object::ForceSet(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)
                 Maybe<bool> ForceSet(Local<Context> context, Local<Value> key,
                             ^
/home/karl/.node-gyp/9.4.0/include/node/v8config.h:318:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^
/home/karl/.node-gyp/9.4.0/include/node/v8.h:3115:29: note:   no known conversion for argument 3 from ‘v8::PropertyAttribute’ to ‘v8::Local<v8::Value>’
                 Maybe<bool> ForceSet(Local<Context> context, Local<Value> key,
                             ^
/home/karl/.node-gyp/9.4.0/include/node/v8config.h:318:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^
../src/ffi.cc:124:171: error: no matching function for call to ‘v8::Object::ForceSet(v8::Local<v8::String>, Nan::imp::FactoryBase<v8::Uint32>::return_t, v8::PropertyAttribute)’
 hecked(), Nan::New<Uint32>((uint32_t)sizeof(ffi_sarg)), static_cast<PropertyAttribute>(ReadOnly | DontDelete));
                                                                                                              ^
In file included from /home/karl/.node-gyp/9.4.0/include/node/v8.h:26:0,
                 from /home/karl/.node-gyp/9.4.0/include/node/node.h:63,
                 from ../src/ffi.cc:1:
/home/karl/.node-gyp/9.4.0/include/node/v8.h:3115:29: note: candidate: v8::Maybe<bool> v8::Object::ForceSet(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)
                 Maybe<bool> ForceSet(Local<Context> context, Local<Value> key,
                             ^
/home/karl/.node-gyp/9.4.0/include/node/v8config.h:318:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^
/home/karl/.node-gyp/9.4.0/include/node/v8.h:3115:29: note:   no known conversion for argument 3 from ‘v8::PropertyAttribute’ to ‘v8::Local<v8::Value>’
                 Maybe<bool> ForceSet(Local<Context> context, Local<Value> key,
                             ^
/home/karl/.node-gyp/9.4.0/include/node/v8config.h:318:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^
../src/ffi.cc:125:171: error: no matching function for call to ‘v8::Object::ForceSet(v8::Local<v8::String>, Nan::imp::FactoryBase<v8::Uint32>::return_t, v8::PropertyAttribute)’
 hecked(), Nan::New<Uint32>((uint32_t)sizeof(ffi_type)), static_cast<PropertyAttribute>(ReadOnly | DontDelete));
                                                                                                              ^
In file included from /home/karl/.node-gyp/9.4.0/include/node/v8.h:26:0,
                 from /home/karl/.node-gyp/9.4.0/include/node/node.h:63,
                 from ../src/ffi.cc:1:
/home/karl/.node-gyp/9.4.0/include/node/v8.h:3115:29: note: candidate: v8::Maybe<bool> v8::Object::ForceSet(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)
                 Maybe<bool> ForceSet(Local<Context> context, Local<Value> key,
                             ^
/home/karl/.node-gyp/9.4.0/include/node/v8config.h:318:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^
/home/karl/.node-gyp/9.4.0/include/node/v8.h:3115:29: note:   no known conversion for argument 3 from ‘v8::PropertyAttribute’ to ‘v8::Local<v8::Value>’
                 Maybe<bool> ForceSet(Local<Context> context, Local<Value> key,
                             ^
/home/karl/.node-gyp/9.4.0/include/node/v8config.h:318:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^
../src/ffi.cc:126:169: error: no matching function for call to ‘v8::Object::ForceSet(v8::Local<v8::String>, Nan::imp::FactoryBase<v8::Uint32>::return_t, v8::PropertyAttribute)’
 Checked(), Nan::New<Uint32>((uint32_t)sizeof(ffi_cif)), static_cast<PropertyAttribute>(ReadOnly | DontDelete));
                                                                                                              ^
In file included from /home/karl/.node-gyp/9.4.0/include/node/v8.h:26:0,
                 from /home/karl/.node-gyp/9.4.0/include/node/node.h:63,
                 from ../src/ffi.cc:1:
/home/karl/.node-gyp/9.4.0/include/node/v8.h:3115:29: note: candidate: v8::Maybe<bool> v8::Object::ForceSet(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)
                 Maybe<bool> ForceSet(Local<Context> context, Local<Value> key,
                             ^
/home/karl/.node-gyp/9.4.0/include/node/v8config.h:318:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^
/home/karl/.node-gyp/9.4.0/include/node/v8.h:3115:29: note:   no known conversion for argument 3 from ‘v8::PropertyAttribute’ to ‘v8::Local<v8::Value>’
                 Maybe<bool> ForceSet(Local<Context> context, Local<Value> key,
                             ^
/home/karl/.node-gyp/9.4.0/include/node/v8config.h:318:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^
../src/ffi.cc:132:148: error: no matching function for call to ‘v8::Object::ForceSet(v8::Local<v8::String>, Nan::imp::FactoryBase<v8::Boolean>::return_t, v8::PropertyAttribute)’
 AS_OBJC").ToLocalChecked(), Nan::New<Boolean>(hasObjc), static_cast<PropertyAttribute>(ReadOnly | DontDelete));
                                                                                                              ^
In file included from /home/karl/.node-gyp/9.4.0/include/node/v8.h:26:0,
                 from /home/karl/.node-gyp/9.4.0/include/node/node.h:63,
                 from ../src/ffi.cc:1:
/home/karl/.node-gyp/9.4.0/include/node/v8.h:3115:29: note: candidate: v8::Maybe<bool> v8::Object::ForceSet(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)
                 Maybe<bool> ForceSet(Local<Context> context, Local<Value> key,
                             ^
/home/karl/.node-gyp/9.4.0/include/node/v8config.h:318:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^
/home/karl/.node-gyp/9.4.0/include/node/v8.h:3115:29: note:   no known conversion for argument 3 from ‘v8::PropertyAttribute’ to ‘v8::Local<v8::Value>’
                 Maybe<bool> ForceSet(Local<Context> context, Local<Value> key,
                             ^
/home/karl/.node-gyp/9.4.0/include/node/v8config.h:318:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^
ffi_bindings.target.mk:104: recipe for target 'Release/obj.target/ffi_bindings/src/ffi.o' failed
make: *** [Release/obj.target/ffi_bindings/src/ffi.o] Error 1
make: Leaving directory '/home/karl/dev/ai/node_modules/ffi/build'
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/home/karl/.nvm/versions/node/v9.4.0/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:258:23)
gyp ERR! stack     at ChildProcess.emit (events.js:160:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:209:12)
gyp ERR! System Linux 4.10.0-32-generic
gyp ERR! command "/home/karl/.nvm/versions/node/v9.4.0/bin/node" "/home/karl/.nvm/versions/node/v9.4.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/karl/dev/ai/node_modules/ffi
gyp ERR! node -v v9.4.0
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok 
npm WARN ai@0.1.0 No description
npm WARN ai@0.1.0 No repository field.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! ffi@2.2.0 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the ffi@2.2.0 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/karl/.npm/_logs/2018-01-25T21_03_31_001Z-debug.log
nikhilk commented 6 years ago

Seems like the ffi node module doesn't build in node latest 9.4? It does work on the LTS version of node (8.9.x).

Couple of things to try:

  1. Validate its not an OS issue (I doubt it) by using node 8.9.3 on that OS (that is the version of node listed in package.json that I used)
  2. Likely as follow-on, file an issue on ffi (https://github.com/node-ffi/node-ffi) ... probably easy to setup a repro for them. A simple npm install ffi ought to repro this if its an ffi issue.

It would certainly be nice to have this be fixed, so at some point we can move forward to 9.x when node LTS moves forward.

nikhilk commented 6 years ago

Seems like this may already have been reported, and apparently is also happening with node 8.6.3. See https://github.com/node-ffi/node-ffi/issues/448

basickarl commented 6 years ago

@nikhilk Alright it's already filed, found the issue: https://github.com/node-ffi/node-ffi/issues/438 Closing and hoping it will be fixed soon!

Also, a quick question. Are you planning on having this library support only LTS releases?

nikhilk commented 6 years ago

Well, it would be great to be able to use any newer versions of node, not just LTS, but clearly we're a bit stuck on what is currently marked as LTS given the ffi bug.

I think the policy I'd like to follow is at least LTS is always supported, and ideally current too, but life on the bleeding edge can be overly interesting/painful, so opportunistic at best.

nikhilk commented 6 years ago

Please +1 the ffi issue; and yes, lets hope its fixed soon.

basickarl commented 6 years ago

Sounds good, +1'nd both. Let's hope this gets cleared up as soon as possible.