capnproto/node-capnp

mac install error

gcxfd opened this issue · 3 comments

gcxfd commented

❯ sw_vers
ProductName: macOS
ProductVersion: 11.2.3
BuildVersion: 20D91
❯ node -v
v15.10.0

yarn add v1.22.10
warning package.json: No license field
warning ../package.json: No license field
info No lockfile found.
warning No license field
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
error /Users/z/git/e2w/capnp/node_modules/capnp: Command failed.
Exit code: 1
Command: node ./build.js
Arguments: 
Directory: /Users/z/git/e2w/capnp/node_modules/capnp
Output:
gyp info it worked if it ends with ok
gyp info using node-gyp@7.1.2
gyp info using node@15.10.0 | darwin | x64
gyp info find Python using Python version 3.9.4 found at "/usr/local/opt/python@3.9/bin/python3.9"
gyp info spawn /usr/local/opt/python@3.9/bin/python3.9
gyp info spawn args [
gyp info spawn args   '/Users/z/.asdf/installs/nodejs/15.10.0/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'make',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/z/git/e2w/capnp/node_modules/capnp/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/z/.asdf/installs/nodejs/15.10.0/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/z/Library/Caches/node-gyp/15.10.0/include/node/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=/Users/z/Library/Caches/node-gyp/15.10.0',
gyp info spawn args   '-Dnode_gyp_dir=/Users/z/.asdf/installs/nodejs/15.10.0/lib/node_modules/npm/node_modules/node-gyp',
gyp info spawn args   '-Dnode_lib_file=/Users/z/Library/Caches/node-gyp/15.10.0/<(target_arch)/node.lib',
gyp info spawn args   '-Dmodule_root_dir=/Users/z/git/e2w/capnp/node_modules/capnp',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'build',
gyp info spawn args   '-Goutput_dir=.'
gyp info spawn args ]
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
  CXX(target) Release/obj.target/capnp/src/node-capnp/capnp.o
