TooTallNate / ref

Turn Buffer instances into "pointers"
http://tootallnate.github.com/ref
453 stars 141 forks source link

build error on osx with IO.JS #32

Closed arnkorty closed 9 years ago

arnkorty commented 9 years ago
Environment

OSX yosemite iojs 3.0.0 npm 2.13.3 xcode installed develop tools

npm install -g ref
|
> ref@1.0.2 install /usr/local/lib/node_modules/ref
> node-gyp rebuild

2015-08-05 22:47:39.919 xcodebuild[6488:18344] [MT] PluginLoading: Required plug-in compatibility UUID E969541F-E6F9-4D25-8158-72DC3545A6C6 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/OMQuickHelp.xcplugin' not present in DVTPlugInCompatibilityUUIDs
  CXX(target) Release/obj.target/binding/src/binding.o
In file included from ../src/binding.cc:8:
../node_modules/nan/nan.h:261:25: error: redefinition of '_NanEnsureLocal'
NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Local<T> val) {
                        ^
../node_modules/nan/nan.h:256:25: note: previous definition is here
NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Handle<T> val) {
                        ^
../node_modules/nan/nan.h:661:13: error: no member named 'smalloc' in namespace 'node'
    , node::smalloc::FreeCallback callback
      ~~~~~~^
../node_modules/nan/nan.h:672:12: error: no matching function for call to 'New'
    return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
           ^~~~~~~~~~~~~~~~~
/Users/arnkorty/.node-gyp/3.0.0/include/node/node_buffer.h:35:40: note: candidate function not viable: no known
      conversion from 'uint32_t' (aka 'unsigned int') to 'enum encoding' for 3rd argument
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
/Users/arnkorty/.node-gyp/3.0.0/include/node/node_buffer.h:47:40: note: candidate function not viable: 2nd argument
      ('const char *') would lose const qualifier
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
/Users/arnkorty/.node-gyp/3.0.0/include/node/node_buffer.h:32:40: note: candidate function not viable: requires 2
      arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate, size_t length);
                                       ^
/Users/arnkorty/.node-gyp/3.0.0/include/node/node_buffer.h:40:40: note: candidate function not viable: requires 5
      arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
In file included from ../src/binding.cc:8:
../node_modules/nan/nan.h:676:12: error: no viable conversion from 'v8::MaybeLocal<v8::Object>' to
      'v8::Local<v8::Object>'
    return node::Buffer::New(v8::Isolate::GetCurrent(), size);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/arnkorty/.node-gyp/3.0.0/include/node/v8.h:210:7: note: candidate constructor (the implicit copy constructor) not
      viable: no known conversion from 'v8::MaybeLocal<v8::Object>' to 'const v8::Local<v8::Object> &' for 1st argument
