nwjs / nw-gyp

native addon build tool for node-webkit
MIT License
195 stars 46 forks source link

Issue installing serialport with node-dmx module #134

Open djipco opened 4 years ago

djipco commented 4 years ago

I am trying to install the dmx module for use with NW.js. This modules needs the serialport module. I followed the instructions in the NW.js documentation to compile native modules and it results in this error:

sprout:JavaScriptDMXTest jpcote$ npm install dmx --save

> @serialport/bindings@2.0.8 install /Users/jpcote/Desktop/JavaScriptDMXTest/node_modules/@serialport/bindings
> prebuild-install --tag-prefix @serialport/bindings@ || node-gyp rebuild

  CXX(target) Release/obj.target/bindings/src/serialport.o
../src/serialport.cpp:329:14: error: no matching member function for call to 'Set'
    results->Set(Nan::New<v8::String>("cts").ToLocalChecked(), Nan::New<v8::Boolean>(data->cts));
    ~~~~~~~~~^~~
/Users/jpcote/.nw-gyp/0.42.1/deps/v8/include/v8.h:3453:37: note: candidate function not viable: requires 3 arguments, but 2 were provided
  V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
                                    ^
/Users/jpcote/.nw-gyp/0.42.1/deps/v8/include/v8.h:3456: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/serialport.cpp:330:14: error: no matching member function for call to 'Set'
    results->Set(Nan::New<v8::String>("dsr").ToLocalChecked(), Nan::New<v8::Boolean>(data->dsr));
    ~~~~~~~~~^~~
/Users/jpcote/.nw-gyp/0.42.1/deps/v8/include/v8.h:3453:37: note: candidate function not viable: requires 3 arguments, but 2 were provided
  V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
                                    ^
/Users/jpcote/.nw-gyp/0.42.1/deps/v8/include/v8.h:3456: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/serialport.cpp:331:14: error: no matching member function for call to 'Set'
    results->Set(Nan::New<v8::String>("dcd").ToLocalChecked(), Nan::New<v8::Boolean>(data->dcd));
    ~~~~~~~~~^~~
/Users/jpcote/.nw-gyp/0.42.1/deps/v8/include/v8.h:3453:37: note: candidate function not viable: requires 3 arguments, but 2 were provided
  V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
                                    ^
/Users/jpcote/.nw-gyp/0.42.1/deps/v8/include/v8.h:3456: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/serialport.cpp:378:14: error: no matching member function for call to 'Set'
    results->Set(Nan::New<v8::String>("baudRate").ToLocalChecked(), Nan::New<v8::Integer>(data->baudRate));
    ~~~~~~~~~^~~
/Users/jpcote/.nw-gyp/0.42.1/deps/v8/include/v8.h:3453:37: note: candidate function not viable: requires 3 arguments, but 2 were provided
  V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
                                    ^
/Users/jpcote/.nw-gyp/0.42.1/deps/v8/include/v8.h:3456: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,
                                    ^
4 errors generated.

If I only install the serialport module I do not get an error. If I use the dmx module in Node, I do not get an error. The problem only appears when trying to install the module for NW.js. This is on macOS Catalina.

I have the latest versions of npm and nw-gyp installed. Ideas?

djipco commented 4 years ago

I just noticed that it does the same thing when I try to install the johnny-five module.

djipco commented 4 years ago

Same thing with the osc module which also depends on serialport.