laverdet/node-fibers

Node Version 10 Compatibility

Closed this issue · 18 comments

adrum commented

Tried installing this on node 10.4 on a raspberry pi 3 b+ and received build errors. Rolling back to node 8 fixed the issue.

> fibers@1.0.15 install /home/pi/project/node_modules/fibers
> node build.js || nodejs build.js

make: Entering directory '/home/pi/project/node_modules/fibers/build'
  CXX(target) Release/obj.target/fibers/src/fibers.o
../src/fibers.cc: In function ‘v8::Handle<v8::String> uni::NewLatin1String(v8::Isolate*, const char*)’:
../src/fibers.cc:122:64: error: no matching function for call to ‘v8::String::NewFromOneByte(v8::Isolate*&, const uint8_t*)’
   return String::NewFromOneByte(isolate, (const uint8_t*)string);
                                                                ^
In file included from /home/pi/.node-gyp/10.4.0/include/node/node.h:63:0,
                 from ../src/coroutine.h:1,
                 from ../src/fibers.cc:1:
/home/pi/.node-gyp/10.4.0/include/node/v8.h:2760:51: note: candidate: static v8::MaybeLocal<v8::String> v8::String::NewFromOneByte(v8::Isolate*, const uint8_t*, v8::NewStringType, int)
   static V8_WARN_UNUSED_RESULT MaybeLocal<String> NewFromOneByte(
                                                   ^~~~~~~~~~~~~~
/home/pi/.node-gyp/10.4.0/include/node/v8.h:2760:51: note:   candidate expects 4 arguments, 2 provided
../src/fibers.cc: In function ‘v8::Handle<v8::String> uni::NewLatin1Symbol(v8::Isolate*, const char*)’:
../src/fibers.cc:126:64: error: no matching function for call to ‘v8::String::NewFromOneByte(v8::Isolate*&, const uint8_t*)’
   return String::NewFromOneByte(isolate, (const uint8_t*)string);
                                                                ^
In file included from /home/pi/.node-gyp/10.4.0/include/node/node.h:63:0,
                 from ../src/coroutine.h:1,
                 from ../src/fibers.cc:1:
/home/pi/.node-gyp/10.4.0/include/node/v8.h:2760:51: note: candidate: static v8::MaybeLocal<v8::String> v8::String::NewFromOneByte(v8::Isolate*, const uint8_t*, v8::NewStringType, int)
   static V8_WARN_UNUSED_RESULT MaybeLocal<String> NewFromOneByte(
                                                   ^~~~~~~~~~~~~~
/home/pi/.node-gyp/10.4.0/include/node/v8.h:2760:51: note:   candidate expects 4 arguments, 2 provided
../src/fibers.cc: In static member function ‘static void Fiber::DestroyOrphans()’:
../src/fibers.cc:406:67: warning: ‘v8::String::Utf8Value::Utf8Value(v8::Local<v8::Value>)’ is deprecated: Use Isolate version [-Wdeprecated-declarations]
      String::Utf8Value stack(uni::Deref(that.isolate, fatal_stack));
                                                                   ^
In file included from /home/pi/.node-gyp/10.4.0/include/node/v8.h:26:0,
                 from /home/pi/.node-gyp/10.4.0/include/node/node.h:63,
                 from ../src/coroutine.h:1,
                 from ../src/fibers.cc:1:
/home/pi/.node-gyp/10.4.0/include/node/v8.h:2846:28: note: declared here
                   explicit Utf8Value(Local<v8::Value> obj));
                            ^
/home/pi/.node-gyp/10.4.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
../src/fibers.cc: In static member function ‘static uni::FunctionType Fiber::New(const Arguments&)’:
../src/fibers.cc:433:99: error: no matching function for call to ‘v8::Function::NewInstance(int, v8::Handle<v8::Value> [1])’
     return uni::Return(uni::Deref(Isolate::GetCurrent(), tmpl)->GetFunction()->NewInstance(1, argv), args);
                                                                                                   ^
In file included from /home/pi/.node-gyp/10.4.0/include/node/node.h:63:0,
                 from ../src/coroutine.h:1,
                 from ../src/fibers.cc:1:
/home/pi/.node-gyp/10.4.0/include/node/v8.h:3905:44: note: candidate: v8::MaybeLocal<v8::Object> v8::Function::NewInstance(v8::Local<v8::Context>, int, v8::Local<v8::Value>*) const
   V8_WARN_UNUSED_RESULT MaybeLocal<Object> NewInstance(
                                            ^~~~~~~~~~~
/home/pi/.node-gyp/10.4.0/include/node/v8.h:3905:44: note:   candidate expects 3 arguments, 2 provided
/home/pi/.node-gyp/10.4.0/include/node/v8.h:3908:44: note: candidate: v8::MaybeLocal<v8::Object> v8::Function::NewInstance(v8::Local<v8::Context>) const
   V8_WARN_UNUSED_RESULT MaybeLocal<Object> NewInstance(
                                            ^~~~~~~~~~~
/home/pi/.node-gyp/10.4.0/include/node/v8.h:3908:44: note:   candidate expects 1 argument, 2 provided
../src/fibers.cc:433:106: error: return-statement with a value, in function returning 'void' [-fpermissive]
     return uni::Return(uni::Deref(Isolate::GetCurrent(), tmpl)->GetFunction()->NewInstance(1, argv), args);
                                                                                                          ^
../src/fibers.cc: In static member function ‘static void Fiber::RunFiber(void**)’:
../src/fibers.cc:621:14: error: no matching function for call to ‘v8::TryCatch::TryCatch()’
     TryCatch try_catch;
              ^~~~~~~~~
In file included from /home/pi/.node-gyp/10.4.0/include/node/node.h:63:0,
                 from ../src/coroutine.h:1,
                 from ../src/fibers.cc:1:
/home/pi/.node-gyp/10.4.0/include/node/v8.h:8388:12: note: candidate: v8::TryCatch::TryCatch(v8::Isolate*)
   explicit TryCatch(Isolate* isolate);
            ^~~~~~~~
/home/pi/.node-gyp/10.4.0/include/node/v8.h:8388:12: note:   candidate expects 1 argument, 0 provided
../src/fibers.cc:628:66: warning: ‘static v8::Local<v8::Script> v8::Script::Compile(v8::Local<v8::String>, v8::ScriptOrigin*)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
     Script::Compile(uni::NewLatin1String(that.isolate, "void 0;"));
                                                                  ^
In file included from /home/pi/.node-gyp/10.4.0/include/node/v8.h:26:0,
                 from /home/pi/.node-gyp/10.4.0/include/node/node.h:63,
                 from ../src/coroutine.h:1,
                 from ../src/fibers.cc:1:
/home/pi/.node-gyp/10.4.0/include/node/v8.h:1237:38: note: declared here
                        Local<Script> Compile(Local<String> source,
                                      ^
/home/pi/.node-gyp/10.4.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
../src/fibers.cc:643:66: warning: ‘v8::Local<v8::Value> v8::TryCatch::StackTrace() const’ is deprecated: Use maybe version. [-Wdeprecated-declarations]
       uni::Reset(that.isolate, fatal_stack, try_catch.StackTrace());
                                                                  ^
In file included from /home/pi/.node-gyp/10.4.0/include/node/v8.h:26:0,
                 from /home/pi/.node-gyp/10.4.0/include/node/node.h:63,
                 from ../src/coroutine.h:1,
                 from ../src/fibers.cc:1:
/home/pi/.node-gyp/10.4.0/include/node/v8.h:8445:52: note: declared here
   V8_DEPRECATED("Use maybe version.", Local<Value> StackTrace() const);
                                                    ^
/home/pi/.node-gyp/10.4.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
../src/fibers.cc: In static member function ‘static void Fiber::SetPoolSize(v8::Local<v8::String>, v8::Local<v8::Value>, const SetterCallbackInfo&)’:
../src/fibers.cc:741:43: error: no matching function for call to ‘v8::Value::ToNumber()’
    Coroutine::pool_size = value->ToNumber()->Value();
                                           ^
In file included from /home/pi/.node-gyp/10.4.0/include/node/node.h:63:0,
                 from ../src/coroutine.h:1,
                 from ../src/fibers.cc:1:
/home/pi/.node-gyp/10.4.0/include/node/v8.h:2390:44: note: candidate: v8::MaybeLocal<v8::Number> v8::Value::ToNumber(v8::Local<v8::Context>) const
   V8_WARN_UNUSED_RESULT MaybeLocal<Number> ToNumber(
                                            ^~~~~~~~
/home/pi/.node-gyp/10.4.0/include/node/v8.h:2390:44: note:   candidate expects 1 argument, 0 provided
In file included from /home/pi/.node-gyp/10.4.0/include/node/v8.h:26:0,
                 from /home/pi/.node-gyp/10.4.0/include/node/node.h:63,
                 from ../src/coroutine.h:1,
                 from ../src/fibers.cc:1:
/home/pi/.node-gyp/10.4.0/include/node/v8.h:2407:35: note: candidate: v8::Local<v8::Number> v8::Value::ToNumber(v8::Isolate*) const
                     Local<Number> ToNumber(Isolate* isolate) const);
                                   ^
/home/pi/.node-gyp/10.4.0/include/node/v8config.h:346:48: note: in definition of macro ‘V8_DEPRECATE_SOON’
 #define V8_DEPRECATE_SOON(message, declarator) declarator
                                                ^~~~~~~~~~
/home/pi/.node-gyp/10.4.0/include/node/v8.h:2407:35: note:   candidate expects 1 argument, 0 provided
                     Local<Number> ToNumber(Isolate* isolate) const);
                                   ^
/home/pi/.node-gyp/10.4.0/include/node/v8config.h:346:48: note: in definition of macro ‘V8_DEPRECATE_SOON’
 #define V8_DEPRECATE_SOON(message, declarator) declarator
                                                ^~~~~~~~~~
../src/fibers.cc: In static member function ‘static void Fiber::Init(v8::Handle<v8::Object>)’:
../src/fibers.cc:793:72: error: no matching function for call to ‘v8::Function::SetAccessor(v8::Handle<v8::String>, uni::FunctionType (&)(v8::Local<v8::String>, const GetterCallbackInfo&))’
    fn->SetAccessor(uni::NewLatin1Symbol(isolate, "current"), GetCurrent);
                                                                        ^
In file included from /home/pi/.node-gyp/10.4.0/include/node/node.h:63:0,
                 from ../src/coroutine.h:1,
                 from ../src/fibers.cc:1:
/home/pi/.node-gyp/10.4.0/include/node/v8.h:3260:37: note: candidate: v8::Maybe<bool> v8::Object::SetAccessor(v8::Local<v8::Context>, v8::Local<v8::Name>, v8::AccessorNameGetterCallback, v8::AccessorNameSetterCallback, v8::MaybeLocal<v8::Value>, v8::AccessControl, v8::PropertyAttribute, v8::SideEffectType)
   V8_WARN_UNUSED_RESULT Maybe<bool> SetAccessor(
                                     ^~~~~~~~~~~
/home/pi/.node-gyp/10.4.0/include/node/v8.h:3260:37: note:   candidate expects 8 arguments, 2 provided
../src/fibers.cc:794:87: error: no matching function for call to ‘v8::Function::SetAccessor(v8::Handle<v8::String>, uni::FunctionType (&)(v8::Local<v8::String>, const GetterCallbackInfo&), void (&)(v8::Local<v8::String>, v8::Local<v8::Value>, const SetterCallbackInfo&))’
    fn->SetAccessor(uni::NewLatin1Symbol(isolate, "poolSize"), GetPoolSize, SetPoolSize);
                                                                                       ^
In file included from /home/pi/.node-gyp/10.4.0/include/node/node.h:63:0,
                 from ../src/coroutine.h:1,
                 from ../src/fibers.cc:1:
/home/pi/.node-gyp/10.4.0/include/node/v8.h:3260:37: note: candidate: v8::Maybe<bool> v8::Object::SetAccessor(v8::Local<v8::Context>, v8::Local<v8::Name>, v8::AccessorNameGetterCallback, v8::AccessorNameSetterCallback, v8::MaybeLocal<v8::Value>, v8::AccessControl, v8::PropertyAttribute, v8::SideEffectType)
   V8_WARN_UNUSED_RESULT Maybe<bool> SetAccessor(
                                     ^~~~~~~~~~~
/home/pi/.node-gyp/10.4.0/include/node/v8.h:3260:37: note:   no known conversion for argument 2 from ‘uni::FunctionType(v8::Local<v8::String>, const GetterCallbackInfo&) {aka void(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>&)}’ to ‘v8::Local<v8::Name>’
../src/fibers.cc:795:84: error: no matching function for call to ‘v8::Function::SetAccessor(v8::Handle<v8::String>, uni::FunctionType (&)(v8::Local<v8::String>, const GetterCallbackInfo&))’
    fn->SetAccessor(uni::NewLatin1Symbol(isolate, "fibersCreated"), GetFibersCreated);
                                                                                    ^
In file included from /home/pi/.node-gyp/10.4.0/include/node/node.h:63:0,
                 from ../src/coroutine.h:1,
                 from ../src/fibers.cc:1:
/home/pi/.node-gyp/10.4.0/include/node/v8.h:3260:37: note: candidate: v8::Maybe<bool> v8::Object::SetAccessor(v8::Local<v8::Context>, v8::Local<v8::Name>, v8::AccessorNameGetterCallback, v8::AccessorNameSetterCallback, v8::MaybeLocal<v8::Value>, v8::AccessControl, v8::PropertyAttribute, v8::SideEffectType)
   V8_WARN_UNUSED_RESULT Maybe<bool> SetAccessor(
                                     ^~~~~~~~~~~
/home/pi/.node-gyp/10.4.0/include/node/v8.h:3260:37: note:   candidate expects 8 arguments, 2 provided
fibers.target.mk:100: recipe for target 'Release/obj.target/fibers/src/fibers.o' failed
make: *** [Release/obj.target/fibers/src/fibers.o] Error 1
make: Leaving directory '/home/pi/project/node_modules/fibers/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:258:23)
gyp ERR! stack     at ChildProcess.emit (events.js:182:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:237:12)
gyp ERR! System Linux 4.14.34-v7+
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--release"
gyp ERR! cwd /home/pi/project/node_modules/fibers
gyp ERR! node -v v10.4.0
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok
node-gyp exited with code: 1
Please make sure you are using a supported platform and node version. If you
would like to compile fibers on this machine please make sure you have setup your
build environment--
Windows + OS X instructions here: https://github.com/nodejs/node-gyp
Ubuntu users please run: `sudo apt-get install g++ build-essential`
Alpine users please run: `sudo apk add python make g++`
make: Entering directory '/home/pi/project/node_modules/fibers/build'
  CXX(target) Release/obj.target/fibers/src/fibers.o
../src/fibers.cc: In function ‘v8::Handle<v8::String> uni::NewLatin1String(v8::Isolate*, const char*)’:
../src/fibers.cc:122:64: error: no matching function for call to ‘v8::String::NewFromOneByte(v8::Isolate*&, const uint8_t*)’
   return String::NewFromOneByte(isolate, (const uint8_t*)string);
                                                                ^
In file included from /home/pi/.node-gyp/10.4.0/include/node/node.h:63:0,
                 from ../src/coroutine.h:1,
                 from ../src/fibers.cc:1:
/home/pi/.node-gyp/10.4.0/include/node/v8.h:2760:51: note: candidate: static v8::MaybeLocal<v8::String> v8::String::NewFromOneByte(v8::Isolate*, const uint8_t*, v8::NewStringType, int)
   static V8_WARN_UNUSED_RESULT MaybeLocal<String> NewFromOneByte(
                                                   ^~~~~~~~~~~~~~
/home/pi/.node-gyp/10.4.0/include/node/v8.h:2760:51: note:   candidate expects 4 arguments, 2 provided
../src/fibers.cc: In function ‘v8::Handle<v8::String> uni::NewLatin1Symbol(v8::Isolate*, const char*)’:
../src/fibers.cc:126:64: error: no matching function for call to ‘v8::String::NewFromOneByte(v8::Isolate*&, const uint8_t*)’
   return String::NewFromOneByte(isolate, (const uint8_t*)string);
                                                                ^
In file included from /home/pi/.node-gyp/10.4.0/include/node/node.h:63:0,
                 from ../src/coroutine.h:1,
                 from ../src/fibers.cc:1:
/home/pi/.node-gyp/10.4.0/include/node/v8.h:2760:51: note: candidate: static v8::MaybeLocal<v8::String> v8::String::NewFromOneByte(v8::Isolate*, const uint8_t*, v8::NewStringType, int)
   static V8_WARN_UNUSED_RESULT MaybeLocal<String> NewFromOneByte(
                                                   ^~~~~~~~~~~~~~
/home/pi/.node-gyp/10.4.0/include/node/v8.h:2760:51: note:   candidate expects 4 arguments, 2 provided
../src/fibers.cc: In static member function ‘static void Fiber::DestroyOrphans()’:
../src/fibers.cc:406:67: warning: ‘v8::String::Utf8Value::Utf8Value(v8::Local<v8::Value>)’ is deprecated: Use Isolate version [-Wdeprecated-declarations]
      String::Utf8Value stack(uni::Deref(that.isolate, fatal_stack));
                                                                   ^
In file included from /home/pi/.node-gyp/10.4.0/include/node/v8.h:26:0,
                 from /home/pi/.node-gyp/10.4.0/include/node/node.h:63,
                 from ../src/coroutine.h:1,
                 from ../src/fibers.cc:1:
/home/pi/.node-gyp/10.4.0/include/node/v8.h:2846:28: note: declared here
                   explicit Utf8Value(Local<v8::Value> obj));
                            ^
/home/pi/.node-gyp/10.4.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
../src/fibers.cc: In static member function ‘static uni::FunctionType Fiber::New(const Arguments&)’:
../src/fibers.cc:433:99: error: no matching function for call to ‘v8::Function::NewInstance(int, v8::Handle<v8::Value> [1])’
     return uni::Return(uni::Deref(Isolate::GetCurrent(), tmpl)->GetFunction()->NewInstance(1, argv), args);
                                                                                                   ^
In file included from /home/pi/.node-gyp/10.4.0/include/node/node.h:63:0,
                 from ../src/coroutine.h:1,
                 from ../src/fibers.cc:1:
/home/pi/.node-gyp/10.4.0/include/node/v8.h:3905:44: note: candidate: v8::MaybeLocal<v8::Object> v8::Function::NewInstance(v8::Local<v8::Context>, int, v8::Local<v8::Value>*) const
   V8_WARN_UNUSED_RESULT MaybeLocal<Object> NewInstance(
                                            ^~~~~~~~~~~
/home/pi/.node-gyp/10.4.0/include/node/v8.h:3905:44: note:   candidate expects 3 arguments, 2 provided
/home/pi/.node-gyp/10.4.0/include/node/v8.h:3908:44: note: candidate: v8::MaybeLocal<v8::Object> v8::Function::NewInstance(v8::Local<v8::Context>) const
   V8_WARN_UNUSED_RESULT MaybeLocal<Object> NewInstance(
                                            ^~~~~~~~~~~
/home/pi/.node-gyp/10.4.0/include/node/v8.h:3908:44: note:   candidate expects 1 argument, 2 provided
../src/fibers.cc:433:106: error: return-statement with a value, in function returning 'void' [-fpermissive]
     return uni::Return(uni::Deref(Isolate::GetCurrent(), tmpl)->GetFunction()->NewInstance(1, argv), args);
                                                                                                          ^
../src/fibers.cc: In static member function ‘static void Fiber::RunFiber(void**)’:
../src/fibers.cc:621:14: error: no matching function for call to ‘v8::TryCatch::TryCatch()’
     TryCatch try_catch;
              ^~~~~~~~~
In file included from /home/pi/.node-gyp/10.4.0/include/node/node.h:63:0,
                 from ../src/coroutine.h:1,
                 from ../src/fibers.cc:1:
/home/pi/.node-gyp/10.4.0/include/node/v8.h:8388:12: note: candidate: v8::TryCatch::TryCatch(v8::Isolate*)
   explicit TryCatch(Isolate* isolate);
            ^~~~~~~~
/home/pi/.node-gyp/10.4.0/include/node/v8.h:8388:12: note:   candidate expects 1 argument, 0 provided
../src/fibers.cc:628:66: warning: ‘static v8::Local<v8::Script> v8::Script::Compile(v8::Local<v8::String>, v8::ScriptOrigin*)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
     Script::Compile(uni::NewLatin1String(that.isolate, "void 0;"));
                                                                  ^
In file included from /home/pi/.node-gyp/10.4.0/include/node/v8.h:26:0,
                 from /home/pi/.node-gyp/10.4.0/include/node/node.h:63,
                 from ../src/coroutine.h:1,
                 from ../src/fibers.cc:1:
/home/pi/.node-gyp/10.4.0/include/node/v8.h:1237:38: note: declared here
                        Local<Script> Compile(Local<String> source,
                                      ^
/home/pi/.node-gyp/10.4.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
../src/fibers.cc:643:66: warning: ‘v8::Local<v8::Value> v8::TryCatch::StackTrace() const’ is deprecated: Use maybe version. [-Wdeprecated-declarations]
       uni::Reset(that.isolate, fatal_stack, try_catch.StackTrace());
                                                                  ^
In file included from /home/pi/.node-gyp/10.4.0/include/node/v8.h:26:0,
                 from /home/pi/.node-gyp/10.4.0/include/node/node.h:63,
                 from ../src/coroutine.h:1,
                 from ../src/fibers.cc:1:
/home/pi/.node-gyp/10.4.0/include/node/v8.h:8445:52: note: declared here
   V8_DEPRECATED("Use maybe version.", Local<Value> StackTrace() const);
                                                    ^
/home/pi/.node-gyp/10.4.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
../src/fibers.cc: In static member function ‘static void Fiber::SetPoolSize(v8::Local<v8::String>, v8::Local<v8::Value>, const SetterCallbackInfo&)’:
../src/fibers.cc:741:43: error: no matching function for call to ‘v8::Value::ToNumber()’
    Coroutine::pool_size = value->ToNumber()->Value();
                                           ^
In file included from /home/pi/.node-gyp/10.4.0/include/node/node.h:63:0,
                 from ../src/coroutine.h:1,
                 from ../src/fibers.cc:1:
/home/pi/.node-gyp/10.4.0/include/node/v8.h:2390:44: note: candidate: v8::MaybeLocal<v8::Number> v8::Value::ToNumber(v8::Local<v8::Context>) const
   V8_WARN_UNUSED_RESULT MaybeLocal<Number> ToNumber(
                                            ^~~~~~~~
/home/pi/.node-gyp/10.4.0/include/node/v8.h:2390:44: note:   candidate expects 1 argument, 0 provided
In file included from /home/pi/.node-gyp/10.4.0/include/node/v8.h:26:0,
                 from /home/pi/.node-gyp/10.4.0/include/node/node.h:63,
                 from ../src/coroutine.h:1,
                 from ../src/fibers.cc:1:
/home/pi/.node-gyp/10.4.0/include/node/v8.h:2407:35: note: candidate: v8::Local<v8::Number> v8::Value::ToNumber(v8::Isolate*) const
                     Local<Number> ToNumber(Isolate* isolate) const);
                                   ^
/home/pi/.node-gyp/10.4.0/include/node/v8config.h:346:48: note: in definition of macro ‘V8_DEPRECATE_SOON’
 #define V8_DEPRECATE_SOON(message, declarator) declarator
                                                ^~~~~~~~~~
/home/pi/.node-gyp/10.4.0/include/node/v8.h:2407:35: note:   candidate expects 1 argument, 0 provided
                     Local<Number> ToNumber(Isolate* isolate) const);
                                   ^
/home/pi/.node-gyp/10.4.0/include/node/v8config.h:346:48: note: in definition of macro ‘V8_DEPRECATE_SOON’
 #define V8_DEPRECATE_SOON(message, declarator) declarator
                                                ^~~~~~~~~~
../src/fibers.cc: In static member function ‘static void Fiber::Init(v8::Handle<v8::Object>)’:
../src/fibers.cc:793:72: error: no matching function for call to ‘v8::Function::SetAccessor(v8::Handle<v8::String>, uni::FunctionType (&)(v8::Local<v8::String>, const GetterCallbackInfo&))’
    fn->SetAccessor(uni::NewLatin1Symbol(isolate, "current"), GetCurrent);
                                                                        ^
In file included from /home/pi/.node-gyp/10.4.0/include/node/node.h:63:0,
                 from ../src/coroutine.h:1,
                 from ../src/fibers.cc:1:
/home/pi/.node-gyp/10.4.0/include/node/v8.h:3260:37: note: candidate: v8::Maybe<bool> v8::Object::SetAccessor(v8::Local<v8::Context>, v8::Local<v8::Name>, v8::AccessorNameGetterCallback, v8::AccessorNameSetterCallback, v8::MaybeLocal<v8::Value>, v8::AccessControl, v8::PropertyAttribute, v8::SideEffectType)
   V8_WARN_UNUSED_RESULT Maybe<bool> SetAccessor(
                                     ^~~~~~~~~~~
/home/pi/.node-gyp/10.4.0/include/node/v8.h:3260:37: note:   candidate expects 8 arguments, 2 provided
../src/fibers.cc:794:87: error: no matching function for call to ‘v8::Function::SetAccessor(v8::Handle<v8::String>, uni::FunctionType (&)(v8::Local<v8::String>, const GetterCallbackInfo&), void (&)(v8::Local<v8::String>, v8::Local<v8::Value>, const SetterCallbackInfo&))’
    fn->SetAccessor(uni::NewLatin1Symbol(isolate, "poolSize"), GetPoolSize, SetPoolSize);
                                                                                       ^
In file included from /home/pi/.node-gyp/10.4.0/include/node/node.h:63:0,
                 from ../src/coroutine.h:1,
                 from ../src/fibers.cc:1:
/home/pi/.node-gyp/10.4.0/include/node/v8.h:3260:37: note: candidate: v8::Maybe<bool> v8::Object::SetAccessor(v8::Local<v8::Context>, v8::Local<v8::Name>, v8::AccessorNameGetterCallback, v8::AccessorNameSetterCallback, v8::MaybeLocal<v8::Value>, v8::AccessControl, v8::PropertyAttribute, v8::SideEffectType)
   V8_WARN_UNUSED_RESULT Maybe<bool> SetAccessor(
                                     ^~~~~~~~~~~
/home/pi/.node-gyp/10.4.0/include/node/v8.h:3260:37: note:   no known conversion for argument 2 from ‘uni::FunctionType(v8::Local<v8::String>, const GetterCallbackInfo&) {aka void(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>&)}’ to ‘v8::Local<v8::Name>’
../src/fibers.cc:795:84: error: no matching function for call to ‘v8::Function::SetAccessor(v8::Handle<v8::String>, uni::FunctionType (&)(v8::Local<v8::String>, const GetterCallbackInfo&))’
    fn->SetAccessor(uni::NewLatin1Symbol(isolate, "fibersCreated"), GetFibersCreated);
                                                                                    ^
In file included from /home/pi/.node-gyp/10.4.0/include/node/node.h:63:0,
                 from ../src/coroutine.h:1,
                 from ../src/fibers.cc:1:
/home/pi/.node-gyp/10.4.0/include/node/v8.h:3260:37: note: candidate: v8::Maybe<bool> v8::Object::SetAccessor(v8::Local<v8::Context>, v8::Local<v8::Name>, v8::AccessorNameGetterCallback, v8::AccessorNameSetterCallback, v8::MaybeLocal<v8::Value>, v8::AccessControl, v8::PropertyAttribute, v8::SideEffectType)
   V8_WARN_UNUSED_RESULT Maybe<bool> SetAccessor(
                                     ^~~~~~~~~~~
/home/pi/.node-gyp/10.4.0/include/node/v8.h:3260:37: note:   candidate expects 8 arguments, 2 provided
fibers.target.mk:100: recipe for target 'Release/obj.target/fibers/src/fibers.o' failed
make: *** [Release/obj.target/fibers/src/fibers.o] Error 1
make: Leaving directory '/home/pi/project/node_modules/fibers/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:258:23)
gyp ERR! stack     at ChildProcess.emit (events.js:182:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:237:12)
gyp ERR! System Linux 4.14.34-v7+
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--release"
gyp ERR! cwd /home/pi/project/node_modules/fibers
gyp ERR! node -v v10.4.0
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok
node-gyp exited with code: 1
Please make sure you are using a supported platform and node version. If you
would like to compile fibers on this machine please make sure you have setup your
build environment--
Windows + OS X instructions here: https://github.com/nodejs/node-gyp
Ubuntu users please run: `sudo apt-get install g++ build-essential`
Alpine users please run: `sudo apk add python make g++`
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! fibers@1.0.15 install: `node build.js || nodejs build.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the fibers@1.0.15 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/pi/.npm/_logs/2018-06-09T16_26_47_961Z-debug.log
adrum commented

Good to know. I'll fork the project I'm using depending on this library, update it and report back.

Hi, the build is passing and there are few deprecation warnings like:

  CXX(target) Release/obj.target/fibers/src/fibers.o
../src/fibers.cc:318:3: warning: ignoring return value of function declared with 'warn_unused_result' attribute [-Wunused-result]
                object->SetAccessor(isolate->GetCurrentContext(), name, (AccessorNameGetterCallback)getter, (AccessorNameSetterCallback)setter);
                ^~~~~~~~~~~~~~~~~~~
../src/fibers.cc:464:24: warning: 'Utf8Value' is deprecated [-Wdeprecated-declarations]
                                        String::Utf8Value stack(uni::Deref(that.isolate, fatal_stack));

are you planning to fix it?

@gvachkov - I submitted PR #381 which fixes the deprecation warnings.

@laverdet would you be able to release a new version including #381, please?

@joscha that pull request just fixed some harmless warnings. If you were having an issue where fibers wasn't working for you at all then it won't help. I will need to cut a new release with new binaries for node 10.

@laverdet got it. I think 2.0.2 actually works for me with Node 10 - will need to run a few more tests, but the binaries seem to get built correctly.

@no2chem thanks for the deprecations fix!

I'm trying to install filepreview which has a dependency on fibers@1.0.15. I use Node.js 10 and am not sure I can downgrade any further without significant breaking changes. Unfortunately, the github repo for the filepreview project no longer exists, which essentially leaves me stuck.
Though I haven't tried it, I feel pretty certain that using Node.js 6 will remedy the situation.
Any tips?

Please upgrade fibers.

On Sat, Dec 29, 2018 at 10:37 PM Michael Ajala @.> wrote: I'm trying to install filepreview https://www.npmjs.com/package/filepreview which has a dependency on @. I use Node.js 10 and am not sure I can downgrade any further without significant breaking changes. Unfortunately, the github repo for the filepreview project no longer exists, which essentially leaves me stuck. Though I haven't tried it, I feel pretty certain that using Node.js 6 will remedy the situation. Any tips? — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub <#379 (comment)>, or mute the thread https://github.com/notifications/unsubscribe-auth/AAH3WO7b2AOz7zUBxGCbiLtgsuWsc26xks5u9-6NgaJpZM4UheAK .

Told you, I already tried that. What I ended up doing is switching to Node 6, being the highest allowed version for my use case (yeah!) using nvs then installing flepreview. Right after, I switched back to my bleeding-edge node version.

Told you, I already tried that.

I don't think you mentioned anything about upgrading fibers. The current version of fibers is 3.1.1 and runs just fine on node 10 and beyond. It is a drop-in replacement for earlier versions of fibers.

Um, maybe try to install filepreview with npm. You'll understand what I meant. I've used both CentOS 7 and Ubuntu 18.

In your case you can get around the issue by running npm install https://github.com/alexeypetrushin/synchronize.git since the author has updated the github but not npm. In the future you can use the --ignore-scripts flag to tell npm to skip post install scripts.

Okay. Thank you.

I got the same error. I switched from node 10.x to node 8.x
Problem was resolved.

Xuhao commented

Error still there with v3.1.1 on Node 10.
This issue should be reopened.

I'm locking this issue because it seems to be getting a lot of search engine traffic with a bunch of people shouting about different things. Please open a new issue if you are still having problems and be sure to read the FAQ that shows up on the new issue form.