../src/node-capnp/capnp.cc:660:10: error: no viable conversion from returned value of type 'MaybeLocal<v8::String>' to function return type 'v8::Local<v8::String>'
  return v8::String::NewFromUtf8(v8::Isolate::GetCurrent(), str);
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/z/Library/Caches/node-gyp/15.10.0/include/node/v8.h:194:7: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'MaybeLocal<v8::String>' to 'const v8::Local<v8::String> &' for 1st argument
class Local {
      ^
/Users/z/Library/Caches/node-gyp/15.10.0/include/node/v8.h:194:7: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'MaybeLocal<v8::String>' to 'v8::Local<v8::String> &&' for 1st argument
/Users/z/Library/Caches/node-gyp/15.10.0/include/node/v8.h:198:13: note: candidate template ignored: could not match 'Local' against 'MaybeLocal'
  V8_INLINE Local(Local<S> that)
            ^
../src/node-capnp/capnp.cc:663:78: error: no member named 'kInternalizedString' in 'v8::String'
  return v8::String::NewFromUtf8(v8::Isolate::GetCurrent(), str, v8::String::kInternalizedString);
                                                                 ~~~~~~~~~~~~^
../src/node-capnp/capnp.cc:730:38: error: no viable conversion from 'v8::Isolate *' to 'Local<v8::Context>'
  return toKjString(handle->ToString(v8::Isolate::GetCurrent()));
                                     ^~~~~~~~~~~~~~~~~~~~~~~~~
/Users/z/Library/Caches/node-gyp/15.10.0/include/node/v8.h:194:7: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'v8::Isolate *' to 'const v8::Local<v8::Context> &' for 1st argument
class Local {
      ^
/Users/z/Library/Caches/node-gyp/15.10.0/include/node/v8.h:194:7: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'v8::Isolate *' to 'v8::Local<v8::Context> &&' for 1st argument
/Users/z/Library/Caches/node-gyp/15.10.0/include/node/v8.h:198:13: note: candidate template ignored: could not match 'Local<type-parameter-0-0>' against 'v8::Isolate *'
  V8_INLINE Local(Local<S> that)
            ^
/Users/z/Library/Caches/node-gyp/15.10.0/include/node/v8.h:2857:22: note: passing argument to parameter 'context' here
      Local<Context> context) const;
                     ^
../src/node-capnp/capnp.cc:759:10: error: no matching member function for call to 'Set'
    obj->Set(newSymbol("cppFile"), newString(exception.getFile()));
    ~~~~~^~~
/Users/z/Library/Caches/node-gyp/15.10.0/include/node/v8.h:3716:37: note: candidate function not viable: requires 3 arguments, but 2 were provided
  V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
                                    ^
/Users/z/Library/Caches/node-gyp/15.10.0/include/node/v8.h:3719:37: note: candidate function not viable: requires 3 arguments, but 2 were provided
  V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,
                                    ^
../src/node-capnp/capnp.cc:760:10: error: no matching member function for call to 'Set'
    obj->Set(newSymbol("line"), newInt32(exception.getLine()));
    ~~~~~^~~
/Users/z/Library/Caches/node-gyp/15.10.0/include/node/v8.h:3716:37: note: candidate function not viable: requires 3 arguments, but 2 were provided
  V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
                                    ^
/Users/z/Library/Caches/node-gyp/15.10.0/include/node/v8.h:3719:37: note: candidate function not viable: requires 3 arguments, but 2 were provided
  V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,
                                    ^
../src/node-capnp/capnp.cc:769:10: error: no matching member function for call to 'Set'
    obj->Set(newSymbol("kjType"), newSymbol(type));
    ~~~~~^~~
/Users/z/Library/Caches/node-gyp/15.10.0/include/node/v8.h:3716:37: note: candidate function not viable: requires 3 arguments, but 2 were provided
  V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
                                    ^
/Users/z/Library/Caches/node-gyp/15.10.0/include/node/v8.h:3719:37: note: candidate function not viable: requires 3 arguments, but 2 were provided
  V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,
                                    ^
../src/node-capnp/capnp.cc:784:39: error: no matching member function for call to 'Get'
    v8::Local<v8::Value> value = obj->Get(newSymbol("kjType"));
                                 ~~~~~^~~
/Users/z/Library/Caches/node-gyp/15.10.0/include/node/v8.h:3763:43: note: candidate function not viable: requires 2 arguments, but 1 was provided
  V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                          ^
/Users/z/Library/Caches/node-gyp/15.10.0/include/node/v8.h:3766:43: note: candidate function not viable: requires 2 arguments, but 1 was provided
  V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                          ^
../src/node-capnp/capnp.cc:796:39: error: no matching member function for call to 'Get'
    v8::Local<v8::Value> stack = obj->Get(newSymbol("stack"));
                                 ~~~~~^~~
/Users/z/Library/Caches/node-gyp/15.10.0/include/node/v8.h:3763:43: note: candidate function not viable: requires 2 arguments, but 1 was provided
  V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                          ^
/Users/z/Library/Caches/node-gyp/15.10.0/include/node/v8.h:3766:43: note: candidate function not viable: requires 2 arguments, but 1 was provided
  V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                          ^
../src/node-capnp/capnp.cc:871:14: error: no member named 'MarkIndependent' in 'v8::Global<v8::Object>'
      handle.MarkIndependent();
      ~~~~~~ ^
../src/node-capnp/capnp.cc:1058:13: error: no matching member function for call to 'Set'
    result->Set(newSymbol("typeId"),
    ~~~~~~~~^~~
/Users/z/Library/Caches/node-gyp/15.10.0/include/node/v8.h:3716:37: note: candidate function not viable: requires 3 arguments, but 2 were provided
  V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
                                    ^
/Users/z/Library/Caches/node-gyp/15.10.0/include/node/v8.h:3719:37: note: candidate function not viable: requires 3 arguments, but 2 were provided
  V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,
                                    ^
../src/node-capnp/capnp.cc:1064:15: error: no matching member function for call to 'Set'
      result->Set(newSymbol(name.cStr()),
      ~~~~~~~~^~~
/Users/z/Library/Caches/node-gyp/15.10.0/include/node/v8.h:3716:37: note: candidate function not viable: requires 3 arguments, but 2 were provided
  V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
                                    ^
/Users/z/Library/Caches/node-gyp/15.10.0/include/node/v8.h:3719:37: note: candidate function not viable: requires 3 arguments, but 2 were provided
  V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,
                                    ^
../src/node-capnp/capnp.cc:1080:3: error: no viable conversion from 'v8::Isolate *' to 'Local<v8::Context>'
  KJV8_STACK_STR(displayName, args[0], 128);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/node-capnp/capnp.cc:738:52: note: expanded from macro 'KJV8_STACK_STR'
    v8::Local<v8::String> v8str = handle->ToString(v8::Isolate::GetCurrent()); \
                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~
/Users/z/Library/Caches/node-gyp/15.10.0/include/node/v8.h:194:7: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'v8::Isolate *' to 'const v8::Local<v8::Context> &' for 1st argument
class Local {
      ^
/Users/z/Library/Caches/node-gyp/15.10.0/include/node/v8.h:194:7: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'v8::Isolate *' to 'v8::Local<v8::Context> &&' for 1st argument
/Users/z/Library/Caches/node-gyp/15.10.0/include/node/v8.h:198:13: note: candidate template ignored: could not match 'Local<type-parameter-0-0>' against 'v8::Isolate *'
  V8_INLINE Local(Local<S> that)
            ^
/Users/z/Library/Caches/node-gyp/15.10.0/include/node/v8.h:2857:22: note: passing argument to parameter 'context' here
      Local<Context> context) const;
                     ^
../src/node-capnp/capnp.cc:1081:3: error: no viable conversion from 'v8::Isolate *' to 'Local<v8::Context>'
  KJV8_STACK_STR(diskPath, args[1], 128);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/node-capnp/capnp.cc:738:52: note: expanded from macro 'KJV8_STACK_STR'
    v8::Local<v8::String> v8str = handle->ToString(v8::Isolate::GetCurrent()); \
                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~
/Users/z/Library/Caches/node-gyp/15.10.0/include/node/v8.h:194:7: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'v8::Isolate *' to 'const v8::Local<v8::Context> &' for 1st argument
class Local {
      ^
/Users/z/Library/Caches/node-gyp/15.10.0/include/node/v8.h:194:7: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'v8::Isolate *' to 'v8::Local<v8::Context> &&' for 1st argument
/Users/z/Library/Caches/node-gyp/15.10.0/include/node/v8.h:198:13: note: candidate template ignored: could not match 'Local<type-parameter-0-0>' against 'v8::Isolate *'
  V8_INLINE Local(Local<S> that)
            ^
/Users/z/Library/Caches/node-gyp/15.10.0/include/node/v8.h:2857:22: note: passing argument to parameter 'context' here
      Local<Context> context) const;
                     ^
../src/node-capnp/capnp.cc:1097:41: error: no matching member function for call to 'Get'
        searchPath[i] = toKjString(arr->Get(i)->ToString(v8::Isolate::GetCurrent()));
                                   ~~~~~^~~
/Users/z/Library/Caches/node-gyp/15.10.0/include/node/v8.h:3763:43: note: candidate function not viable: requires 2 arguments, but 1 was provided
  V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                          ^
/Users/z/Library/Caches/node-gyp/15.10.0/include/node/v8.h:3766:43: note: candidate function not viable: requires 2 arguments, but 1 was provided
  V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                          ^
../src/node-capnp/capnp.cc:1102:49: warning: 'parseDiskFile' is deprecated: Use parseFromDirectory() instead. [-Wdeprecated-declarations]
    capnp::ParsedSchema schema = context.parser.parseDiskFile(
                                                ^
/usr/local/include/capnp/schema-parser.h:103:7: note: 'parseDiskFile' has been explicitly marked deprecated here
      CAPNP_DEPRECATED("Use parseFromDirectory() instead.");
      ^
/usr/local/include/capnp/common.h:63:26: note: expanded from macro 'CAPNP_DEPRECATED'
#define CAPNP_DEPRECATED KJ_DEPRECATED
                         ^
/usr/local/include/kj/common.h:207:20: note: expanded from macro 'KJ_DEPRECATED'
    __attribute__((deprecated(reason)))
                   ^
../src/node-capnp/capnp.cc:1126:18: error: no matching member function for call to 'Set'
      methodMap->Set(newSymbol(method.getProto().getName().cStr()),
      ~~~~~~~~~~~^~~
/Users/z/Library/Caches/node-gyp/15.10.0/include/node/v8.h:3716:37: note: candidate function not viable: requires 3 arguments, but 2 were provided
  V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
                                    ^
/Users/z/Library/Caches/node-gyp/15.10.0/include/node/v8.h:3719:37: note: candidate function not viable: requires 3 arguments, but 2 were provided
  V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,
                                    ^
../src/node-capnp/capnp.cc:1333:7: error: no viable conversion from 'v8::Isolate *' to 'Local<v8::Context>'
      KJV8_STACK_STR(text, js, 32);
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/node-capnp/capnp.cc:738:52: note: expanded from macro 'KJV8_STACK_STR'
    v8::Local<v8::String> v8str = handle->ToString(v8::Isolate::GetCurrent()); \
                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~
/Users/z/Library/Caches/node-gyp/15.10.0/include/node/v8.h:194:7: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'v8::Isolate *' to 'const v8::Local<v8::Context> &' for 1st argument
class Local {
      ^
/Users/z/Library/Caches/node-gyp/15.10.0/include/node/v8.h:194:7: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'v8::Isolate *' to 'v8::Local<v8::Context> &&' for 1st argument
/Users/z/Library/Caches/node-gyp/15.10.0/include/node/v8.h:198:13: note: candidate template ignored: could not match 'Local<type-parameter-0-0>' against 'v8::Isolate *'
  V8_INLINE Local(Local<S> that)
            ^
/Users/z/Library/Caches/node-gyp/15.10.0/include/node/v8.h:2857:22: note: passing argument to parameter 'context' here
      Local<Context> context) const;
                     ^
../src/node-capnp/capnp.cc:1348:7: error: no viable conversion from 'v8::Isolate *' to 'Local<v8::Context>'
      KJV8_STACK_STR(text, js, 32);
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/node-capnp/capnp.cc:738:52: note: expanded from macro 'KJV8_STACK_STR'
    v8::Local<v8::String> v8str = handle->ToString(v8::Isolate::GetCurrent()); \
                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~
/Users/z/Library/Caches/node-gyp/15.10.0/include/node/v8.h:194:7: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'v8::Isolate *' to 'const v8::Local<v8::Context> &' for 1st argument
class Local {
      ^
/Users/z/Library/Caches/node-gyp/15.10.0/include/node/v8.h:194:7: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'v8::Isolate *' to 'v8::Local<v8::Context> &&' for 1st argument
/Users/z/Library/Caches/node-gyp/15.10.0/include/node/v8.h:198:13: note: candidate template ignored: could not match 'Local<type-parameter-0-0>' against 'v8::Isolate *'
  V8_INLINE Local(Local<S> that)
            ^
/Users/z/Library/Caches/node-gyp/15.10.0/include/node/v8.h:2857:22: note: passing argument to parameter 'context' here
      Local<Context> context) const;
                     ^
../src/node-capnp/capnp.cc:1382:33: error: no viable conversion from 'v8::Isolate *' to 'Local<v8::Context>'
        auto str = js->ToString(v8::Isolate::GetCurrent());
                                ^~~~~~~~~~~~~~~~~~~~~~~~~
/Users/z/Library/Caches/node-gyp/15.10.0/include/node/v8.h:194:7: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'v8::Isolate *' to 'const v8::Local<v8::Context> &' for 1st argument
class Local {
      ^
/Users/z/Library/Caches/node-gyp/15.10.0/include/node/v8.h:194:7: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'v8::Isolate *' to 'v8::Local<v8::Context> &&' for 1st argument
/Users/z/Library/Caches/node-gyp/15.10.0/include/node/v8.h:198:13: note: candidate template ignored: could not match 'Local<type-parameter-0-0>' against 'v8::Isolate *'
  V8_INLINE Local(Local<S> that)
            ^
/Users/z/Library/Caches/node-gyp/15.10.0/include/node/v8.h:2857:22: note: passing argument to parameter 'context' here
      Local<Context> context) const;
                     ^
../src/node-capnp/capnp.cc:1403:39: error: no matching member function for call to 'Get'
              auto element = jsArray->Get(i);
                             ~~~~~~~~~^~~
/Users/z/Library/Caches/node-gyp/15.10.0/include/node/v8.h:3763:43: note: candidate function not viable: requires 2 arguments, but 1 was provided
  V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                          ^
/Users/z/Library/Caches/node-gyp/15.10.0/include/node/v8.h:3766:43: note: candidate function not viable: requires 2 arguments, but 1 was provided
  V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                          ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
1 warning and 20 errors generated.
make: *** [Release/obj.target/capnp/src/node-capnp/capnp.o] Error 1
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/Users/z/.asdf/installs/nodejs/15.10.0/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (node:events:378:20)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:290:12)
gyp ERR! System Darwin 20.3.0
gyp ERR! command "/Users/z/.asdf/installs/nodejs/15.10.0/bin/node" "/Users/z/.asdf/installs/nodejs/15.10.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/z/git/e2w/capnp/node_modules/capnp
gyp ERR! node -v v15.10.0
gyp ERR! node-gyp -v v7.1.2
gyp ERR! not ok 
Build failed
info Visit https://yarnpkg.com/en/docs/cli/add for documentation about this command.

I suspect the node version is the issue; I see the same error on node 15 on Archlinux. It's not surprising to me it doesn't work on node 15 yet.

I had to downgrade to Node 12 to get a successful install

Note that there is a node14 branch that should work with Node 14 (but not 15).