0rpc/zerorpc-node

Can't build v0.9.6 on Mac OSX

mgoldsborough opened this issue · 4 comments

The recent version bump, v0.9.6, is broken on Mac OSX. v0.9.5 works fine.

This is my node env:

$ npm -v
3.3.6
$ node -v
v0.10.40

The stack:

$ npm install
npm WARN engine msgpack@1.0.2: wanted: {"node":">=0.12.7"} (current: {"node":"0.10.40","npm":"3.3.6"})

> msgpack@1.0.2 install /Users/me/Code/fo/fo-vacon/node_modules/zerorpc/node_modules/msgpack
> node-gyp rebuild

  CC(target) Release/obj.target/libmsgpack/deps/msgpack/objectc.o
  CC(target) Release/obj.target/libmsgpack/deps/msgpack/unpack.o
  CC(target) Release/obj.target/libmsgpack/deps/msgpack/vrefbuffer.o
  CC(target) Release/obj.target/libmsgpack/deps/msgpack/zone.o
  CC(target) Release/obj.target/libmsgpack/deps/msgpack/version.o
  LIBTOOL-STATIC Release/msgpack.a
  CXX(target) Release/obj.target/msgpackBinding/src/msgpack.o
../src/msgpack.cc:126:67: error: no viable conversion from 'Handle<v8::Value>' to 'v8::Local<v8::Value>'
        mo->via.str.size = static_cast<uint32_t>(Nan::DecodeBytes(v8obj, Nan::Encoding::UTF8));
                                                                  ^~~~~
/Users/me/.node-gyp/0.10.40/deps/v8/include/v8.h:269:26: note: candidate constructor
      (the implicit copy constructor) not viable: cannot bind base class object of type 'Handle<v8::Value>' to
      derived class reference 'const v8::Local<v8::Value> &' for 1st argument