class Local {
      ^
/Users/arnkorty/.node-gyp/3.0.0/include/node/v8.h:210:7: note: candidate constructor (the implicit move constructor) not
      viable: no known conversion from 'v8::MaybeLocal<v8::Object>' to 'v8::Local<v8::Object> &&' for 1st argument
class Local {
      ^
/Users/arnkorty/.node-gyp/3.0.0/include/node/v8.h:214:13: note: candidate template ignored: could not match 'Local'
      against 'MaybeLocal'
  V8_INLINE Local(Local<S> that)
            ^
/Users/arnkorty/.node-gyp/3.0.0/include/node/v8.h:327:13: note: candidate template ignored: could not match 'S *'
      against 'v8::MaybeLocal<v8::Object>'
  V8_INLINE Local(S* that)
            ^
In file included from ../src/binding.cc:8:
../node_modules/nan/nan.h:683:26: error: no member named 'Use' in namespace 'node::Buffer'
    return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size);
           ~~~~~~~~~~~~~~^
../src/binding.cc:154:23: error: no matching function for call to 'NanNewBufferHandle'
  Local<Object> buf = NanNewBufferHandle(ptr, buf_size, unref_null_cb, user_data);
                      ^~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:658:36: note: candidate function not viable: no known conversion from 'void (char *, void *)'
      to 'int' for 3rd argument
  NAN_INLINE v8::Local<v8::Object> NanNewBufferHandle (
                                   ^
../node_modules/nan/nan.h:668:36: note: candidate function not viable: requires 2 arguments, but 4 were provided
  NAN_INLINE v8::Local<v8::Object> NanNewBufferHandle (
                                   ^
../node_modules/nan/nan.h:675:36: note: candidate function not viable: requires single argument 'size', but 4 arguments
      were provided
  NAN_INLINE v8::Local<v8::Object> NanNewBufferHandle (uint32_t size) {
                                   ^
../src/binding.cc:271:27: error: no matching function for call to 'NanNewBufferHandle'
  Local<Object> rtn_buf = NanNewBufferHandle(val, size, read_pointer_cb, user_data);
                          ^~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:658:36: note: candidate function not viable: no known conversion from 'void (char *, void *)'
      to 'int' for 3rd argument
  NAN_INLINE v8::Local<v8::Object> NanNewBufferHandle (
                                   ^
../node_modules/nan/nan.h:668:36: note: candidate function not viable: requires 2 arguments, but 4 were provided
  NAN_INLINE v8::Local<v8::Object> NanNewBufferHandle (
                                   ^
../node_modules/nan/nan.h:675:36: note: candidate function not viable: requires single argument 'size', but 4 arguments
      were provided
  NAN_INLINE v8::Local<v8::Object> NanNewBufferHandle (uint32_t size) {
                                   ^
../src/binding.cc:518:23: error: no matching function for call to 'NanNewBufferHandle'
  Local<Object> rtn = NanNewBufferHandle(ptr, size, read_pointer_cb, NULL);
                      ^~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:658:36: note: candidate function not viable: no known conversion from 'void (char *, void *)'
      to 'int' for 3rd argument
  NAN_INLINE v8::Local<v8::Object> NanNewBufferHandle (
                                   ^
../node_modules/nan/nan.h:668:36: note: candidate function not viable: requires 2 arguments, but 4 were provided
  NAN_INLINE v8::Local<v8::Object> NanNewBufferHandle (
                                   ^
../node_modules/nan/nan.h:675:36: note: candidate function not viable: requires single argument 'size', but 4 arguments
      were provided
  NAN_INLINE v8::Local<v8::Object> NanNewBufferHandle (uint32_t size) {
                                   ^
../src/binding.cc:565:23: error: no matching function for call to 'NanNewBufferHandle'
  Local<Object> rtn = NanNewBufferHandle(ptr, size, read_pointer_cb, NULL);
                      ^~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:658:36: note: candidate function not viable: no known conversion from 'void (char *, void *)'
      to 'int' for 3rd argument
  NAN_INLINE v8::Local<v8::Object> NanNewBufferHandle (
                                   ^
../node_modules/nan/nan.h:668:36: note: candidate function not viable: requires 2 arguments, but 4 were provided
  NAN_INLINE v8::Local<v8::Object> NanNewBufferHandle (
                                   ^
../node_modules/nan/nan.h:675:36: note: candidate function not viable: requires single argument 'size', but 4 arguments
      were provided
  NAN_INLINE v8::Local<v8::Object> NanNewBufferHandle (uint32_t size) {
                                   ^
In file included from ../src/binding.cc:6:
In file included from /Users/arnkorty/.node-gyp/3.0.0/include/node/node.h:42:
/Users/arnkorty/.node-gyp/3.0.0/include/node/v8.h:221:5: error: assigning to 'v8::Primitive *volatile' from incompatible
      type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/arnkorty/.node-gyp/3.0.0/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:414:12: note: in instantiation of function template specialization
      'v8::Local<v8::Primitive>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(v8::Undefined(v8::Isolate::GetCurrent())));
           ^
../node_modules/nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../src/binding.cc:6:
In file included from /Users/arnkorty/.node-gyp/3.0.0/include/node/node.h:42:
/Users/arnkorty/.node-gyp/3.0.0/include/node/v8.h:221:5: error: assigning to 'v8::Boolean *volatile' from incompatible
      type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/arnkorty/.node-gyp/3.0.0/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:424:12: note: in instantiation of function template specialization
      'v8::Local<v8::Boolean>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(v8::True(v8::Isolate::GetCurrent())));
           ^
../node_modules/nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../src/binding.cc:6:
In file included from /Users/arnkorty/.node-gyp/3.0.0/include/node/node.h:42:
/Users/arnkorty/.node-gyp/3.0.0/include/node/v8.h:221:5: error: assigning to 'v8::Function *volatile' from incompatible
      type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/arnkorty/.node-gyp/3.0.0/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:1514:12: note: in instantiation of function template specialization
      'v8::Local<v8::Function>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(handle)->Get(kCallbackIndex)
           ^
../node_modules/nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../src/binding.cc:6:
In file included from /Users/arnkorty/.node-gyp/3.0.0/include/node/node.h:42:
/Users/arnkorty/.node-gyp/3.0.0/include/node/v8.h:221:5: error: assigning to 'v8::Object *volatile' from incompatible
      type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/arnkorty/.node-gyp/3.0.0/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:1632:12: note: in instantiation of function template specialization
      'v8::Local<v8::Object>::Local<v8::Value>' requested here
    return NanEscapeScope(handle->Get(NanNew(key)).As<v8::Object>());
           ^
../node_modules/nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
13 errors generated.
make: *** [Release/obj.target/binding/src/binding.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:269:23)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Darwin 14.4.0
gyp ERR! command "/usr/local/bin/iojs" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /usr/local/lib/node_modules/ref
gyp ERR! node -v v3.0.0
gyp ERR! node-gyp -v v2.0.2
gyp ERR! not ok
npm ERR! Darwin 14.4.0
npm ERR! argv "/usr/local/bin/iojs" "/usr/local/bin/npm" "install" "-g" "ref"
npm ERR! node v3.0.0
npm ERR! npm  v2.13.3
npm ERR! code ELIFECYCLE

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

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/arnkorty/npm-debug.log
MariusRumpf commented 9 years ago

Can confirm that for local install with same system settings iojs 3.0.0 npm 2.13.3 osx yosemite

iojs 2.5.0 is working fine.

TooTallNate commented 9 years ago

We need to upgrade to nan v2 in order to get iojs v3.0 support.

unbornchikken commented 9 years ago

Try this, pls: https://github.com/TooTallNate/ref/pull/33