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

Cannot build 3.7.0 for Electron 4.x #147

Closed
gabmontes opened this issue May 30, 2019 · 2 comments
Closed

Cannot build 3.7.0 for Electron 4.x #147

gabmontes opened this issue May 30, 2019 · 2 comments

Comments

@gabmontes
Copy link

Version 3.6.2 builds ok but 3.7.0 fails to build for Electron 4.0.4 and up.

This is the same command that electron-rebuild executes internally and fails:

$ node-gyp rebuild --arch=x64 --dist-url=https://atom.io/download/electron --build-from-source --target=4.0.4
gyp info it worked if it ends with ok
gyp info using [email protected]
gyp info using [email protected] | darwin | x64
gyp info spawn /usr/local/bin/python2
gyp info spawn args [ './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   './node_modules/secp256k1/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   './node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '~/.node-gyp/4.0.4/include/node/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=~/.node-gyp/4.0.4',
gyp info spawn args   '-Dnode_gyp_dir=./node_modules/node-gyp',
gyp info spawn args   '-Dnode_lib_file=~/.node-gyp/4.0.4/<(target_arch)/node.lib',
gyp info spawn args   '-Dmodule_root_dir=./node_modules/secp256k1',
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 make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
  CXX(target) Release/obj.target/secp256k1/src/addon.o
  CXX(target) Release/obj.target/secp256k1/src/privatekey.o
../src/privatekey.cc:36:3: error: no matching member function for call to 'BooleanValue'
  UPDATE_COMPRESSED_VALUE(compressed, info[1], 1, 0);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/util.h:15:25: note: expanded from macro 'UPDATE_COMPRESSED_VALUE'
    compressed = value->BooleanValue(info.GetIsolate()) ? v_true : v_false; \
                 ~~~~~~~^~~~~~~~~~~~
~/.node-gyp/4.0.4/include/node/v8.h:2580:37: note: candidate function not viable: no known conversion from 'v8::Isolate *' to 'Local<v8::Context>' for 1st argument
  V8_WARN_UNUSED_RESULT Maybe<bool> BooleanValue(Local<Context> context) const;
                                    ^
~/.node-gyp/4.0.4/include/node/v8.h:2588:47: note: candidate function not viable: requires 0 arguments, but 1 was provided
  V8_DEPRECATE_SOON("Use maybe version", bool BooleanValue() const);
                                              ^
../src/privatekey.cc:73:3: warning: ignoring return value of function declared with 'warn_unused_result' attribute [-Wunused-result]
  secp256k1_ec_privkey_negate(secp256k1ctx, &private_key[0]);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning and 1 error generated.
make: *** [Release/obj.target/secp256k1/src/privatekey.o] Error 1
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (./node_modules/node-gyp/lib/build.js:262:23)
gyp ERR! stack     at ChildProcess.emit (events.js:189:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:248:12)
gyp ERR! System Darwin 18.6.0
gyp ERR! command "~/.nvm/versions/node/v10.15.3/bin/node" "./node_modules/.bin/node-gyp" "rebuild" "--arch=x64" "--dist-url=https://atom.io/download/electron" "--build-from-source" "--target=4.0.4"
gyp ERR! cwd ./node_modules/secp256k1
gyp ERR! node -v v10.15.3
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok 

It looks like some of the changes in 3.7.0 are not compatible with the customized version of Node Electron 4 is shipping. In summary:

  • It compiles for Electron 4.0.0-4.0.3
  • It fails for Electron 4.0.4-4.2.2

Note: The issue is not present when building for Electron 5.x.

@fanatid
Copy link
Member

fanatid commented May 31, 2019

@gabmontes thanks for issue. I published [email protected] with fix.

@gabmontes
Copy link
Author

@fanatid thanks so much!

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

No branches or pull requests

2 participants