template <class T> class Local : public Handle<T> {
                         ^
/Users/me/.node-gyp/0.10.40/deps/v8/include/v8.h:269:26: note: candidate constructor
      (the implicit move constructor) not viable: cannot bind base class object of type 'Handle<v8::Value>' to
      derived class reference 'v8::Local<v8::Value> &&' for 1st argument
template <class T> class Local : public Handle<T> {
                         ^
/Users/me/.node-gyp/0.10.40/deps/v8/include/v8.h:272:29: note: candidate template ignored: could not match
      'Local' against 'Handle'
  template <class S> inline Local(Local<S> that)
                            ^
/Users/me/.node-gyp/0.10.40/deps/v8/include/v8.h:281:29: note: candidate template ignored: could not match
      'S *' against 'Handle<v8::Value>'
  template <class S> inline Local(S* that) : Handle<T>(that) { }
                            ^
../../nan/nan.h:1774:26: note: passing argument to parameter 'val' here
    v8::Local<v8::Value> val, enum Encoding encoding = BINARY) {
                         ^
../src/msgpack.cc:129:68: error: no viable conversion from 'Handle<v8::Value>' to 'v8::Local<v8::Value>'
        Nan::DecodeWrite((char*)mo->via.str.ptr, mo->via.str.size, v8obj, Nan::Encoding::UTF8);
                                                                   ^~~~~
/Users/me/.node-gyp/0.10.40/deps/v8/include/v8.h:269:26: note: candidate constructor
      (the implicit copy constructor) not viable: cannot bind base class object of type 'Handle<v8::Value>' to
      derived class reference 'const v8::Local<v8::Value> &' for 1st argument
template <class T> class Local : public Handle<T> {
                         ^
/Users/me/.node-gyp/0.10.40/deps/v8/include/v8.h:269:26: note: candidate constructor
      (the implicit move constructor) not viable: cannot bind base class object of type 'Handle<v8::Value>' to
      derived class reference 'v8::Local<v8::Value> &&' for 1st argument
template <class T> class Local : public Handle<T> {
                         ^
/Users/me/.node-gyp/0.10.40/deps/v8/include/v8.h:272:29: note: candidate template ignored: could not match
      'Local' against 'Handle'
  template <class S> inline Local(Local<S> that)
                            ^
/Users/me/.node-gyp/0.10.40/deps/v8/include/v8.h:281:29: note: candidate template ignored: could not match
      'S *' against 'Handle<v8::Value>'
  template <class S> inline Local(S* that) : Handle<T>(that) { }
                            ^
../../nan/nan.h:1793:26: note: passing argument to parameter 'val' here
  , v8::Local<v8::Value> val
                         ^
../src/msgpack.cc:136:67: error: no viable conversion from 'Handle<v8::Value>' to 'v8::Local<v8::Value>'
        mo->via.str.size = static_cast<uint32_t>(Nan::DecodeBytes(result, Nan::Encoding::UTF8));
                                                                  ^~~~~~
/Users/me/.node-gyp/0.10.40/deps/v8/include/v8.h:269:26: note: candidate constructor
      (the implicit copy constructor) not viable: cannot bind base class object of type 'Handle<v8::Value>' to
      derived class reference 'const v8::Local<v8::Value> &' for 1st argument
template <class T> class Local : public Handle<T> {
                         ^
/Users/me/.node-gyp/0.10.40/deps/v8/include/v8.h:269:26: note: candidate constructor
      (the implicit move constructor) not viable: cannot bind base class object of type 'Handle<v8::Value>' to
      derived class reference 'v8::Local<v8::Value> &&' for 1st argument
template <class T> class Local : public Handle<T> {
                         ^
/Users/me/.node-gyp/0.10.40/deps/v8/include/v8.h:272:29: note: candidate template ignored: could not match
      'Local' against 'Handle'
  template <class S> inline Local(Local<S> that)
                            ^
/Users/me/.node-gyp/0.10.40/deps/v8/include/v8.h:281:29: note: candidate template ignored: could not match
      'S *' against 'Handle<v8::Value>'
  template <class S> inline Local(S* that) : Handle<T>(that) { }
                            ^
../../nan/nan.h:1774:26: note: passing argument to parameter 'val' here
    v8::Local<v8::Value> val, enum Encoding encoding = BINARY) {
                         ^
../src/msgpack.cc:139:68: error: no viable conversion from 'Handle<v8::Value>' to 'v8::Local<v8::Value>'
        Nan::DecodeWrite((char*)mo->via.str.ptr, mo->via.str.size, result, Nan::Encoding::UTF8);
                                                                   ^~~~~~
/Users/me/.node-gyp/0.10.40/deps/v8/include/v8.h:269:26: note: candidate constructor
      (the implicit copy constructor) not viable: cannot bind base class object of type 'Handle<v8::Value>' to
      derived class reference 'const v8::Local<v8::Value> &' for 1st argument
template <class T> class Local : public Handle<T> {
                         ^
/Users/me/.node-gyp/0.10.40/deps/v8/include/v8.h:269:26: note: candidate constructor
      (the implicit move constructor) not viable: cannot bind base class object of type 'Handle<v8::Value>' to
      derived class reference 'v8::Local<v8::Value> &&' for 1st argument
template <class T> class Local : public Handle<T> {
                         ^
/Users/me/.node-gyp/0.10.40/deps/v8/include/v8.h:272:29: note: candidate template ignored: could not match
      'Local' against 'Handle'
  template <class S> inline Local(Local<S> that)
                            ^
/Users/me/.node-gyp/0.10.40/deps/v8/include/v8.h:281:29: note: candidate template ignored: could not match
      'S *' against 'Handle<v8::Value>'
  template <class S> inline Local(S* that) : Handle<T>(that) { }
                            ^
../../nan/nan.h:1793:26: note: passing argument to parameter 'val' here
  , v8::Local<v8::Value> val
                         ^
4 errors generated.
make: *** [Release/obj.target/msgpackBinding/src/msgpack.o] Error 1
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:270:23)
gyp ERR! stack     at ChildProcess.emit (events.js:98:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:820:12)
gyp ERR! System Darwin 14.5.0
gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/me/Code/fo/fo-vacon/node_modules/zerorpc/node_modules/msgpack
gyp ERR! node -v v0.10.40
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok 
- msgpack@0.2.6 node_modules/msgpack
- nan@1.9.0 node_modules/nan
npm ERR! Darwin 14.5.0
npm ERR! argv "node" "/usr/local/bin/npm" "install"
npm ERR! node v0.10.40
npm ERR! npm  v3.3.6
npm ERR! code ELIFECYCLE

npm ERR! msgpack@1.0.2 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the msgpack@1.0.2 install script 'node-gyp rebuild'.
npm ERR! This is most likely a problem with the msgpack 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 msgpack
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/me/Code/fo/fo-vacon/npm-debug.log

Node.js v0.10.x is in maintenance only support mode and I don’t think msgpack-node plans to support node versions older than 0.12.x, which is why this won’t build on any system running 0.10.  Node-0.10 should be in maintenance, receiving only severe bug fixes and security patches for the next 12 months, given that you may wish to look into updating to at least version 0.12, which ought to fix your issue.

Thanks @zachizi. Looks like I'll bit the bullet and try making the jump to v4.

@mgoldsborough I recommend it! the ES6 features are totally worth it.