New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

node-gyp rebuild / error: redefinition of '_NanEnsureLocal' #288

Closed
cfrancomme opened this Issue Nov 4, 2015 · 3 comments

Comments

Projects
None yet
3 participants
@cfrancomme
Copy link

cfrancomme commented Nov 4, 2015

Versions : "node":"4.2.1","npm":"3.3.9", bufferutil@1.1.0 This is happening straight after getting actual version from github

Anyone have had this issue with recent modules ?

bufferutil@1.1.0 install /Users/x/Documents/myworkspace/gekko/node_modules/bufferutil
node-gyp rebuild

CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
In file included from ../src/bufferutil.cc:16:
../../nan/nan.h:261:25: error: redefinition of '_NanEnsureLocal'
NAN_INLINE v8::Local NanEnsureLocal(v8::Local val) {
^
../../nan/nan.h:256:25: note: previous definition is here
NAN_INLINE v8::Local NanEnsureLocal(v8::Handle val) {
^
../../nan/nan.h:661:13: error: no member named 'smalloc' in namespace 'node'
, node::smalloc::FreeCallback callback
~~~~~~^
../../nan/nan.h:672:12: error: no matching function for call to 'New'
return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
^~~~~~~~~~~~~~~~~
/Users/x/.node-gyp/4.2.1/include/node/node_buffer.h:31:40: note: candidate function not viable: no known conversion from 'uint32_t' (aka 'unsigned int') to
'enum encoding' for 3rd argument
NODE_EXTERN v8::MaybeLocalv8::Object New(v8::Isolate* isolate,
^
/Users/x/.node-gyp/4.2.1/include/node/node_buffer.h:43:40: note: candidate function not viable: 2nd argument ('const char ') would lose const qualifier
NODE_EXTERN v8::MaybeLocalv8::Object New(v8::Isolate
isolate,
^
/Users/x/.node-gyp/4.2.1/include/node/node_buffer.h:28:40: note: candidate function not viable: requires 2 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocalv8::Object New(v8::Isolate* isolate, size_t length);
^
/Users/x/.node-gyp/4.2.1/include/node/node_buffer.h:36:40: note: candidate function not viable: requires 5 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocalv8::Object New(v8::Isolate* isolate,
^
In file included from ../src/bufferutil.cc:16:
../../nan/nan.h:676:12: error: no viable conversion from 'v8::MaybeLocalv8::Object' to 'v8::Localv8::Object'
return node::Buffer::New(v8::Isolate::GetCurrent(), size);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/x/.node-gyp/4.2.1/include/node/v8.h:210:7: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from
'v8::MaybeLocalv8::Object' to 'const v8::Localv8::Object &' for 1st argument
class Local {
^
/Users/x/.node-gyp/4.2.1/include/node/v8.h:210:7: note: candidate constructor (the implicit move constructor) not viable: no known conversion from
'v8::MaybeLocalv8::Object' to 'v8::Localv8::Object &&' for 1st argument
class Local {
^
/Users/x/.node-gyp/4.2.1/include/node/v8.h:214:13: note: candidate template ignored: could not match 'Local' against 'MaybeLocal'
V8_INLINE Local(Local that)
^
/Users/x/.node-gyp/4.2.1/include/node/v8.h:326:13: note: candidate template ignored: could not match 'S ' against 'v8::MaybeLocalv8::Object'
V8_INLINE Local(S
that)
^
In file included from ../src/bufferutil.cc:16:
../../nan/nan.h:683:26: error: no member named 'Use' in namespace 'node::Buffer'
return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size);
~~~~~~~~~~~~~~^
In file included from ../src/bufferutil.cc:7:
/Users/x/.node-gyp/4.2.1/include/node/v8.h:221:5: error: assigning to 'v8::Primitive *volatile' from incompatible type 'v8::Value *'
TYPE_CHECK(T, S);
^~~~~~~~~~~~~~~~
/Users/x/.node-gyp/4.2.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
(static_cast<T volatile
>(0)) = static_cast<S
>(0);
^ ~~~~~~~~~~~~~~~~~~
../../nan/nan.h:414:12: note: in instantiation of function template specialization 'v8::Localv8::Primitive::Localv8::Value' requested here
return NanEscapeScope(NanNew(v8::Undefined(v8::Isolate::GetCurrent())));
^
../../nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'

define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))

                         ^

In file included from ../src/bufferutil.cc:7:
/Users/x/.node-gyp/4.2.1/include/node/v8.h:221:5: error: assigning to 'v8::Boolean volatile' from incompatible type 'v8::Value *'
TYPE_CHECK(T, S);
^~~~~~~~~~~~~~~~
/Users/x/.node-gyp/4.2.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
*(static_cast<T
volatile_>(0)) = static_cast<S_>(0);
^ ~~~~~~~~~~~~~~~~~~
../../nan/nan.h:424:12: note: in instantiation of function template specialization 'v8::Localv8::Boolean::Localv8::Value' requested here
return NanEscapeScope(NanNew(v8::True(v8::Isolate::GetCurrent())));
^
../../nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'

define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))

                         ^

In file included from ../src/bufferutil.cc:7:
/Users/x/.node-gyp/4.2.1/include/node/v8.h:221:5: error: assigning to 'v8::Function volatile' from incompatible type 'v8::Value *'
TYPE_CHECK(T, S);
^~~~~~~~~~~~~~~~
/Users/x/.node-gyp/4.2.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
*(static_cast<T
volatile_>(0)) = static_cast<S_>(0);
^ ~~~~~~~~~~~~~~~~~~
../../nan/nan.h:1514:12: note: in instantiation of function template specialization 'v8::Localv8::Function::Localv8::Value' requested here
return NanEscapeScope(NanNew(handle)->Get(kCallbackIndex)
^
../../nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'

define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))

                         ^

In file included from ../src/bufferutil.cc:7:
/Users/x/.node-gyp/4.2.1/include/node/v8.h:221:5: error: assigning to 'v8::Object volatile' from incompatible type 'v8::Value *'
TYPE_CHECK(T, S);
^~~~~~~~~~~~~~~~
/Users/x/.node-gyp/4.2.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
*(static_cast<T
volatile_>(0)) = static_cast<S_>(0);
^ ~~~~~~~~~~~~~~~~~~
../../nan/nan.h:1632:12: note: in instantiation of function template specialization 'v8::Localv8::Object::Localv8::Value' requested here
return NanEscapeScope(handle->Get(NanNew(key)).Asv8::Object());
^
../../nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'

define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))

                         ^

9 errors generated.
make: *** [Release/obj.target/bufferutil/src/bufferutil.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 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 15.0.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/x/Documents/myworkspace/gekko/node_modules/bufferutil
gyp ERR! node -v v4.2.1
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok
npm WARN install:bufferutil@1.1.0 bufferutil@1.1.0 install: node-gyp rebuild
npm WARN install:bufferutil@1.1.0 Exit status 1

@joernroeder

This comment has been minimized.

Copy link

joernroeder commented Feb 5, 2016

same here on node v5.5.0

@askmike

This comment has been minimized.

Copy link
Owner

askmike commented Jun 2, 2016

bufferutil is not a as a dependency of gekko anymore. I assume you had this error while npm installing. If you still have this issue, please comment here.

@askmike askmike closed this Jun 2, 2016

@askmike

This comment has been minimized.

Copy link
Owner

askmike commented Jun 5, 2016

Upon further research I figured out this is caused by an outdated ws (version 0.7.1) being required by the mexbt dependency. I removed the dependency for now to remove any confusion.

If you want to run gekko on mexbt, please install it manually like so:

npm install mexbt
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment