-
Notifications
You must be signed in to change notification settings - Fork 290
Closed
Description
I maintain node-jdbc which depends on node-java. I was taking a look at Node 6 and ran into some trouble building node-java. nan.h had some void declarations.
> java@0.6.1 install /home/jozias/projects/node-java
> node-gyp rebuild
make: Entering directory '/home/jozias/projects/node-java/build'
CXX(target) Release/obj.target/nodejavabridge_bindings/src/java.o
In file included from ../src/java.h:9:0,
from ../src/java.cpp:1:
../node_modules/nan/nan.h:590:20: error: variable or field ‘AddGCEpilogueCallback’ declared void
v8::Isolate::GCEpilogueCallback callback
^
../node_modules/nan/nan.h:590:7: error: ‘GCEpilogueCallback’ is not a member of ‘v8::Isolate’
v8::Isolate::GCEpilogueCallback callback
^
../node_modules/nan/nan.h:591:18: error: expected primary-expression before ‘gc_type_filter’
, v8::GCType gc_type_filter = v8::kGCTypeAll) {
^
../node_modules/nan/nan.h:596:20: error: variable or field ‘RemoveGCEpilogueCallback’ declared void
v8::Isolate::GCEpilogueCallback callback) {
^
../node_modules/nan/nan.h:596:7: error: ‘GCEpilogueCallback’ is not a member of ‘v8::Isolate’
v8::Isolate::GCEpilogueCallback callback) {
^
../node_modules/nan/nan.h:601:20: error: variable or field ‘AddGCPrologueCallback’ declared void
v8::Isolate::GCPrologueCallback callback
^
../node_modules/nan/nan.h:601:7: error: ‘GCPrologueCallback’ is not a member of ‘v8::Isolate’
v8::Isolate::GCPrologueCallback callback
^
../node_modules/nan/nan.h:602:18: error: expected primary-expression before ‘gc_type_filter’
, v8::GCType gc_type_filter = v8::kGCTypeAll) {
^
../node_modules/nan/nan.h:607:20: error: variable or field ‘RemoveGCPrologueCallback’ declared void
v8::Isolate::GCPrologueCallback callback) {
^
../node_modules/nan/nan.h:607:7: error: ‘GCPrologueCallback’ is not a member of ‘v8::Isolate’
v8::Isolate::GCPrologueCallback callback) {
^
nodejavabridge_bindings.target.mk:99: recipe for target 'Release/obj.target/nodejavabridge_bindings/src/java.o' failed
make: *** [Release/obj.target/nodejavabridge_bindings/src/java.o] Error 1
make: Leaving directory '/home/jozias/projects/node-java/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276:23)
gyp ERR! stack at emitTwo (events.js:106:13)
gyp ERR! stack at ChildProcess.emit (events.js:191:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:204:12)
gyp ERR! System Linux 4.5.2-1-ARCH
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/jozias/projects/node-java
gyp ERR! node -v v6.0.0
gyp ERR! node-gyp -v v3.3.1
gyp ERR! not ok
npm ERR! Linux 4.5.2-1-ARCH
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "i"
npm ERR! node v6.0.0
npm ERR! npm v3.8.7
npm ERR! code ELIFECYCLE
npm ERR! java@0.6.1 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the java@0.6.1 install script 'node-gyp rebuild'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the java package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-gyp rebuild
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs java
npm ERR! Or if that isn't available, you can get their info via:
npm ERR! npm owner ls java
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR! /home/jozias/projects/node-java/npm-debug.log
I forked node-java, updated nan to the latest version (2.3.1) and was able to build. However, when running npm test I got the following output (in a gist, it's long) https://gist.github.com/CraZySacX/28b61e294574b5af167295fdf0a2e16b
Looks like v8 deprecates v8::ObjectTemplate::Set(). I'm not sure why this is causing the stacktrace or test failures. Did a bit of digging and it looks like javaObject.cpp is the place to fix this, but I know next to nothing about the v8 API. Willing to submit a PR if someone points me in the right direction.
Metadata
Metadata
Assignees
Labels
No labels