Closed rexfm closed 9 years ago
It's a bit bad moment for it to break. I'll check on it this week.
If you like, you can tell what you tried to do with nan and what did you find out.
Checked up my node.js installation, I wouldn't bother to install v0.12.0 to replace my v0.10.25
It would probably start working if I manage to port it to use nan, right? That's what that library was meant for right..
Yes I believe using nan would make it forward-compatible with both io.js and node, at least according to what I've read
On Thu, Mar 12, 2015 at 11:27 AM, Henri Tuhola notifications@github.com wrote:
Checked up my node.js installation, I wouldn't bother to install v0.12.0 to replace my v0.10.25
It would probably start working if I manage to port it to use nan, right? That's what that library was meant for right..
— Reply to this email directly or view it on GitHub https://github.com/cheery/node-udev/issues/3#issuecomment-78557245.
Nan instructions are bit vague. It smashes on ::New, so I replaced those first.
https://github.com/cheery/node-udev/tree/nan
Probably there are still more things I need to do to get it to work.
Okay attempted install on 0.12 for your perusal. Thanks! npm install / node-gyp rebuild output:
$ node-gyp rebuild
gyp info it worked if it ends with ok
gyp info using node-gyp@1.0.2
gyp info using node@0.12.0 | linux | arm
child_process: customFds option is deprecated, use stdio instead.
gyp info spawn python
gyp info spawn args [
'/usr/local/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
'/etc/zome/zomenode_test/node_modules/node-udev-nan/build/config.gypi',
gyp info spawn args '-I',
gyp info spawn args
'/usr/local/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
gyp info spawn args '-I',
gyp info spawn args '/home/pi/.node-gyp/0.12.0/common.gypi',
gyp info spawn args '-Dlibrary=shared_library',
gyp info spawn args '-Dvisibility=default',
gyp info spawn args '-Dnode_root_dir=/home/pi/.node-gyp/0.12.0',
gyp info spawn args
'-Dmodule_root_dir=/etc/zome/zomenode_test/node_modules/node-udev-nan',
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' ]
make: Entering directory
'/etc/zome/zomenode_test/nodemodules/node-udev-nan/build'
CXX(target) Release/obj.target/udev/udev.o
../udev.cc:72:36: error: ‘Arguments’ does not name a type
../udev.cc:72:47: error: ISO C++ forbids declaration of ‘args’ with no
type [-fpermissive]
../udev.cc:89:38: error: ‘Arguments’ does not name a type
../udev.cc:89:49: error: ISO C++ forbids declaration of ‘args’ with no
type [-fpermissive]
../udev.cc: In static member function ‘static void
Monitor::Init(v8::Handlev8::Object)’:
../udev.cc:33:64: error: no matching function for call to
‘v8::FunctionTemplate::New(v8::Handlev8::Value (&)(const int&))’
../udev.cc:33:64: note: candidate is:
/home/pi/.node-gyp/0.12.0/deps/v8/include/v8.h:3455:34: note: static
v8::Localv8::FunctionTemplate
v8::FunctionTemplate::New(v8::Isolate, v8::FunctionCallback,
v8::Handlev8::Value, v8::Handlev8::Signature, int)
/home/pi/.node-gyp/0.12.0/deps/v8/include/v8.h:3455:34: note: no
known conversion for argument 1 from ‘v8::Handlev8::Value(const
int&)’ to ‘v8::Isolate’
../udev.cc:40:57: error: no matching function for call to
‘v8::Persistentv8::Function::New(v8::Localv8::Function)’
../udev.cc:40:57: note: candidate is:
/home/pi/.node-gyp/0.12.0/deps/v8/include/v8.h:5809:4: note: static T*
v8::PersistentBasemake
failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit
(/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:267:23)
gyp ERR! stack at ChildProcess.emit (events.js:110:17)
gyp ERR! stack at Process.ChildProcess._handle.onexit
(child_process.js:1067:12)
gyp ERR! System Linux 3.12.28+
gyp ERR! command "node"
"/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js"
"rebuild"
gyp ERR! cwd /etc/zome/zomenode_test/node_modules/node-udev-nan
gyp ERR! node -v v0.12.0
gyp ERR! node-gyp -v v1.0.2
gyp ERR! not ok
$
On Thu, Mar 12, 2015 at 11:59 AM, Henri Tuhola notifications@github.com wrote:
Nan instructions are bit vague. It smashes on ::New, so I replaced those first.
https://github.com/cheery/node-udev/tree/nan
Probably there are still more things I need to do to get it to work.
— Reply to this email directly or view it on GitHub https://github.com/cheery/node-udev/issues/3#issuecomment-78570125.
Ok. I pushed again, this time it should compile, but it's missing polling features. I'm going to figure out how to implement that.
Added in some more things provided by Nan, but not sure if that uv_poll -thing works now. Maybe I need to install node.js and try this out myself.
The demo works now. If you find bugs, then raise a new issue. Good luck!
I tried fixing it with https://github.com/rvagg/nan , not getting anywhere with it though
Here is the npm install errors: .../node-udev $ npm install
child_process: customFds option is deprecated, use stdio instead. make: Entering directory '.../node_modules/node-udev/build' CXX(target) Release/obj.target/udev/udev.o ../udev.cc: In function ‘void PushProperties(v8::Localv8::Object, udevdevice)’: ../udev.cc:19:22: error: ‘New’ is not a member of ‘v8::String’ ../udev.cc:19:41: error: ‘New’ is not a member of ‘v8::String’ ../udev.cc:21:22: error: ‘New’ is not a member of ‘v8::String’ ../udev.cc:21:46: error: too few arguments to function ‘v8::Handlev8::Primitive v8::Null(v8::Isolate_)’ /home/pi/.node-gyp/0.12.0/deps/v8/include/v8.h:306:28: note: declared here ../udev.cc: At global scope: ../udev.cc:26:41: error: expected class-name before ‘{’ token ../udev.cc:41:33: error: ‘uv_handle_t’ has not been declared ../udev.cc:48:33: error: ‘uv_poll_t’ has not been declared ../udev.cc:69:36: error: ‘Arguments’ does not name a type ../udev.cc:69:47: error: ISO C++ forbids declaration of ‘args’ with no type [-fpermissive] ../udev.cc:86:38: error: ‘Arguments’ does not name a type ../udev.cc:86:49: error: ISO C++ forbids declaration of ‘args’ with no type [-fpermissive] ../udev.cc:94:5: error: ‘uv_pollt’ does not name a type ../udev.cc: In static member function ‘static void Monitor::Init(v8::Handlev8::Object)’: ../udev.cc:32:64: error: no matching function for call to ‘v8::FunctionTemplate::New(v8::Handlev8::Value (&)(const int&))’ ../udev.cc:32:64: note: candidate is: /home/pi/.node-gyp/0.12.0/deps/v8/include/v8.h:3455:34: note: static v8::Localv8::FunctionTemplate v8::FunctionTemplate::New(v8::Isolate, v8::FunctionCallback, v8::Handlev8::Value, v8::Handlev8::Signature, int) /home/pi/.node-gyp/0.12.0/deps/v8/include/v8.h:3455:34: note: no known conversion for argument 1 from ‘v8::Handlev8::Value(const int&)’ to ‘v8::Isolate’ ../udev.cc:33:27: error: ‘NewSymbol’ is not a member of ‘v8::String’ ../udev.cc:35:39: error: ‘NewSymbol’ is not a member of ‘v8::String’ ../udev.cc:36:40: error: no matching function for call to ‘v8::FunctionTemplate::New(v8::Handlev8::Value (&)(const int&))’ ../udev.cc:36:40: note: candidate is: /home/pi/.node-gyp/0.12.0/deps/v8/include/v8.h:3455:34: note: static v8::Localv8::FunctionTemplate v8::FunctionTemplate::New(v8::Isolate, v8::FunctionCallback, v8::Handlev8::Value, v8::Handlev8::Signature, int) /home/pi/.node-gyp/0.12.0/deps/v8/include/v8.h:3455:34: note: no known conversion for argument 1 from ‘v8::Handlev8::Value(const int&)’ to ‘v8::Isolate’ ../udev.cc:37:88: error: no matching function for call to ‘v8::Persistentv8::Function::New(v8::Localv8::Function)’ ../udev.cc:37:88: note: candidate is: /home/pi/.node-gyp/0.12.0/deps/v8/include/v8.h:5809:4: note: static T* v8::PersistentBase::New(v8::Isolate , T_) [with T = v8::Function]
/home/pi/.node-gyp/0.12.0/deps/v8/include/v8.h:5809:4: note: candidate expects 2 arguments, 1 provided
../udev.cc:38:21: error: ‘NewSymbol’ is not a member of ‘v8::String’
../udev.cc: In static member function ‘static void Monitor::on_handleclose(int)’:
../udev.cc:42:51: error: request for member ‘data’ in ‘_ handle’, which is of non-class type ‘int’
../udev.cc:43:23: error: ‘class v8::Persistentv8::Object’ has no member named ‘Dispose’
/home/pi/.node-gyp/0.12.0/deps/v8/include/v8.h: In static member function ‘static void Monitor::on_handleevent(int, int, int)’:
/home/pi/.node-gyp/0.12.0/deps/v8/include/v8.h:816:13: error: ‘v8::HandleScope::HandleScope()’ is protected
../udev.cc:49:21: error: within this context
../udev.cc:50:51: error: request for member ‘data’ in ‘ handle’, which is of non-class type ‘int’
../udev.cc:51:28: error: ‘ObjectWrap’ has not been declared
../udev.cc:51:54: error: expected primary-expression before ‘>’ token
../udev.cc:54:41: error: no matching function for call to ‘v8::Object::New()’
../udev.cc:54:41: note: candidate is:
/home/pi/.node-gyp/0.12.0/deps/v8/include/v8.h:2388:24: note: static v8::Localv8::Object v8::Object::New(v8::Isolate)
/home/pi/.node-gyp/0.12.0/deps/v8/include/v8.h:2388:24: note: candidate expects 1 argument, 0 provided
../udev.cc:55:18: error: ‘NewSymbol’ is not a member of ‘v8::String’
../udev.cc:55:48: error: ‘New’ is not a member of ‘v8::String’
../udev.cc:59:44: error: base operand of ‘->’ has non-pointer type ‘v8::Persistentv8::Object’
../udev.cc:59:50: error: ‘NewSymbol’ is not a member of ‘v8::String’
../udev.cc:62:23: error: ‘NewSymbol’ is not a member of ‘v8::String’
../udev.cc:64:46: error: no matching function for call to ‘v8::Function::Call(v8::Persistentv8::Object&, int, v8::Localv8::Value [2])’
../udev.cc:64:46: note: candidate is:
/home/pi/.node-gyp/0.12.0/deps/v8/include/v8.h:2557:16: note: v8::Localv8::Value v8::Function::Call(v8::Handlev8::Value, int, v8::Handlev8::Value_)
/home/pi/.node-gyp/0.12.0/deps/v8/include/v8.h:2557:16: note: no known conversion for argument 1 from ‘v8::Persistentv8::Object’ to ‘v8::Handlev8::Value’
/home/pi/.node-gyp/0.12.0/deps/v8/include/v8.h: In static member function ‘static v8::Handlev8::Value Monitor::New(const int&)’:
/home/pi/.node-gyp/0.12.0/deps/v8/include/v8.h:816:13: error: ‘v8::HandleScope::HandleScope()’ is protected
../udev.cc:70:21: error: within this context
../udev.cc:71:9: error: ‘uv_poll_t’ was not declared in this scope
../udev.cc:71:20: error: ‘handle’ was not declared in this scope
../udev.cc:76:14: error: ‘class Monitor’ has no member named ‘poll_handle’
../udev.cc:76:41: error: expected type-specifier before ‘uv_poll_t’
../udev.cc:76:41: error: expected ‘;’ before ‘uv_poll_t’
../udev.cc:77:14: error: ‘class Monitor’ has no member named ‘Wrap’
../udev.cc:77:24: error: request for member ‘This’ in ‘args’, which is of non-class type ‘const int’
../udev.cc:80:54: error: request for member ‘This’ in ‘args’, which is of non-class type ‘const int’
../udev.cc:82:38: error: ‘uv_default_loop’ was not declared in this scope
../udev.cc:82:46: error: ‘class Monitor’ has no member named ‘poll_handle’
../udev.cc:82:66: error: ‘uv_poll_init’ was not declared in this scope
../udev.cc:83:28: error: ‘class Monitor’ has no member named ‘poll_handle’
../udev.cc:83:41: error: ‘UV_READABLE’ was not declared in this scope
../udev.cc:83:69: error: ‘uv_poll_start’ was not declared in this scope
../udev.cc:84:21: error: request for member ‘This’ in ‘args’, which is of non-class type ‘const int’
/home/pi/.node-gyp/0.12.0/deps/v8/include/v8.h: In static member function ‘static v8::Handlev8::Value Monitor::Close(const int&)’:
/home/pi/.node-gyp/0.12.0/deps/v8/include/v8.h:816:13: error: ‘v8::HandleScope::HandleScope()’ is protected
../udev.cc:87:21: error: within this context
../udev.cc:88:24: error: ‘ObjectWrap’ has not been declared
../udev.cc:88:50: error: expected primary-expression before ‘>’ token
../udev.cc:88:57: error: request for member ‘This’ in ‘args’, which is of non-class type ‘const int’
../udev.cc:89:27: error: ‘class Monitor’ has no member named ‘poll_handle’
../udev.cc:89:38: error: ‘uv_poll_stop’ was not declared in this scope
../udev.cc:90:19: error: ‘uv_handle_t’ was not declared in this scope
../udev.cc:90:31: error: expected primary-expression before ‘)’ token
../udev.cc:90:65: error: ‘uvclose’ was not declared in this scope
../udev.cc:92:22: error: ‘class v8::HandleScope’ has no member named ‘Close’
../udev.cc:92:38: error: too few arguments to function ‘v8::Handlev8::Primitive v8::Undefined(v8::Isolate)’
/home/pi/.node-gyp/0.12.0/deps/v8/include/v8.h:305:28: note: declared here
../udev.cc: At global scope:
../udev.cc:99:33: error: ‘Arguments’ does not name a type
../udev.cc:99:44: error: ISO C++ forbids declaration of ‘args’ with no type [-fpermissive]
/home/pi/.node-gyp/0.12.0/deps/v8/include/v8.h: In function ‘v8::Handlev8::Value List(const int&)’:
/home/pi/.node-gyp/0.12.0/deps/v8/include/v8.h:816:13: error: ‘v8::HandleScope::HandleScope()’ is protected
../udev.cc:100:17: error: within this context
../udev.cc:101:36: error: no matching function for call to ‘v8::Array::New()’
../udev.cc:101:36: note: candidate is:
/home/pi/.node-gyp/0.12.0/deps/v8/include/v8.h:2417:23: note: static v8::Localv8::Array v8::Array::New(v8::Isolate, int)
/home/pi/.node-gyp/0.12.0/deps/v8/include/v8.h:2417:23: note: candidate expects 2 arguments, 0 provided
../udev.cc:118:41: error: no matching function for call to ‘v8::Object::New()’
../udev.cc:118:41: note: candidate is:
/home/pi/.node-gyp/0.12.0/deps/v8/include/v8.h:2388:24: note: static v8::Localv8::Object v8::Object::New(v8::Isolate)
/home/pi/.node-gyp/0.12.0/deps/v8/include/v8.h:2388:24: note: candidate expects 1 argument, 0 provided
../udev.cc:120:18: error: ‘NewSymbol’ is not a member of ‘v8::String’
../udev.cc:120:48: error: ‘New’ is not a member of ‘v8::String’
../udev.cc:127:18: error: ‘class v8::HandleScope’ has no member named ‘Close’
../udev.cc: In function ‘void Init(v8::Handlev8::Object)’:
../udev.cc:133:24: error: ‘New’ is not a member of ‘v8::String’
../udev.cc:133:58: error: ‘ThrowException’ was not declared in this scope
../udev.cc:135:17: error: ‘NewSymbol’ is not a member of ‘v8::String’
../udev.cc:136:35: error: no matching function for call to ‘v8::FunctionTemplate::New(v8::Handlev8::Value (&)(const int&))’
../udev.cc:136:35: note: candidate is:
/home/pi/.node-gyp/0.12.0/deps/v8/include/v8.h:3455:34: note: static v8::Localv8::FunctionTemplate v8::FunctionTemplate::New(v8::Isolate, v8::FunctionCallback, v8::Handlev8::Value, v8::Handlev8::Signature, int)
/home/pi/.node-gyp/0.12.0/deps/v8/include/v8.h:3455:34: note: no known conversion for argument 1 from ‘v8::Handlev8::Value(const int&)’ to ‘v8::Isolate’
udev.target.mk:81: recipe for target 'Release/obj.target/udev/udev.o' failed
make: _\ [Release/obj.target/udev/udev.o] Error 1
make: Leaving directory '.../node_modules/node-udev/build'
gyp ERR! build error
gyp ERR! stack Error:
make
failed with exit code: 2 gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:267:23) gyp ERR! stack at ChildProcess.emit (events.js:110:17) gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:1067:12) gyp ERR! System Linux 3.12.28+ gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd .../node_modules/node-udev gyp ERR! node -v v0.12.0 gyp ERR! node-gyp -v v1.0.2 gyp ERR! not oknpm ERR! Linux 3.12.28+ npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" npm ERR! node v0.12.0 npm ERR! npm v2.5.1 npm ERR! code ELIFECYCLE npm ERR! udev@0.1.0 install:
node-gyp rebuild
npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the udev@0.1.0 install script 'node-gyp rebuild'. npm ERR! This is most likely a problem with the udev 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 their info via: npm ERR! npm owner ls udev npm ERR! There is likely additional logging output above.npm ERR! Please include the following file with any support request: npm ERR! .../node_modules/node-udev/npm-debug.log