Building nuxeo-web-ui fails on OpenSUSE Thumbleweed

Cloned https://github.com/nuxeo/nuxeo-web-ui, and trying to run

npm install

I get an error related to fibers:

mike@localhost:~/nuxeo-web-ui/packages/nuxeo-web-ui-ftest> npm install

mike@localhost:~/nuxeo-web-ui/packages/nuxeo-web-ui-ftest> npm install

> fibers@3.1.1 install /home/mike/nuxeo-web-ui/packages/nuxeo-web-ui-ftest/node_modules/fibers
> node build.js || nodejs build.js

make: Entering directory '/home/mike/nuxeo-web-ui/packages/nuxeo-web-ui-ftest/node_modules/fibers/build'
  CXX(target) Release/obj.target/fibers/src/fibers.o
../src/fibers.cc:68:2: error: ‘Handle’ does not name a type
   68 |  Handle<String> NewLatin1String(Isolate* isolate, const char* string) {
      |  ^~~~~~
../src/fibers.cc:72:2: error: ‘Handle’ does not name a type
   72 |  Handle<String> NewLatin1Symbol(Isolate* isolate, const char* string) {
      |  ^~~~~~
../src/fibers.cc:94:2: error: ‘Handle’ does not name a type
   94 |  Handle<Object> NewInstance(Isolate* isolate, Local<Function> fn, int argc, Local<Value> argv[]) {
      |  ^~~~~~
../src/fibers.cc:104:2: error: ‘Handle’ does not name a type
  104 |  Handle<Number> ToNumber(Local<Value> value) {
      |  ^~~~~~
../src/fibers.cc:114:50: error: ‘Handle’ has not been declared
  114 |  Local<Value> GetStackTrace(TryCatch* try_catch, Handle<Context> context) {
      |                                                  ^~~~~~
../src/fibers.cc:114:56: error: expected ‘,’ or ‘...’ before ‘<’ token
  114 |  Local<Value> GetStackTrace(TryCatch* try_catch, Handle<Context> context) {
      |                                                        ^
../src/fibers.cc: In function ‘v8::Local<v8::Value> uni::GetStackTrace(uni::TryCatch*, int)’:
../src/fibers.cc:115:32: error: ‘context’ was not declared in this scope; did you mean ‘setcontext’?
  115 |   return try_catch->StackTrace(context).ToLocalChecked();
      |                                ^~~~~~~
      |                                setcontext
../src/fibers.cc: At global scope:
../src/fibers.cc:127:39: error: ‘Handle’ has not been declared
  127 |  void fixStackLimit(Isolate* isolate, Handle<Context> context) {
      |                                       ^~~~~~
../src/fibers.cc:127:45: error: expected ‘,’ or ‘...’ before ‘<’ token
  127 |  void fixStackLimit(Isolate* isolate, Handle<Context> context) {
      |                                             ^
../src/fibers.cc: In function ‘void uni::fixStackLimit(v8::Isolate*, int)’:
../src/fibers.cc:128:19: error: ‘context’ was not declared in this scope; did you mean ‘setcontext’?
  128 |   Script::Compile(context, uni::NewLatin1String(isolate, "void 0;")).ToLocalChecked();
      |                   ^~~~~~~
      |                   setcontext
../src/fibers.cc:128:33: error: ‘NewLatin1String’ is not a member of ‘uni’
  128 |   Script::Compile(context, uni::NewLatin1String(isolate, "void 0;")).ToLocalChecked();
      |                                 ^~~~~~~~~~~~~~~
../src/fibers.cc: At global scope:
../src/fibers.cc:149:58: error: ‘Handle’ has not been declared
  149 |  void Reset(Isolate* isolate, Persistent<T>& persistent, Handle<T> handle) {
      |                                                          ^~~~~~
../src/fibers.cc:149:64: error: expected ‘,’ or ‘...’ before ‘<’ token
  149 | id Reset(Isolate* isolate, Persistent<T>& persistent, Handle<T> handle) {
      |                                                             ^

../src/fibers.cc: In function ‘void uni::Reset(v8::Isolate*, v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >&, int)’:
../src/fibers.cc:150:29: error: ‘handle’ was not declared in this scope
  150 |   persistent.Reset(isolate, handle);
      |                             ^~~~~~
../src/fibers.cc: At global scope:
../src/fibers.cc:162:7: error: variable or field ‘SetInternalPointer’ declared void
  162 |  void SetInternalPointer(Handle<T> handle, int index, void* val) {
      |       ^~~~~~~~~~~~~~~~~~
../src/fibers.cc:162:26: error: ‘Handle’ was not declared in this scope
  162 |  void SetInternalPointer(Handle<T> handle, int index, void* val) {
      |                          ^~~~~~
../src/fibers.cc:162:34: error: expected primary-expression before ‘>’ token
  162 |  void SetInternalPointer(Handle<T> handle, int index, void* val) {
      |                                  ^
../src/fibers.cc:162:36: error: ‘handle’ was not declared in this scope
  162 |  void SetInternalPointer(Handle<T> handle, int index, void* val) {
      |                                    ^~~~~~
../src/fibers.cc:162:44: error: expected primary-expression before ‘int’
  162 |  void SetInternalPointer(Handle<T> handle, int index, void* val) {
      |                                            ^~~
../src/fibers.cc:162:55: error: expected primary-expression before ‘void’
  162 |  void SetInternalPointer(Handle<T> handle, int index, void* val) {
      |                                                       ^~~~
../src/fibers.cc:166:27: error: ‘Handle’ was not declared in this scope
  166 |  void* GetInternalPointer(Handle<T> handle, int index) {
      |                           ^~~~~~
../src/fibers.cc:166:35: error: expected primary-expression before ‘>’ token
  166 |  void* GetInternalPointer(Handle<T> handle, int index) {
      |                                   ^
../src/fibers.cc:166:37: error: ‘handle’ was not declared in this scope
  166 |  void* GetInternalPointer(Handle<T> handle, int index) {
      |                                     ^~~~~~
../src/fibers.cc:166:45: error: expected primary-expression before ‘int’
  166 |  void* GetInternalPointer(Handle<T> handle, int index) {
      |                                             ^~~
../src/fibers.cc:166:54: error: expression list treated as compound expression in initializer [-fpermissive]
  166 |  void* GetInternalPointer(Handle<T> handle, int index) {
      |                                                      ^
../src/fibers.cc:166:55: error: expected ‘;’ before ‘{’ token
  166 |  void* GetInternalPointer(Handle<T> handle, int index) {
      |                                                       ^~
      |                                                       ;
../src/fibers.cc:171:2: error: ‘Handle’ does not name a type
  171 |  Handle<T> Deref(Isolate* isolate, Persistent<T>& handle) {
      |  ^~~~~~
../src/fibers.cc:176:7: error: variable or field ‘Return’ declared void
  176 |  void Return(Handle<T> handle, const Arguments& args) {
      |       ^~~~~~
../src/fibers.cc:176:14: error: ‘Handle’ was not declared in this scope
  176 |  void Return(Handle<T> handle, const Arguments& args) {
      |              ^~~~~~
../src/fibers.cc:176:22: error: expected primary-expression before ‘>’ token
  176 |  void Return(Handle<T> handle, const Arguments& args) {
      |                      ^
../src/fibers.cc:176:24: error: ‘handle’ was not declared in this scope
  176 |  void Return(Handle<T> handle, const Arguments& args) {
      |                        ^~~~~~
../src/fibers.cc:176:32: error: expected primary-expression before ‘const’
  176 |  void Return(Handle<T> handle, const Arguments& args) {
      |                                ^~~~~
../src/fibers.cc:180:7: error: variable or field ‘Return’ declared void
  180 |  void Return(Handle<T> handle, GetterCallbackInfo info) {
      |       ^~~~~~
../src/fibers.cc:180:14: error: ‘Handle’ was not declared in this scope
  180 |  void Return(Handle<T> handle, GetterCallbackInfo info) {
      |              ^~~~~~
../src/fibers.cc:180:22: error: expected primary-expression before ‘>’ token
  180 |  void Return(Handle<T> handle, GetterCallbackInfo info) {
      |                      ^
../src/fibers.cc:180:24: error: ‘handle’ was not declared in this scope
  180 |  void Return(Handle<T> handle, GetterCallbackInfo info) {
      |                        ^~~~~~
../src/fibers.cc:180:51: error: expected primary-expression before ‘info’
  180 |  void Return(Handle<T> handle, GetterCallbackInfo info) {
      |                                                   ^~~~
../src/fibers.cc:188:2: error: ‘Handle’ does not name a type
  188 |  Handle<Value> ThrowException(Isolate* isolate, Handle<Value> exception) {
      |  ^~~~~~
../src/fibers.cc:192:2: error: ‘Handle’ does not name a type
  192 |  Handle<Context> GetCurrentContext(Isolate* isolate) {
      |  ^~~~~~
../src/fibers.cc:196:2: error: ‘Handle’ does not name a type
  196 |  Handle<Primitive> Undefined(Isolate* isolate) {
      |  ^~~~~~
../src/fibers.cc:200:2: error: ‘Handle’ does not name a type
  200 |  Handle<Boolean> NewBoolean(Isolate* isolate, bool value) {
      |  ^~~~~~
../src/fibers.cc:204:2: error: ‘Handle’ does not name a type
  204 |  Handle<Number> NewNumber(Isolate* isolate, double value) {
      |  ^~~~~~
../src/fibers.cc:208:2: error: ‘Handle’ does not name a type
  208 |  Handle<FunctionTemplate> NewFunctionTemplate(
      |  ^~~~~~
../src/fibers.cc:218:2: error: ‘Handle’ does not name a type
  218 |  Handle<Signature> NewSignature(
      |  ^~~~~~
../src/fibers.cc: In function ‘void uni::SetAccessor(v8::Isolate*, v8::Local<v8::Object>, v8::Local<v8::String>, uni::FunctionType (*)(v8::Local<v8::String>, const GetterCallbackInfo&), void (*)(v8::Local<v8::String>, v8::Local<v8::Value>, const SetterCallbackInfo&))’:
../src/fibers.cc:341:59: warning: cast between incompatible function types from ‘uni::FunctionType (*)(v8::Local<v8::String>, const GetterCallbackInfo&)’ {aka ‘void (*)(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>&)’} to ‘v8::AccessorNameGetterCallback’ {aka ‘void (*)(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value>&)’} [-Wcast-function-type]
  341 |   object->SetAccessor(isolate->GetCurrentContext(), name, (AccessorNameGetterCallback)getter, (AccessorNameSetterCallback)setter).ToChecked();
      |                                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/fibers.cc:341:95: warning: cast between incompatible function types from ‘void (*)(v8::Local<v8::String>, v8::Local<v8::Value>, const SetterCallbackInfo&)’ {aka ‘void (*)(v8::Local<v8::String>, v8::Local<v8::Value>, const v8::PropertyCallbackInfo<void>&)’} to ‘v8::AccessorNameSetterCallback’ {aka ‘void (*)(v8::Local<v8::Name>, v8::Local<v8::Value>, const v8::PropertyCallbackInfo<void>&)’} [-Wcast-function-type]
  341 | CurrentContext(), name, (AccessorNameGetterCallback)getter, (AccessorNameSetterCallback)setter).ToChecked();
      |                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

../src/fibers.cc: At global scope:
../src/fibers.cc:408:17: error: expected ‘;’ at end of member declaration
  408 |   static Fiber& Unwrap(Handle<Object> handle) {
      |                 ^~~~~~
      |                       ;
../src/fibers.cc:408:30: error: expected ‘)’ before ‘<’ token
  408 |   static Fiber& Unwrap(Handle<Object> handle) {
      |                       ~      ^
      |                              )
../src/fibers.cc:414:15: error: expected ‘)’ before ‘<’ token
  414 |   Fiber(Handle<Object> handle, Handle<Function> cb, Handle<Context> v8_context) :
      |        ~      ^
      |               )
../src/fibers.cc:680:3: error: ‘Handle’ does not name a type
  680 |   Handle<Value> ReturnYielded() {
      |   ^~~~~~
../src/fibers.cc:842:20: error: ‘Handle’ has not been declared
  842 |   static void Init(Handle<Object> target) {
      |                    ^~~~~~
../src/fibers.cc:842:26: error: expected ‘,’ or ‘...’ before ‘<’ token
  842 |   static void Init(Handle<Object> target) {
      |                          ^
In file included from ../src/fibers.cc:3:
../src/fibers.cc: In static member function ‘static void Fiber::WeakCallback(void*)’:
../src/fibers.cc:458:23: error: ‘class v8::Persistent<v8::Object>’ has no member named ‘IsNearDeath’
  458 |    assert(that.handle.IsNearDeath());
      |                       ^~~~~~~~~~~
../src/fibers.cc: In static member function ‘static void Fiber::DestroyOrphans()’:
../src/fibers.cc:495:22: error: ‘Deref’ is not a member of ‘uni’
  495 |      auto stack(uni::Deref(that.isolate, fatal_stack));
      |                      ^~~~~
../src/fibers.cc: In static member function ‘static uni::FunctionType Fiber::New(const Arguments&)’:
../src/fibers.cc:10:45: error: ‘ThrowException’ is not a member of ‘uni’
   10 | #define THROW(x, m) return uni::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
      |                                             ^~~~~~~~~~~~~~
../src/fibers.cc:517:5: note: in expansion of macro ‘THROW’
  517 |     THROW(Exception::TypeError, "Fiber expects 1 argument");
      |     ^~~~~
../src/fibers.cc:10:90: error: ‘NewLatin1String’ is not a member of ‘uni’
   10 | i::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
      |                                                             ^~~~~~~~~~~~~~~

../src/fibers.cc:517:5: note: in expansion of macro ‘THROW’
  517 |     THROW(Exception::TypeError, "Fiber expects 1 argument");
      |     ^~~~~
../src/fibers.cc:10:45: error: ‘ThrowException’ is not a member of ‘uni’
   10 | #define THROW(x, m) return uni::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
      |                                             ^~~~~~~~~~~~~~
../src/fibers.cc:519:5: note: in expansion of macro ‘THROW’
  519 |     THROW(Exception::TypeError, "Fiber expects a function");
      |     ^~~~~
../src/fibers.cc:10:90: error: ‘NewLatin1String’ is not a member of ‘uni’
   10 | i::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
      |                                                             ^~~~~~~~~~~~~~~

../src/fibers.cc:519:5: note: in expansion of macro ‘THROW’
  519 |     THROW(Exception::TypeError, "Fiber expects a function");
      |     ^~~~~
../src/fibers.cc:521:5: error: ‘Handle’ was not declared in this scope; did you mean ‘handle’?
  521 |     Handle<Value> argv[1] = { args[0] };
      |     ^~~~~~
      |     handle
../src/fibers.cc:521:17: error: expected primary-expression before ‘>’ token
  521 |     Handle<Value> argv[1] = { args[0] };
      |                 ^
../src/fibers.cc:521:19: error: ‘argv’ was not declared in this scope; did you mean ‘args’?
  521 |     Handle<Value> argv[1] = { args[0] };
      |                   ^~~~
      |                   args
../src/fibers.cc:522:29: error: ‘NewInstance’ is not a member of ‘uni’
  522 |     return uni::Return(uni::NewInstance(Isolate::GetCurrent(), uni::Deref(Isolate::GetCurrent(), tmpl)->GetFunction(), 1, argv), args);
      |                             ^~~~~~~~~~~
../src/fibers.cc:522:69: error: ‘Deref’ is not a member of ‘uni’
  522 | rn uni::Return(uni::NewInstance(Isolate::GetCurrent(), uni::Deref(Isolate::GetCurrent(), tmpl)->GetFunction(), 1, argv), args);
      |                                                             ^~~~~

../src/fibers.cc:525:4: error: ‘Handle’ was not declared in this scope; did you mean ‘handle’?
  525 |    Handle<Function> fn = Handle<Function>::Cast(args[0]);
      |    ^~~~~~
      |    handle
../src/fibers.cc:525:19: error: expected primary-expression before ‘>’ token
  525 |    Handle<Function> fn = Handle<Function>::Cast(args[0]);
      |                   ^
../src/fibers.cc:525:21: error: ‘fn’ was not declared in this scope
  525 |    Handle<Function> fn = Handle<Function>::Cast(args[0]);
      |                     ^~
../src/fibers.cc:525:41: error: expected primary-expression before ‘>’ token
  525 |    Handle<Function> fn = Handle<Function>::Cast(args[0]);
      |                                         ^
../src/fibers.cc:525:44: error: ‘::Cast’ has not been declared
  525 |    Handle<Function> fn = Handle<Function>::Cast(args[0]);
      |                                            ^~~~
../src/fibers.cc:526:36: error: ‘GetCurrentContext’ is not a member of ‘uni’
  526 |    new Fiber(args.This(), fn, uni::GetCurrentContext(Isolate::GetCurrent()));
      |                                    ^~~~~~~~~~~~~~~~~
../src/fibers.cc:527:40: error: no matching function for call to ‘Return(v8::Local<v8::Object>, const Arguments&)’
  527 |    return uni::Return(args.This(), args);
      |                                        ^
../src/fibers.cc:184:7: note: candidate: ‘template<class T> void uni::Return(v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >&, uni::GetterCallbackInfo)’
  184 |  void Return(Persistent<T>& handle, GetterCallbackInfo info) {
      |       ^~~~~~
../src/fibers.cc:184:7: note:   template argument deduction/substitution failed:
../src/fibers.cc:527:40: note:   ‘v8::Local<v8::Object>’ is not derived from ‘v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >’
  527 |    return uni::Return(args.This(), args);
      |                                        ^
../src/fibers.cc: In static member function ‘static uni::FunctionType Fiber::Run(const Arguments&)’:
../src/fibers.cc:535:38: error: no match for call to ‘(Fiber) (v8::Local<v8::Object>)’
  535 |    Fiber& that = Unwrap(args.Holder());
      |                                      ^
../src/fibers.cc:10:45: error: ‘ThrowException’ is not a member of ‘uni’
   10 | #define THROW(x, m) return uni::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
      |                                             ^~~~~~~~~~~~~~
../src/fibers.cc:541:5: note: in expansion of macro ‘THROW’
  541 |     THROW(Exception::Error, "This Fiber is already running");
      |     ^~~~~
../src/fibers.cc:10:90: error: ‘NewLatin1String’ is not a member of ‘uni’
   10 | i::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
      |                                                             ^~~~~~~~~~~~~~~

../src/fibers.cc:541:5: note: in expansion of macro ‘THROW’
  541 |     THROW(Exception::Error, "This Fiber is already running");
      |     ^~~~~
../src/fibers.cc:10:45: error: ‘ThrowException’ is not a member of ‘uni’
   10 | #define THROW(x, m) return uni::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
      |                                             ^~~~~~~~~~~~~~
../src/fibers.cc:543:5: note: in expansion of macro ‘THROW’
  543 |     THROW(Exception::TypeError, "run() excepts 1 or no arguments");
      |     ^~~~~
../src/fibers.cc:10:90: error: ‘NewLatin1String’ is not a member of ‘uni’
   10 | i::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
      |                                                             ^~~~~~~~~~~~~~~

../src/fibers.cc:543:5: note: in expansion of macro ‘THROW’
  543 |     THROW(Exception::TypeError, "run() excepts 1 or no arguments");
      |     ^~~~~
../src/fibers.cc:10:45: error: ‘ThrowException’ is not a member of ‘uni’
   10 | #define THROW(x, m) return uni::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
      |                                             ^~~~~~~~~~~~~~
../src/fibers.cc:554:6: note: in expansion of macro ‘THROW’
  554 |      THROW(Exception::RangeError, "Out of memory");
      |      ^~~~~
../src/fibers.cc:10:90: error: ‘NewLatin1String’ is not a member of ‘uni’
   10 | i::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
      |                                                             ^~~~~~~~~~~~~~~

../src/fibers.cc:554:6: note: in expansion of macro ‘THROW’
  554 |      THROW(Exception::RangeError, "Out of memory");
      |      ^~~~~
../src/fibers.cc:564:52: error: no matching function for call to ‘Reset(v8::Isolate*&, v8::Persistent<v8::Value>&, v8::Local<v8::Value>)’
  564 |      uni::Reset(that.isolate, that.yielded, args[0]);
      |                                                    ^
../src/fibers.cc:149:7: note: candidate: ‘template<class T> void uni::Reset(v8::Isolate*, v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >&, int)’
  149 |  void Reset(Isolate* isolate, Persistent<T>& persistent, Handle<T> handle) {
      |       ^~~~~
../src/fibers.cc:149:7: note:   template argument deduction/substitution failed:
../src/fibers.cc:564:51: note:   cannot convert ‘(& args)->v8::FunctionCallbackInfo<v8::Value>::operator[](0)’ (type ‘v8::Local<v8::Value>’) to type ‘int’
  564 |      uni::Reset(that.isolate, that.yielded, args[0]);
      |                                             ~~~~~~^
../src/fibers.cc:566:57: error: ‘Undefined’ is not a member of ‘uni’; did you mean ‘v8::Undefined’?
  566 |      uni::Reset<Value>(that.isolate, that.yielded, uni::Undefined(that.isolate));
      |                                                         ^~~~~~~~~
In file included from /usr/include/node14/node.h:67,
                 from ../src/coroutine.h:1,
                 from ../src/fibers.cc:1:
/usr/include/node14/v8.h:11933:18: note: ‘v8::Undefined’ declared here
11933 | Local<Primitive> Undefined(Isolate* isolate) {
      |                  ^~~~~~~~~
../src/fibers.cc:570:28: error: ‘class Fiber’ has no member named ‘ReturnYielded’
  570 |    return uni::Return(that.ReturnYielded(), args);
      |                            ^~~~~~~~~~~~~
../src/fibers.cc: In static member function ‘static uni::FunctionType Fiber::ThrowInto(const Arguments&)’:
../src/fibers.cc:577:38: error: no match for call to ‘(Fiber) (v8::Local<v8::Object>)’
  577 |    Fiber& that = Unwrap(args.Holder());
      |                                      ^
../src/fibers.cc:10:45: error: ‘ThrowException’ is not a member of ‘uni’
   10 | #define THROW(x, m) return uni::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
      |                                             ^~~~~~~~~~~~~~
../src/fibers.cc:580:5: note: in expansion of macro ‘THROW’
  580 |     THROW(Exception::Error, "This Fiber is not yielding");
      |     ^~~~~
../src/fibers.cc:10:90: error: ‘NewLatin1String’ is not a member of ‘uni’
   10 | i::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
      |                                                             ^~~~~~~~~~~~~~~

../src/fibers.cc:580:5: note: in expansion of macro ‘THROW’
  580 |     THROW(Exception::Error, "This Fiber is not yielding");
      |     ^~~~~
../src/fibers.cc:582:56: error: ‘Undefined’ is not a member of ‘uni’; did you mean ‘v8::Undefined’?
  582 |     uni::Reset<Value>(that.isolate, that.yielded, uni::Undefined(that.isolate));
      |                                                        ^~~~~~~~~
In file included from /usr/include/node14/node.h:67,
                 from ../src/coroutine.h:1,
                 from ../src/fibers.cc:1:
/usr/include/node14/v8.h:11933:18: note: ‘v8::Undefined’ declared here
11933 | Local<Primitive> Undefined(Isolate* isolate) {
      |                  ^~~~~~~~~
../src/fibers.cc:584:51: error: no matching function for call to ‘Reset(v8::Isolate*&, v8::Persistent<v8::Value>&, v8::Local<v8::Value>)’
  584 |     uni::Reset(that.isolate, that.yielded, args[0]);
      |                                                   ^
../src/fibers.cc:149:7: note: candidate: ‘template<class T> void uni::Reset(v8::Isolate*, v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >&, int)’
  149 |  void Reset(Isolate* isolate, Persistent<T>& persistent, Handle<T> handle) {
      |       ^~~~~
../src/fibers.cc:149:7: note:   template argument deduction/substitution failed:
../src/fibers.cc:584:50: note:   cannot convert ‘(& args)->v8::FunctionCallbackInfo<v8::Value>::operator[](0)’ (type ‘v8::Local<v8::Value>’) to type ‘int’
  584 |     uni::Reset(that.isolate, that.yielded, args[0]);
      |                                            ~~~~~~^
../src/fibers.cc:10:45: error: ‘ThrowException’ is not a member of ‘uni’
   10 | #define THROW(x, m) return uni::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
      |                                             ^~~~~~~~~~~~~~
../src/fibers.cc:586:5: note: in expansion of macro ‘THROW’
  586 |     THROW(Exception::TypeError, "throwInto() expects 1 or no arguments");
      |     ^~~~~
../src/fibers.cc:10:90: error: ‘NewLatin1String’ is not a member of ‘uni’
   10 | i::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
      |                                                             ^~~~~~~~~~~~~~~

../src/fibers.cc:586:5: note: in expansion of macro ‘THROW’
  586 |     THROW(Exception::TypeError, "throwInto() expects 1 or no arguments");
      |     ^~~~~
../src/fibers.cc:590:28: error: ‘class Fiber’ has no member named ‘ReturnYielded’
  590 |    return uni::Return(that.ReturnYielded(), args);
      |                            ^~~~~~~~~~~~~
../src/fibers.cc: In static member function ‘static uni::FunctionType Fiber::Reset(const Arguments&)’:
../src/fibers.cc:598:38: error: no match for call to ‘(Fiber) (v8::Local<v8::Object>)’
  598 |    Fiber& that = Unwrap(args.Holder());
      |                                      ^
../src/fibers.cc:601:29: error: ‘Undefined’ is not a member of ‘uni’; did you mean ‘v8::Undefined’?
  601 |     return uni::Return(uni::Undefined(that.isolate), args);
      |                             ^~~~~~~~~
In file included from /usr/include/node14/node.h:67,
                 from ../src/coroutine.h:1,
                 from ../src/fibers.cc:1:
/usr/include/node14/v8.h:11933:18: note: ‘v8::Undefined’ declared here
11933 | Local<Primitive> Undefined(Isolate* isolate) {
      |                  ^~~~~~~~~
../src/fibers.cc:10:45: error: ‘ThrowException’ is not a member of ‘uni’
   10 | #define THROW(x, m) return uni::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
      |                                             ^~~~~~~~~~~~~~
../src/fibers.cc:603:5: note: in expansion of macro ‘THROW’
  603 |     THROW(Exception::Error, "This Fiber is not yielding");
      |     ^~~~~
../src/fibers.cc:10:90: error: ‘NewLatin1String’ is not a member of ‘uni’
   10 | i::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
      |                                                             ^~~~~~~~~~~~~~~

../src/fibers.cc:603:5: note: in expansion of macro ‘THROW’
  603 |     THROW(Exception::Error, "This Fiber is not yielding");
      |     ^~~~~
../src/fibers.cc:10:45: error: ‘ThrowException’ is not a member of ‘uni’
   10 | #define THROW(x, m) return uni::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
      |                                             ^~~~~~~~~~~~~~
../src/fibers.cc:605:5: note: in expansion of macro ‘THROW’
  605 |     THROW(Exception::TypeError, "reset() expects no arguments");
      |     ^~~~~
../src/fibers.cc:10:90: error: ‘NewLatin1String’ is not a member of ‘uni’
   10 | i::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
      |                                                             ^~~~~~~~~~~~~~~

../src/fibers.cc:605:5: note: in expansion of macro ‘THROW’
  605 |     THROW(Exception::TypeError, "reset() expects no arguments");
      |     ^~~~~
../src/fibers.cc:613:4: error: ‘Handle’ was not declared in this scope; did you mean ‘handle’?
  613 |    Handle<Value> val = uni::Deref(that.isolate, that.yielded);
      |    ^~~~~~
      |    handle
../src/fibers.cc:613:16: error: expected primary-expression before ‘>’ token
  613 |    Handle<Value> val = uni::Deref(that.isolate, that.yielded);
      |                ^
../src/fibers.cc:613:18: error: ‘val’ was not declared in this scope
  613 |    Handle<Value> val = uni::Deref(that.isolate, that.yielded);
      |                  ^~~
../src/fibers.cc:613:29: error: ‘Deref’ is not a member of ‘uni’
  613 |    Handle<Value> val = uni::Deref(that.isolate, that.yielded);
      |                             ^~~~~
../src/fibers.cc:616:29: error: ‘ThrowException’ is not a member of ‘uni’
  616 |     return uni::Return(uni::ThrowException(that.isolate, val), args);
      |                             ^~~~~~~~~~~~~~
../src/fibers.cc: In member function ‘void Fiber::UnwindStack()’:
../src/fibers.cc:635:4: error: ‘Handle’ was not declared in this scope; did you mean ‘handle’?
  635 |    Handle<Value> zombie_exception = Exception::Error(uni::NewLatin1String(isolate, "This Fiber is a zombie"));
      |    ^~~~~~
      |    handle
../src/fibers.cc:635:16: error: expected primary-expression before ‘>’ token
  635 |    Handle<Value> zombie_exception = Exception::Error(uni::NewLatin1String(isolate, "This Fiber is a zombie"));
      |                ^
../src/fibers.cc:635:59: error: ‘NewLatin1String’ is not a member of ‘uni’
  635 |    Handle<Value> zombie_exception = Exception::Error(uni::NewLatin1String(isolate, "This Fiber is a zombie"));
      |                                                           ^~~~~~~~~~~~~~~
../src/fibers.cc:636:64: error: no matching function for call to ‘Reset(v8::Isolate*&, v8::Persistent<v8::Value>&, v8::Persistent<v8::Value>&)’
  636 |    uni::Reset(isolate, this->zombie_exception, zombie_exception);
      |                                                                ^
../src/fibers.cc:149:7: note: candidate: ‘template<class T> void uni::Reset(v8::Isolate*, v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >&, int)’
  149 |  void Reset(Isolate* isolate, Persistent<T>& persistent, Handle<T> handle) {
      |       ^~~~~
../src/fibers.cc:149:7: note:   template argument deduction/substitution failed:
../src/fibers.cc:636:48: note:   cannot convert ‘((Fiber*)this)->Fiber::zombie_exception’ (type ‘v8::Persistent<v8::Value>’) to type ‘int’
  636 |    uni::Reset(isolate, this->zombie_exception, zombie_exception);
      |                                                ^~~~~~~~~~~~~~~~
../src/fibers.cc:637:49: error: no matching function for call to ‘Reset(v8::Isolate*&, v8::Persistent<v8::Value>&, v8::Persistent<v8::Value>&)’
  637 |    uni::Reset(isolate, yielded, zombie_exception);
      |                                                 ^
../src/fibers.cc:149:7: note: candidate: ‘template<class T> void uni::Reset(v8::Isolate*, v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >&, int)’
  149 |  void Reset(Isolate* isolate, Persistent<T>& persistent, Handle<T> handle) {
      |       ^~~~~
../src/fibers.cc:149:7: note:   template argument deduction/substitution failed:
../src/fibers.cc:637:33: note:   cannot convert ‘((Fiber*)this)->Fiber::zombie_exception’ (type ‘v8::Persistent<v8::Value>’) to type ‘int’
  637 |    uni::Reset(isolate, yielded, zombie_exception);
      |                                 ^~~~~~~~~~~~~~~~
../src/fibers.cc:650:46: error: ‘Undefined’ is not a member of ‘uni’; did you mean ‘v8::Undefined’?
  650 |     uni::Reset<Value>(isolate, yielded, uni::Undefined(isolate));
      |                                              ^~~~~~~~~
In file included from /usr/include/node14/node.h:67,
                 from ../src/coroutine.h:1,
                 from ../src/fibers.cc:1:
/usr/include/node14/v8.h:11933:18: note: ‘v8::Undefined’ declared here
11933 | Local<Primitive> Undefined(Isolate* isolate) {
      |                  ^~~~~~~~~
../src/fibers.cc: In static member function ‘static void Fiber::RunFiber(void**)’:
../src/fibers.cc:712:5: error: ‘Handle’ was not declared in this scope; did you mean ‘handle’?
  712 |     Handle<Context> v8_context = uni::Deref(that.isolate, that.v8_context);
      |     ^~~~~~
      |     handle
../src/fibers.cc:712:19: error: expected primary-expression before ‘>’ token
  712 |     Handle<Context> v8_context = uni::Deref(that.isolate, that.v8_context);
      |                   ^
../src/fibers.cc:712:21: error: invalid use of member ‘Fiber::v8_context’ in static member function
  712 |     Handle<Context> v8_context = uni::Deref(that.isolate, that.v8_context);
      |                     ^~~~~~~~~~
../src/fibers.cc:397:23: note: declared here
  397 |   Persistent<Context> v8_context;
      |                       ^~~~~~~~~~
../src/fibers.cc:712:39: error: ‘Deref’ is not a member of ‘uni’
  712 |     Handle<Context> v8_context = uni::Deref(that.isolate, that.v8_context);
      |                                       ^~~~~
../src/fibers.cc:713:5: error: invalid use of member ‘Fiber::v8_context’ in static member function
  713 |     v8_context->Enter();
      |     ^~~~~~~~~~
../src/fibers.cc:397:23: note: declared here
  397 |   Persistent<Context> v8_context;
      |                       ^~~~~~~~~~
../src/fibers.cc:715:38: error: invalid use of member ‘Fiber::v8_context’ in static member function
  715 |     uni::fixStackLimit(that.isolate, v8_context);
      |                                      ^~~~~~~~~~
../src/fibers.cc:397:23: note: declared here
  397 |   Persistent<Context> v8_context;
      |                       ^~~~~~~~~~
../src/fibers.cc:717:17: error: expected primary-expression before ‘>’ token
  717 |     Handle<Value> yielded;
      |                 ^
../src/fibers.cc:717:19: error: invalid use of member ‘Fiber::yielded’ in static member function
  717 |     Handle<Value> yielded;
      |                   ^~~~~~~
../src/fibers.cc:399:21: note: declared here
  399 |   Persistent<Value> yielded;
      |                     ^~~~~~~
../src/fibers.cc:719:18: error: expected primary-expression before ‘>’ token
  719 |      Handle<Value> argv[1] = { (*args)[0] };
      |                  ^
../src/fibers.cc:719:20: error: ‘argv’ was not declared in this scope; did you mean ‘args’?
  719 |      Handle<Value> argv[1] = { (*args)[0] };
      |                    ^~~~
      |                    args
../src/fibers.cc:720:6: error: invalid use of member ‘Fiber::yielded’ in static member function
  720 |      yielded = uni::Deref(that.isolate, that.cb)->Call(v8_context->Global(), 1, argv);
      |      ^~~~~~~
../src/fibers.cc:399:21: note: declared here
  399 |   Persistent<Value> yielded;
      |                     ^~~~~~~
../src/fibers.cc:720:21: error: ‘Deref’ is not a member of ‘uni’
  720 |      yielded = uni::Deref(that.isolate, that.cb)->Call(v8_context->Global(), 1, argv);
      |                     ^~~~~
../src/fibers.cc:720:56: error: invalid use of member ‘Fiber::v8_context’ in static member function
  720 |      yielded = uni::Deref(that.isolate, that.cb)->Call(v8_context->Global(), 1, argv);
      |                                                        ^~~~~~~~~~
../src/fibers.cc:397:23: note: declared here
  397 |   Persistent<Context> v8_context;
      |                       ^~~~~~~~~~
../src/fibers.cc:722:6: error: invalid use of member ‘Fiber::yielded’ in static member function
  722 |      yielded = uni::Deref(that.isolate, that.cb)->Call(v8_context->Global(), 0, NULL);
      |      ^~~~~~~
../src/fibers.cc:399:21: note: declared here
  399 |   Persistent<Value> yielded;
      |                     ^~~~~~~
../src/fibers.cc:722:21: error: ‘Deref’ is not a member of ‘uni’
  722 |      yielded = uni::Deref(that.isolate, that.cb)->Call(v8_context->Global(), 0, NULL);
      |                     ^~~~~
../src/fibers.cc:722:56: error: invalid use of member ‘Fiber::v8_context’ in static member function
  722 |      yielded = uni::Deref(that.isolate, that.cb)->Call(v8_context->Global(), 0, NULL);
      |                                                        ^~~~~~~~~~
../src/fibers.cc:397:23: note: declared here
  397 |   Persistent<Context> v8_context;
      |                       ^~~~~~~~~~
../src/fibers.cc:726:66: error: no matching function for call to ‘Reset(v8::Isolate*&, v8::Persistent<v8::Value>&, v8::Local<v8::Value>)’
  726 |      uni::Reset(that.isolate, that.yielded, try_catch.Exception());
      |                                                                  ^
../src/fibers.cc:149:7: note: candidate: ‘template<class T> void uni::Reset(v8::Isolate*, v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >&, int)’
  149 |  void Reset(Isolate* isolate, Persistent<T>& persistent, Handle<T> handle) {
      |       ^~~~~
../src/fibers.cc:149:7: note:   template argument deduction/substitution failed:
../src/fibers.cc:726:64: note:   cannot convert ‘try_catch.uni::TryCatch::<anonymous>.v8::TryCatch::Exception()’ (type ‘v8::Local<v8::Value>’) to type ‘int’
  726 |      uni::Reset(that.isolate, that.yielded, try_catch.Exception());
      |                                             ~~~~~~~~~~~~~~~~~~~^~
../src/fibers.cc:728:50: error: ‘Deref’ is not a member of ‘uni’
  728 |      if (that.zombie && !that.resetting && !uni::Deref(that.isolate, that.yielded)->StrictEquals(uni::Deref(that.isolate, that.zombie_exception))) {
      |                                                  ^~~~~
../src/fibers.cc:728:103: error: ‘Deref’ is not a member of ‘uni’
  728 |  !uni::Deref(that.isolate, that.yielded)->StrictEquals(uni::Deref(that.isolate, that.zombie_exception))) {
      |                                                             ^~~~~

../src/fibers.cc:730:76: error: invalid use of member ‘Fiber::v8_context’ in static member function
  730 | t(that.isolate, fatal_stack, uni::GetStackTrace(&try_catch, v8_context));
      |                                                             ^~~~~~~~~~

../src/fibers.cc:397:23: note: declared here
  397 |   Persistent<Context> v8_context;
      |                       ^~~~~~~~~~
../src/fibers.cc:733:45: error: invalid use of member ‘Fiber::yielded’ in static member function
  733 |      uni::Reset(that.isolate, that.yielded, yielded);
      |                                             ^~~~~~~
../src/fibers.cc:399:21: note: declared here
  399 |   Persistent<Value> yielded;
      |                     ^~~~~~~
../src/fibers.cc:748:5: error: invalid use of member ‘Fiber::v8_context’ in static member function
  748 |     v8_context->Exit();
      |     ^~~~~~~~~~
../src/fibers.cc:397:23: note: declared here
  397 |   Persistent<Context> v8_context;
      |                       ^~~~~~~~~~
../src/fibers.cc: In static member function ‘static uni::FunctionType Fiber::Yield_(const Arguments&)’:
../src/fibers.cc:10:45: error: ‘ThrowException’ is not a member of ‘uni’
   10 | #define THROW(x, m) return uni::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
      |                                             ^~~~~~~~~~~~~~
../src/fibers.cc:763:5: note: in expansion of macro ‘THROW’
  763 |     THROW(Exception::Error, "yield() called with no fiber running");
      |     ^~~~~
../src/fibers.cc:10:90: error: ‘NewLatin1String’ is not a member of ‘uni’
   10 | i::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
      |                                                             ^~~~~~~~~~~~~~~

../src/fibers.cc:763:5: note: in expansion of macro ‘THROW’
  763 |     THROW(Exception::Error, "yield() called with no fiber running");
      |     ^~~~~
../src/fibers.cc:769:29: error: ‘ThrowException’ is not a member of ‘uni’
  769 |     return uni::Return(uni::ThrowException(that.isolate, uni::Deref(that.isolate, that.zombie_exception)), args);
      |                             ^~~~~~~~~~~~~~
../src/fibers.cc:769:63: error: ‘Deref’ is not a member of ‘uni’
  769 |   return uni::Return(uni::ThrowException(that.isolate, uni::Deref(that.isolate, that.zombie_exception)), args);
      |                                                             ^~~~~

../src/fibers.cc:771:60: error: cannot convert ‘v8::Local<v8::Primitive>’ to ‘int’
  771 |     uni::Reset<Value>(that.isolate, that.yielded, Undefined(that.isolate));
      |                                                   ~~~~~~~~~^~~~~~~~~~~~~~
      |                                                            |
      |                                                            v8::Local<v8::Primitive>
../src/fibers.cc:149:58: note:   initializing argument 3 of ‘void uni::Reset(v8::Isolate*, v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >&, int) [with T = v8::Value]’
  149 |  void Reset(Isolate* isolate, Persistent<T>& persistent, Handle<T> handle) {
      |                                                          ^~~~~~
../src/fibers.cc:773:51: error: no matching function for call to ‘Reset(v8::Isolate*&, v8::Persistent<v8::Value>&, v8::Local<v8::Value>)’
  773 |     uni::Reset(that.isolate, that.yielded, args[0]);
      |                                                   ^
../src/fibers.cc:149:7: note: candidate: ‘template<class T> void uni::Reset(v8::Isolate*, v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >&, int)’
  149 |  void Reset(Isolate* isolate, Persistent<T>& persistent, Handle<T> handle) {
      |       ^~~~~
../src/fibers.cc:149:7: note:   template argument deduction/substitution failed:
../src/fibers.cc:773:50: note:   cannot convert ‘(& args)->v8::FunctionCallbackInfo<v8::Value>::operator[](0)’ (type ‘v8::Local<v8::Value>’) to type ‘int’
  773 |     uni::Reset(that.isolate, that.yielded, args[0]);
      |                                            ~~~~~~^
../src/fibers.cc:10:45: error: ‘ThrowException’ is not a member of ‘uni’
   10 | #define THROW(x, m) return uni::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
      |                                             ^~~~~~~~~~~~~~
../src/fibers.cc:775:5: note: in expansion of macro ‘THROW’
  775 |     THROW(Exception::TypeError, "yield() expects 1 or no arguments");
      |     ^~~~~
../src/fibers.cc:10:90: error: ‘NewLatin1String’ is not a member of ‘uni’
   10 | i::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
      |                                                             ^~~~~~~~~~~~~~~

../src/fibers.cc:775:5: note: in expansion of macro ‘THROW’
  775 |     THROW(Exception::TypeError, "yield() expects 1 or no arguments");
      |     ^~~~~
../src/fibers.cc:798:28: error: ‘class Fiber’ has no member named ‘ReturnYielded’
  798 |    return uni::Return(that.ReturnYielded(), args);
      |                            ^~~~~~~~~~~~~
../src/fibers.cc: In static member function ‘static uni::FunctionType Fiber::GetStarted(v8::Local<v8::String>, const GetterCallbackInfo&)’:
../src/fibers.cc:806:29: error: ‘Undefined’ is not a member of ‘uni’; did you mean ‘v8::Undefined’?
  806 |     return uni::Return(uni::Undefined(Isolate::GetCurrent()), info);
      |                             ^~~~~~~~~
In file included from /usr/include/node14/node.h:67,
                 from ../src/coroutine.h:1,
                 from ../src/fibers.cc:1:
/usr/include/node14/v8.h:317:27: note: ‘v8::Undefined’ declared here
  317 |   friend Local<Primitive> Undefined(Isolate* isolate);
      |                           ^~~~~~~~~
../src/fibers.cc:808:36: error: no match for call to ‘(Fiber) (v8::Local<v8::Object>)’
  808 |    Fiber& that = Unwrap(info.This());
      |                                    ^
../src/fibers.cc:809:28: error: ‘NewBoolean’ is not a member of ‘uni’
  809 |    return uni::Return(uni::NewBoolean(that.isolate, that.started), info);
      |                            ^~~~~~~~~~
../src/fibers.cc: In static member function ‘static uni::FunctionType Fiber::GetCurrent(v8::Local<v8::String>, const GetterCallbackInfo&)’:
../src/fibers.cc:816:29: error: ‘Undefined’ is not a member of ‘uni’; did you mean ‘v8::Undefined’?
  816 |     return uni::Return(uni::Undefined(Isolate::GetCurrent()), info);
      |                             ^~~~~~~~~
In file included from /usr/include/node14/node.h:67,
                 from ../src/coroutine.h:1,
                 from ../src/fibers.cc:1:
/usr/include/node14/v8.h:317:27: note: ‘v8::Undefined’ declared here
  317 |   friend Local<Primitive> Undefined(Isolate* isolate);
      |                           ^~~~~~~~~
../src/fibers.cc: In static member function ‘static uni::FunctionType Fiber::GetPoolSize(v8::Local<v8::String>, const GetterCallbackInfo&)’:
../src/fibers.cc:824:28: error: ‘NewNumber’ is not a member of ‘uni’
  824 |    return uni::Return(uni::NewNumber(Isolate::GetCurrent(), Coroutine::pool_size), info);
      |                            ^~~~~~~~~
../src/fibers.cc: In static member function ‘static void Fiber::SetPoolSize(v8::Local<v8::String>, v8::Local<v8::Value>, const SetterCallbackInfo&)’:
../src/fibers.cc:828:32: error: ‘ToNumber’ is not a member of ‘uni’
  828 |    Coroutine::pool_size = uni::ToNumber(value)->Value();
      |                                ^~~~~~~~
../src/fibers.cc: In static member function ‘static uni::FunctionType Fiber::GetFibersCreated(v8::Local<v8::String>, const GetterCallbackInfo&)’:
../src/fibers.cc:835:28: error: ‘NewNumber’ is not a member of ‘uni’
  835 |    return uni::Return(uni::NewNumber(Isolate::GetCurrent(), Coroutine::coroutines_created()), info);
      |                            ^~~~~~~~~
../src/fibers.cc: In static member function ‘static void Fiber::Init(int)’:
../src/fibers.cc:853:4: error: ‘Handle’ was not declared in this scope; did you mean ‘handle’?
  853 |    Handle<FunctionTemplate> tmpl = uni::NewFunctionTemplate(isolate, New);
      |    ^~~~~~
      |    handle
../src/fibers.cc:853:27: error: expected primary-expression before ‘>’ token
  853 |    Handle<FunctionTemplate> tmpl = uni::NewFunctionTemplate(isolate, New);
      |                           ^
../src/fibers.cc:853:41: error: ‘NewFunctionTemplate’ is not a member of ‘uni’
  853 |    Handle<FunctionTemplate> tmpl = uni::NewFunctionTemplate(isolate, New);
      |                                         ^~~~~~~~~~~~~~~~~~~
../src/fibers.cc:854:41: error: no matching function for call to ‘Reset(v8::Isolate*&, v8::Persistent<v8::FunctionTemplate>&, v8::Persistent<v8::FunctionTemplate>&)’
  854 |    uni::Reset(isolate, Fiber::tmpl, tmpl);
      |                                         ^
../src/fibers.cc:149:7: note: candidate: ‘template<class T> void uni::Reset(v8::Isolate*, v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >&, int)’
  149 |  void Reset(Isolate* isolate, Persistent<T>& persistent, Handle<T> handle) {
      |       ^~~~~
../src/fibers.cc:149:7: note:   template argument deduction/substitution failed:
../src/fibers.cc:854:37: note:   cannot convert ‘Fiber::tmpl’ (type ‘v8::Persistent<v8::FunctionTemplate>’) to type ‘int’
  854 |    uni::Reset(isolate, Fiber::tmpl, tmpl);
      |                                     ^~~~
../src/fibers.cc:855:8: error: base operand of ‘->’ has non-pointer type ‘v8::Persistent<v8::FunctionTemplate>’
  855 |    tmpl->SetClassName(uni::NewLatin1Symbol(isolate, "Fiber"));
      |        ^~
../src/fibers.cc:855:28: error: ‘NewLatin1Symbol’ is not a member of ‘uni’
  855 |    tmpl->SetClassName(uni::NewLatin1Symbol(isolate, "Fiber"));
      |                            ^~~~~~~~~~~~~~~
../src/fibers.cc:859:20: error: expected primary-expression before ‘>’ token
  859 |    Handle<Signature> sig = uni::NewSignature(isolate, tmpl);
      |                    ^
../src/fibers.cc:859:22: error: ‘sig’ was not declared in this scope; did you mean ‘sig_t’?
  859 |    Handle<Signature> sig = uni::NewSignature(isolate, tmpl);
      |                      ^~~
      |                      sig_t
../src/fibers.cc:859:33: error: ‘NewSignature’ is not a member of ‘uni’
  859 |    Handle<Signature> sig = uni::NewSignature(isolate, tmpl);
      |                                 ^~~~~~~~~~~~
../src/fibers.cc:860:8: error: base operand of ‘->’ has non-pointer type ‘v8::Persistent<v8::FunctionTemplate>’
  860 |    tmpl->InstanceTemplate()->SetInternalFieldCount(1);
      |        ^~
../src/fibers.cc:863:25: error: expected primary-expression before ‘>’ token
  863 |    Handle<ObjectTemplate> proto = tmpl->PrototypeTemplate();
      |                         ^
../src/fibers.cc:863:27: error: ‘proto’ was not declared in this scope
  863 |    Handle<ObjectTemplate> proto = tmpl->PrototypeTemplate();
      |                           ^~~~~
../src/fibers.cc:863:39: error: base operand of ‘->’ has non-pointer type ‘v8::Persistent<v8::FunctionTemplate>’
  863 |    Handle<ObjectTemplate> proto = tmpl->PrototypeTemplate();
      |                                       ^~
../src/fibers.cc:864:20: error: ‘NewLatin1Symbol’ is not a member of ‘uni’
  864 |    proto->Set(uni::NewLatin1Symbol(isolate, "reset"),
      |                    ^~~~~~~~~~~~~~~
../src/fibers.cc:865:10: error: ‘NewFunctionTemplate’ is not a member of ‘uni’
  865 |     uni::NewFunctionTemplate(isolate, Reset, Handle<Value>(), sig));
      |          ^~~~~~~~~~~~~~~~~~~
../src/fibers.cc:865:58: error: expected primary-expression before ‘>’ token
  865 |     uni::NewFunctionTemplate(isolate, Reset, Handle<Value>(), sig));
      |                                                          ^
../src/fibers.cc:865:60: error: expected primary-expression before ‘)’ token
  865 |     uni::NewFunctionTemplate(isolate, Reset, Handle<Value>(), sig));
      |                                                            ^
../src/fibers.cc:866:20: error: ‘NewLatin1Symbol’ is not a member of ‘uni’
  866 |    proto->Set(uni::NewLatin1Symbol(isolate, "run"),
      |                    ^~~~~~~~~~~~~~~
../src/fibers.cc:867:10: error: ‘NewFunctionTemplate’ is not a member of ‘uni’
  867 |     uni::NewFunctionTemplate(isolate, Run, Handle<Value>(), sig));
      |          ^~~~~~~~~~~~~~~~~~~
../src/fibers.cc:867:56: error: expected primary-expression before ‘>’ token
  867 |     uni::NewFunctionTemplate(isolate, Run, Handle<Value>(), sig));
      |                                                        ^
../src/fibers.cc:867:58: error: expected primary-expression before ‘)’ token
  867 |     uni::NewFunctionTemplate(isolate, Run, Handle<Value>(), sig));
      |                                                          ^
../src/fibers.cc:868:20: error: ‘NewLatin1Symbol’ is not a member of ‘uni’
  868 |    proto->Set(uni::NewLatin1Symbol(isolate, "throwInto"),
      |                    ^~~~~~~~~~~~~~~
../src/fibers.cc:869:10: error: ‘NewFunctionTemplate’ is not a member of ‘uni’
  869 |     uni::NewFunctionTemplate(isolate, ThrowInto, Handle<Value>(), sig));
      |          ^~~~~~~~~~~~~~~~~~~
../src/fibers.cc:869:62: error: expected primary-expression before ‘>’ token
  869 |    uni::NewFunctionTemplate(isolate, ThrowInto, Handle<Value>(), sig));
      |                                                             ^

../src/fibers.cc:869:64: error: expected primary-expression before ‘)’ token
  869 |    uni::NewFunctionTemplate(isolate, ThrowInto, Handle<Value>(), sig));
      |                                                               ^

../src/fibers.cc:870:28: error: ‘NewLatin1Symbol’ is not a member of ‘uni’
  870 |    proto->SetAccessor(uni::NewLatin1Symbol(isolate, "started"), GetStarted);
      |                            ^~~~~~~~~~~~~~~
../src/fibers.cc:873:19: error: expected primary-expression before ‘>’ token
  873 |    Handle<Function> yield = uni::NewFunctionTemplate(isolate, Yield_)->GetFunction();
      |                   ^
../src/fibers.cc:873:21: error: ‘yield’ was not declared in this scope; did you mean ‘yielded’?
  873 |    Handle<Function> yield = uni::NewFunctionTemplate(isolate, Yield_)->GetFunction();
      |                     ^~~~~
      |                     yielded
../src/fibers.cc:873:34: error: ‘NewFunctionTemplate’ is not a member of ‘uni’
  873 |    Handle<Function> yield = uni::NewFunctionTemplate(isolate, Yield_)->GetFunction();
      |                                  ^~~~~~~~~~~~~~~~~~~
../src/fibers.cc:874:17: error: expected primary-expression before ‘>’ token
  874 |    Handle<String> sym_yield = uni::NewLatin1Symbol(isolate, "yield");
      |                 ^
../src/fibers.cc:874:19: error: ‘sym_yield’ was not declared in this scope; did you mean ‘sched_yield’?
  874 |    Handle<String> sym_yield = uni::NewLatin1Symbol(isolate, "yield");
      |                   ^~~~~~~~~
      |                   sched_yield
../src/fibers.cc:874:36: error: ‘NewLatin1Symbol’ is not a member of ‘uni’
  874 |    Handle<String> sym_yield = uni::NewLatin1Symbol(isolate, "yield");
      |                                    ^~~~~~~~~~~~~~~
../src/fibers.cc:875:4: error: ‘target’ was not declared in this scope
  875 |    target->Set(sym_yield, yield);
      |    ^~~~~~
../src/fibers.cc:878:19: error: expected primary-expression before ‘>’ token
  878 |    Handle<Function> fn = tmpl->GetFunction();
      |                   ^
../src/fibers.cc:878:21: error: ‘fn’ was not declared in this scope
  878 |    Handle<Function> fn = tmpl->GetFunction();
      |                     ^~
../src/fibers.cc:878:30: error: base operand of ‘->’ has non-pointer type ‘v8::Persistent<v8::FunctionTemplate>’
  878 |    Handle<Function> fn = tmpl->GetFunction();
      |                              ^~
../src/fibers.cc:880:39: error: ‘NewLatin1Symbol’ is not a member of ‘uni’
  880 |    uni::SetAccessor(isolate, fn, uni::NewLatin1Symbol(isolate, "current"), GetCurrent);
      |                                       ^~~~~~~~~~~~~~~
../src/fibers.cc:881:39: error: ‘NewLatin1Symbol’ is not a member of ‘uni’
  881 |    uni::SetAccessor(isolate, fn, uni::NewLatin1Symbol(isolate, "poolSize"), GetPoolSize, SetPoolSize);
      |                                       ^~~~~~~~~~~~~~~
../src/fibers.cc:882:39: error: ‘NewLatin1Symbol’ is not a member of ‘uni’
  882 |    uni::SetAccessor(isolate, fn, uni::NewLatin1Symbol(isolate, "fibersCreated"), GetFibersCreated);
      |                                       ^~~~~~~~~~~~~~~
../src/fibers.cc:885:21: error: ‘NewLatin1Symbol’ is not a member of ‘uni’
  885 |    target->Set(uni::NewLatin1Symbol(isolate, "Fiber"), fn);
      |                     ^~~~~~~~~~~~~~~
../src/fibers.cc: At global scope:
../src/fibers.cc:901:6: error: variable or field ‘init’ declared void
  901 | void init(Handle<Object> target) {
      |      ^~~~
../src/fibers.cc:901:11: error: ‘Handle’ was not declared in this scope
  901 | void init(Handle<Object> target) {
      |           ^~~~~~
../src/fibers.cc:901:24: error: expected primary-expression before ‘>’ token
  901 | void init(Handle<Object> target) {
      |                        ^
../src/fibers.cc:901:26: error: ‘target’ was not declared in this scope
  901 | void init(Handle<Object> target) {
      |                          ^~~~~~
In file included from ../src/coroutine.h:1,
                 from ../src/fibers.cc:1:
../src/fibers.cc:916:21: error: ‘init’ was not declared in this scope; did you mean ‘int’?
  916 | NODE_MODULE(fibers, init)
      |                     ^~~~
/usr/include/node14/node.h:748:36: note: in definition of macro ‘NODE_MODULE_X’
  748 |       (node::addon_register_func) (regfunc),                          \
      |                                    ^~~~~~~
../src/fibers.cc:916:1: note: in expansion of macro ‘NODE_MODULE’
  916 | NODE_MODULE(fibers, init)
      | ^~~~~~~~~~~
../src/fibers.cc: In instantiation of ‘void uni::Return(v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >&, uni::GetterCallbackInfo) [with T = v8::Object; uni::GetterCallbackInfo = v8::PropertyCallbackInfo<v8::Value>]’:
../src/fibers.cc:814:45:   required from here
../src/fibers.cc:185:28: error: no matching function for call to ‘v8::ReturnValue<v8::Value>::Set(v8::Persistent<v8::Object>&)’
  185 |   info.GetReturnValue().Set(handle);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
In file included from /usr/include/node14/node.h:67,
                 from ../src/coroutine.h:1,
                 from ../src/fibers.cc:1:
/usr/include/node14/v8.h:4220:18: note: candidate: ‘template<class S> void v8::ReturnValue<T>::Set(const v8::Global<S>&) [with S = S; T = v8::Value]’
 4220 |   V8_INLINE void Set(const Global<S>& handle);
      |                  ^~~
/usr/include/node14/v8.h:4220:18: note:   template argument deduction/substitution failed:
../src/fibers.cc:185:28: note:   ‘v8::Persistent<v8::Object>’ is not derived from ‘const v8::Global<T>’
  185 |   info.GetReturnValue().Set(handle);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
In file included from /usr/include/node14/node.h:67,
                 from ../src/coroutine.h:1,
                 from ../src/fibers.cc:1:
/usr/include/node14/v8.h:4222:18: note: candidate: ‘template<class S> void v8::ReturnValue<T>::Set(const v8::TracedReferenceBase<S>&) [with S = S; T = v8::Value]’
 4222 |   V8_INLINE void Set(const TracedReferenceBase<S>& handle);
      |                  ^~~
/usr/include/node14/v8.h:4222:18: note:   template argument deduction/substitution failed:
../src/fibers.cc:185:28: note:   ‘v8::Persistent<v8::Object>’ is not derived from ‘const v8::TracedReferenceBase<T>’
  185 |   info.GetReturnValue().Set(handle);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
In file included from /usr/include/node14/node.h:67,
                 from ../src/coroutine.h:1,
                 from ../src/fibers.cc:1:
/usr/include/node14/v8.h:4224:18: note: candidate: ‘template<class S> void v8::ReturnValue<T>::Set(v8::Local<S>) [with S = S; T = v8::Value]’
 4224 |   V8_INLINE void Set(const Local<S> handle);
      |                  ^~~
/usr/include/node14/v8.h:4224:18: note:   template argument deduction/substitution failed:
../src/fibers.cc:185:28: note:   ‘v8::Persistent<v8::Object>’ is not derived from ‘v8::Local<T>’
  185 |   info.GetReturnValue().Set(handle);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
In file included from /usr/include/node14/node.h:67,
                 from ../src/coroutine.h:1,
                 from ../src/fibers.cc:1:
/usr/include/node14/v8.h:11142:6: note: candidate: ‘void v8::ReturnValue<T>::Set(bool) [with T = v8::Value]’
11142 | void ReturnValue<T>::Set(bool value) {
      |      ^~~~~~~~~~~~~~
/usr/include/node14/v8.h:11142:31: note:   no known conversion for argument 1 from ‘v8::Persistent<v8::Object>’ to ‘bool’
11142 | void ReturnValue<T>::Set(bool value) {
      |                          ~~~~~^~~~~
/usr/include/node14/v8.h:11113:6: note: candidate: ‘void v8::ReturnValue<T>::Set(double) [with T = v8::Value]’
11113 | void ReturnValue<T>::Set(double i) {
      |      ^~~~~~~~~~~~~~
/usr/include/node14/v8.h:11113:33: note:   no known conversion for argument 1 from ‘v8::Persistent<v8::Object>’ to ‘double’
11113 | void ReturnValue<T>::Set(double i) {
      |                          ~~~~~~~^
/usr/include/node14/v8.h:11119:6: note: candidate: ‘void v8::ReturnValue<T>::Set(int32_t) [with T = v8::Value; int32_t = int]’
11119 | void ReturnValue<T>::Set(int32_t i) {
      |      ^~~~~~~~~~~~~~
/usr/include/node14/v8.h:11119:34: note:   no known conversion for argument 1 from ‘v8::Persistent<v8::Object>’ to ‘int32_t’ {aka ‘int’}
11119 | void ReturnValue<T>::Set(int32_t i) {
      |                          ~~~~~~~~^
/usr/include/node14/v8.h:11130:6: note: candidate: ‘void v8::ReturnValue<T>::Set(uint32_t) [with T = v8::Value; uint32_t = unsigned int]’
11130 | void ReturnValue<T>::Set(uint32_t i) {
      |      ^~~~~~~~~~~~~~
/usr/include/node14/v8.h:11130:35: note:   no known conversion for argument 1 from ‘v8::Persistent<v8::Object>’ to ‘uint32_t’ {aka ‘unsigned int’}
11130 | void ReturnValue<T>::Set(uint32_t i) {
      |                          ~~~~~~~~~^
/usr/include/node14/v8.h:4239:18: note: candidate: ‘template<class S> void v8::ReturnValue<T>::Set(S*) [with S = S; T = v8::Value]’
 4239 |   V8_INLINE void Set(S* whatever);
      |                  ^~~
/usr/include/node14/v8.h:4239:18: note:   template argument deduction/substitution failed:
../src/fibers.cc:185:28: note:   mismatched types ‘S*’ and ‘v8::Persistent<v8::Object>’
  185 |   info.GetReturnValue().Set(handle);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
make: *** [fibers.target.mk:94: Release/obj.target/fibers/src/fibers.o] Error 1
make: Leaving directory '/home/mike/nuxeo-web-ui/packages/nuxeo-web-ui-ftest/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/lib64/node_modules/npm14/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (events.js:314:20)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:276:12)
gyp ERR! System Linux 5.8.14-1-default
gyp ERR! command "/usr/bin/node14" "/usr/lib64/node_modules/npm14/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--release"
gyp ERR! cwd /home/mike/nuxeo-web-ui/packages/nuxeo-web-ui-ftest/node_modules/fibers
gyp ERR! node -v v14.13.1
gyp ERR! node-gyp -v v5.1.0
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`
RHEL users please run: `yum install gcc-c++` and `yum groupinstall 'Development Tools'` 
Alpine users please run: `sudo apk add python make g++`
sh: nodejs: command not found
npm WARN @nuxeo/nuxeo-web-ui-ftest@3.0.2-SNAPSHOT No repository field.

npm ERR! code ELIFECYCLE
npm ERR! syscall spawn
npm ERR! file sh
npm ERR! errno ENOENT
npm ERR! fibers@3.1.1 install: `node build.js || nodejs build.js`
npm ERR! spawn ENOENT
npm ERR! 
npm ERR! Failed at the fibers@3.1.1 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/mike/.npm/_logs/2020-10-22T15_28_03_501Z-debug.log

Tried to npm install fibers, that succeeds, but npm install still fails.

0 votes

1 answers

720 views

ANSWER

Trying the configuration found in https://answers.nuxeo.com/general/q/18dc61af6baa47dd8f6a74ed1fdbf392/compiling-https-github-com-nuxeo-nuxeo-web-ui-fails:

npm config set @nuxeo:registry https://packages.nuxeo.com/repository/npm-public-archives

doesn't help.

10/22/2020



Installing and using nodejs10 and npm10 solved the issue:

sudo zypper in nodejs10
npm10 install
0 votes