Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Does not work on Node 12 #10

Closed
thith opened this issue May 26, 2019 · 1 comment
Closed

Does not work on Node 12 #10

thith opened this issue May 26, 2019 · 1 comment

Comments

@thith
Copy link

thith commented May 26, 2019

This package does not build on Node 12 and always fallback to JS implementation. This is due to changes in V8 that makes many other native modules fail to build. secp256k1-node package already fixed cryptocoinjs/secp256k1-node#143

Build log:

keccak@1.4.0 rebuild /Users/thi/Documents/GitHub/icetea/node_modules/keccak
> node-gyp rebuild

  CXX(target) Release/obj.target/keccak/src/addon.o
../src/addon.cc:37:47: error: too few arguments to function call, single argument 'context' was not specified
    unsigned int rate = info[0]->IntegerValue();
                        ~~~~~~~~~~~~~~~~~~~~~ ^
/Users/thi/.node-gyp/12.3.1/include/node/v8.h:2565:3: note: 'IntegerValue' declared here
  V8_WARN_UNUSED_RESULT Maybe<int64_t> IntegerValue(
  ^
/Users/thi/.node-gyp/12.3.1/include/node/v8config.h:347:31: note: expanded from macro 'V8_WARN_UNUSED_RESULT'
#define V8_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
                              ^
../src/addon.cc:38:51: error: too few arguments to function call, single argument 'context' was not specified
    unsigned int capacity = info[1]->IntegerValue();
                            ~~~~~~~~~~~~~~~~~~~~~ ^
/Users/thi/.node-gyp/12.3.1/include/node/v8.h:2565:3: note: 'IntegerValue' declared here
  V8_WARN_UNUSED_RESULT Maybe<int64_t> IntegerValue(
  ^
/Users/thi/.node-gyp/12.3.1/include/node/v8config.h:347:31: note: expanded from macro 'V8_WARN_UNUSED_RESULT'
#define V8_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
                              ^
../src/addon.cc:56:48: error: too few arguments to function call, single argument 'context' was not specified
    unsigned char bits = info[0]->IntegerValue();
                         ~~~~~~~~~~~~~~~~~~~~~ ^
/Users/thi/.node-gyp/12.3.1/include/node/v8.h:2565:3: note: 'IntegerValue' declared here
  V8_WARN_UNUSED_RESULT Maybe<int64_t> IntegerValue(
  ^
/Users/thi/.node-gyp/12.3.1/include/node/v8config.h:347:31: note: expanded from macro 'V8_WARN_UNUSED_RESULT'
#define V8_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
                              ^
../src/addon.cc:64:43: error: too few arguments to function call, single argument 'context' was not specified
    size_t length = info[0]->IntegerValue();
                    ~~~~~~~~~~~~~~~~~~~~~ ^
/Users/thi/.node-gyp/12.3.1/include/node/v8.h:2565:3: note: 'IntegerValue' declared here
  V8_WARN_UNUSED_RESULT Maybe<int64_t> IntegerValue(
  ^
/Users/thi/.node-gyp/12.3.1/include/node/v8config.h:347:31: note: expanded from macro 'V8_WARN_UNUSED_RESULT'
#define V8_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
                              ^
../src/addon.cc:75:73: error: no matching member function for call to 'ToObject'
    KeccakWrapper* to = Nan::ObjectWrap::Unwrap<KeccakWrapper>(info[0]->ToObject());
                                                               ~~~~~~~~~^~~~~~~~
/Users/thi/.node-gyp/12.3.1/include/node/v8.h:2532:44: note: candidate function not viable: requires single argument 'context', but no
      arguments were provided
  V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
                                           ^
/Users/thi/.node-gyp/12.3.1/include/node/v8.h:2546:35: note: candidate function not viable: requires single argument 'isolate', but no
      arguments were provided
                    Local<Object> ToObject(Isolate* isolate) const);
                                  ^
5 errors generated.
make: *** [Release/obj.target/keccak/src/addon.o] Error 1
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/Users/thi/.nvm/versions/node/v12.3.1/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:262:23)
gyp ERR! stack     at ChildProcess.emit (events.js:200:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)
gyp ERR! System Darwin 18.5.0
gyp ERR! command "/Users/thi/.nvm/versions/node/v12.3.1/bin/node" "/Users/thi/.nvm/versions/node/v12.3.1/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/thi/Documents/GitHub/icetea/node_modules/keccak
gyp ERR! node -v v12.3.1
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok 
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! keccak@1.4.0 rebuild: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the keccak@1.4.0 rebuild script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm WARN Local package.json exists, but node_modules missing, did you mean to install?

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/thi/.npm/_logs/2019-05-26T08_05_15_984Z-debug.log
Keccak bindings compilation fail. Pure JS implementation will be used.
@fanatid
Copy link
Member

fanatid commented Dec 1, 2019

Should be fixed with #13

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants