I can reproduce this in 16.04 and 14.04. This appears to be related to https://github.com/nodejs/node-gyp/issues/809 but I cannot fixed it after trying different iterations of possible fixes.
# npm install
> bufferutil@1.1.0 install /root/terminal-slack/node_modules/bufferutil
> node-gyp rebuild
make: Entering directory '/root/terminal-slack/node_modules/bufferutil/build'
CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
In file included from ../../nan/nan.h:82:0,
from ../src/bufferutil.cc:16:
../../nan/nan_new.h: In function ‘v8::Local<T> NanIntern::To(v8::Handle<v8::Integer>) [with T = v8::Int32; v8::Handle<v8::Integer> = v8::Local<v8::Integer>]’:
../../nan/nan_new.h:34:64: warning: ‘v8::Local<v8::Int32> v8::Value::ToInt32() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
To<v8::Int32>(v8::Handle<v8::Integer> i) { return i->ToInt32(); }
^
In file included from ../src/bufferutil.cc:7:0:
/root/.node-gyp/6.11.3/include/node/v8.h:8214:14: note: declared here
Local<Int32> Value::ToInt32() const {
^
In file included from ../../nan/nan.h:82:0,
from ../src/bufferutil.cc:16:
../../nan/nan_new.h: In function ‘v8::Local<T> NanIntern::To(v8::Handle<v8::Integer>) [with T = v8::Uint32; v8::Handle<v8::Integer> = v8::Local<v8::Integer>]’:
../../nan/nan_new.h:39:65: warning: ‘v8::Local<v8::Uint32> v8::Value::ToUint32() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
To<v8::Uint32>(v8::Handle<v8::Integer> i) { return i->ToUint32(); }
^
In file included from ../src/bufferutil.cc:7:0:
/root/.node-gyp/6.11.3/include/node/v8.h:8208:15: note: declared here
Local<Uint32> Value::ToUint32() const {
^
In file included from ../../nan/nan_new.h:189:0,
from ../../nan/nan.h:82,
from ../src/bufferutil.cc:16:
../../nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8::BooleanObject>::return_t NanIntern::Factory<v8::BooleanObject>::New(bool)’:
../../nan/nan_implementation_12_inl.h:49:38: warning: ‘static v8::Local<v8::Value> v8::BooleanObject::New(bool)’ is deprecated: Pass an isolate [-Wdeprecated-declarations]
return v8::BooleanObject::New(value).As<v8::BooleanObject>();
^
In file included from /root/.node-gyp/6.11.3/include/node/v8.h:25:0,
from ../src/bufferutil.cc:7:
/root/.node-gyp/6.11.3/include/node/v8.h:4009:56: note: declared here
V8_DEPRECATED("Pass an isolate", static Local<Value> New(bool value));
^
/root/.node-gyp/6.11.3/include/node/v8config.h:333:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^
In file included from ../../nan/nan_new.h:189:0,
from ../../nan/nan.h:82,
from ../src/bufferutil.cc:16:
../../nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8::Script>::return_t NanIntern::Factory<v8::Script>::New(v8::Local<v8::String>)’:
../../nan/nan_implementation_12_inl.h:166:69: warning: ‘static v8::Local<v8::Script> v8::ScriptCompiler::Compile(v8::Isolate*, v8::ScriptCompiler::Source*, v8::ScriptCompiler::CompileOptions)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
return v8::ScriptCompiler::Compile(v8::Isolate::GetCurrent(), &src);
^
In file included from /root/.node-gyp/6.11.3/include/node/v8.h:25:0,
from ../src/bufferutil.cc:7:
/root/.node-gyp/6.11.3/include/node/v8.h:1354:21: note: declared here
Local<Script> Compile(Isolate* isolate, Source* source,
^
/root/.node-gyp/6.11.3/include/node/v8config.h:333:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^
In file included from ../../nan/nan_new.h:189:0,
from ../../nan/nan.h:82,
from ../src/bufferutil.cc:16:
../../nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8::Script>::return_t NanIntern::Factory<v8::Script>::New(v8::Local<v8::String>, const v8::ScriptOrigin&)’:
../../nan/nan_implementation_12_inl.h:173:69: warning: ‘static v8::Local<v8::Script> v8::ScriptCompiler::Compile(v8::Isolate*, v8::ScriptCompiler::Source*, v8::ScriptCompiler::CompileOptions)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
return v8::ScriptCompiler::Compile(v8::Isolate::GetCurrent(), &src);
^
In file included from /root/.node-gyp/6.11.3/include/node/v8.h:25:0,
from ../src/bufferutil.cc:7:
/root/.node-gyp/6.11.3/include/node/v8.h:1354:21: note: declared here
Local<Script> Compile(Isolate* isolate, Source* source,
^
/root/.node-gyp/6.11.3/include/node/v8config.h:333:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^
In file included from ../../nan/nan_new.h:189:0,
from ../../nan/nan.h:82,
from ../src/bufferutil.cc:16:
../../nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8::String>::return_t NanIntern::Factory<v8::String>::New(const uint8_t*, int)’:
../../nan/nan_implementation_12_inl.h:206:42: warning: ‘static v8::Local<v8::String> v8::String::NewFromOneByte(v8::Isolate*, const uint8_t*, v8::String::NewStringType, int)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
v8::String::kNormalString, length);
^
In file included from /root/.node-gyp/6.11.3/include/node/v8.h:25:0,
from ../src/bufferutil.cc:7:
/root/.node-gyp/6.11.3/include/node/v8.h:2334:21: note: declared here
Local<String> NewFromOneByte(Isolate* isolate, const uint8_t* data,
^
/root/.node-gyp/6.11.3/include/node/v8config.h:333:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^
In file included from ../../nan/nan_new.h:189:0,
from ../../nan/nan.h:82,
from ../src/bufferutil.cc:16:
../../nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8::String>::return_t NanIntern::Factory<v8::String>::New(v8::String::ExternalStringResource*)’:
../../nan/nan_implementation_12_inl.h:217:66: warning: ‘static v8::Local<v8::String> v8::String::NewExternal(v8::Isolate*, v8::String::ExternalStringResource*)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
return v8::String::NewExternal(v8::Isolate::GetCurrent(), value);
^
In file included from /root/.node-gyp/6.11.3/include/node/v8.h:25:0,
from ../src/bufferutil.cc:7:
/root/.node-gyp/6.11.3/include/node/v8.h:2372:38: note: declared here
Local<String> NewExternal(
^
/root/.node-gyp/6.11.3/include/node/v8config.h:333:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^
In file included from ../../nan/nan_new.h:189:0,
from ../../nan/nan.h:82,
from ../src/bufferutil.cc:16:
../../nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8::UnboundScript>::return_t NanIntern::Factory<v8::UnboundScript>::New(v8::Local<v8::String>)’:
../../nan/nan_implementation_12_inl.h:237:30: warning: ‘static v8::Local<v8::UnboundScript> v8::ScriptCompiler::CompileUnbound(v8::Isolate*, v8::ScriptCompiler::Source*, v8::ScriptCompiler::CompileOptions)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
return v8::ScriptCompiler::CompileUnbound(v8::Isolate::GetCurrent(), &src);
^
In file included from /root/.node-gyp/6.11.3/include/node/v8.h:25:0,
from ../src/bufferutil.cc:7:
/root/.node-gyp/6.11.3/include/node/v8.h:1334:45: note: declared here
Local<UnboundScript> CompileUnbound(
^
/root/.node-gyp/6.11.3/include/node/v8config.h:333:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^
In file included from ../../nan/nan_new.h:189:0,
from ../../nan/nan.h:82,
from ../src/bufferutil.cc:16:
../../nan/nan_implementation_12_inl.h:237:76: warning: ‘static v8::Local<v8::UnboundScript> v8::ScriptCompiler::CompileUnbound(v8::Isolate*, v8::ScriptCompiler::Source*, v8::ScriptCompiler::CompileOptions)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
return v8::ScriptCompiler::CompileUnbound(v8::Isolate::GetCurrent(), &src);
^
In file included from /root/.node-gyp/6.11.3/include/node/v8.h:25:0,
from ../src/bufferutil.cc:7:
/root/.node-gyp/6.11.3/include/node/v8.h:1334:45: note: declared here
Local<UnboundScript> CompileUnbound(
^
/root/.node-gyp/6.11.3/include/node/v8config.h:333:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^
In file included from ../../nan/nan_new.h:189:0,
from ../../nan/nan.h:82,
from ../src/bufferutil.cc:16:
../../nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8::UnboundScript>::return_t NanIntern::Factory<v8::UnboundScript>::New(v8::Local<v8::String>, const v8::ScriptOrigin&)’:
../../nan/nan_implementation_12_inl.h:244:30: warning: ‘static v8::Local<v8::UnboundScript> v8::ScriptCompiler::CompileUnbound(v8::Isolate*, v8::ScriptCompiler::Source*, v8::ScriptCompiler::CompileOptions)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
return v8::ScriptCompiler::CompileUnbound(v8::Isolate::GetCurrent(), &src);
^
In file included from /root/.node-gyp/6.11.3/include/node/v8.h:25:0,
from ../src/bufferutil.cc:7:
/root/.node-gyp/6.11.3/include/node/v8.h:1334:45: note: declared here
Local<UnboundScript> CompileUnbound(
^
/root/.node-gyp/6.11.3/include/node/v8config.h:333:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^
In file included from ../../nan/nan_new.h:189:0,
from ../../nan/nan.h:82,
from ../src/bufferutil.cc:16:
../../nan/nan_implementation_12_inl.h:244:76: warning: ‘static v8::Local<v8::UnboundScript> v8::ScriptCompiler::CompileUnbound(v8::Isolate*, v8::ScriptCompiler::Source*, v8::ScriptCompiler::CompileOptions)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
return v8::ScriptCompiler::CompileUnbound(v8::Isolate::GetCurrent(), &src);
^
In file included from /root/.node-gyp/6.11.3/include/node/v8.h:25:0,
from ../src/bufferutil.cc:7:
/root/.node-gyp/6.11.3/include/node/v8.h:1334:45: note: declared here
Local<UnboundScript> CompileUnbound(
^
/root/.node-gyp/6.11.3/include/node/v8config.h:333:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^
In file included from ../src/bufferutil.cc:16:0:
../../nan/nan.h: At global scope:
../../nan/nan.h:261:25: error: redefinition of ‘template<class T> v8::Local<T> _NanEnsureLocal(v8::Local<T>)’
NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Local<T> val) {
^
../../nan/nan.h:256:25: note: ‘template<class T> v8::Local<T> _NanEnsureLocal(v8::Handle<T>)’ previously declared here
NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Handle<T> val) {
^
../../nan/nan.h: In function ‘bool NanIdleNotification(int)’:
../../nan/nan.h:289:71: warning: ‘bool v8::Isolate::IdleNotification(int)’ is deprecated: use IdleNotificationDeadline() [-Wdeprecated-declarations]
return v8::Isolate::GetCurrent()->IdleNotification(idle_time_in_ms);
^
In file included from /root/.node-gyp/6.11.3/include/node/v8.h:25:0,
from ../src/bufferutil.cc:7:
/root/.node-gyp/6.11.3/include/node/v8.h:6116:22: note: declared here
bool IdleNotification(int idle_time_in_ms));
^
/root/.node-gyp/6.11.3/include/node/v8config.h:333:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^
In file included from ../src/bufferutil.cc:16:0:
../../nan/nan.h: At global scope:
../../nan/nan.h:473:20: error: variable or field ‘NanAddGCEpilogueCallback’ declared void
v8::Isolate::GCEpilogueCallback callback
^
../../nan/nan.h:473:7: error: ‘GCEpilogueCallback’ is not a member of ‘v8::Isolate’
v8::Isolate::GCEpilogueCallback callback
^
../../nan/nan.h:474:18: error: expected primary-expression before ‘gc_type_filter’
, v8::GCType gc_type_filter = v8::kGCTypeAll) {
^
../../nan/nan.h:479:20: error: variable or field ‘NanRemoveGCEpilogueCallback’ declared void
v8::Isolate::GCEpilogueCallback callback) {
^
../../nan/nan.h:479:7: error: ‘GCEpilogueCallback’ is not a member of ‘v8::Isolate’
v8::Isolate::GCEpilogueCallback callback) {
^
../../nan/nan.h:484:20: error: variable or field ‘NanAddGCPrologueCallback’ declared void
v8::Isolate::GCPrologueCallback callback
^
../../nan/nan.h:484:7: error: ‘GCPrologueCallback’ is not a member of ‘v8::Isolate’
v8::Isolate::GCPrologueCallback callback
^
../../nan/nan.h:485:18: error: expected primary-expression before ‘gc_type_filter’
, v8::GCType gc_type_filter = v8::kGCTypeAll) {
^
../../nan/nan.h:490:20: error: variable or field ‘NanRemoveGCPrologueCallback’ declared void
v8::Isolate::GCPrologueCallback callback) {
^
../../nan/nan.h:490:7: error: ‘GCPrologueCallback’ is not a member of ‘v8::Isolate’
v8::Isolate::GCPrologueCallback callback) {
^
../../nan/nan.h:661:13: error: ‘node::smalloc’ has not been declared
, node::smalloc::FreeCallback callback
^
../../nan/nan.h:661:35: error: expected ‘,’ or ‘...’ before ‘callback’
, node::smalloc::FreeCallback callback
^
../../nan/nan.h: In function ‘v8::Local<v8::Object> NanNewBufferHandle(char*, size_t, int)’:
../../nan/nan.h:665:50: error: ‘callback’ was not declared in this scope
v8::Isolate::GetCurrent(), data, length, callback, hint);
^
../../nan/nan.h:665:60: error: ‘hint’ was not declared in this scope
v8::Isolate::GetCurrent(), data, length, callback, hint);
^
../../nan/nan.h: In function ‘v8::Local<v8::Object> NanNewBufferHandle(const char*, uint32_t)’:
../../nan/nan.h:672:67: error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive]
return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
^
In file included from ../src/bufferutil.cc:10:0:
/root/.node-gyp/6.11.3/include/node/node_buffer.h:46:40: note: initializing argument 2 of ‘v8::MaybeLocal<v8::Object> node::Buffer::New(v8::Isolate*, char*, size_t)’
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
^
In file included from ../src/bufferutil.cc:16:0:
../../nan/nan.h:672:29: error: could not convert ‘node::Buffer::New(v8::Isolate::GetCurrent(), ((char*)data), ((size_t)size))’ from ‘v8::MaybeLocal<v8::Object>’ to ‘v8::Local<v8::Object>’
return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
^
../../nan/nan.h: In function ‘v8::Local<v8::Object> NanNewBufferHandle(uint32_t)’:
../../nan/nan.h:676:29: error: could not convert ‘node::Buffer::New(v8::Isolate::GetCurrent(), ((size_t)size))’ from ‘v8::MaybeLocal<v8::Object>’ to ‘v8::Local<v8::Object>’
return node::Buffer::New(v8::Isolate::GetCurrent(), size);
^
../../nan/nan.h: In function ‘v8::Local<v8::Object> NanBufferUse(char*, uint32_t)’:
../../nan/nan.h:683:12: error: ‘Use’ is not a member of ‘node::Buffer’
return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size);
^
../../nan/nan.h: In function ‘v8::Local<v8::Script> NanCompileScript(v8::Local<v8::String>, const v8::ScriptOrigin&)’:
../../nan/nan.h:710:74: warning: ‘static v8::Local<v8::Script> v8::ScriptCompiler::Compile(v8::Isolate*, v8::ScriptCompiler::Source*, v8::ScriptCompiler::CompileOptions)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
return v8::ScriptCompiler::Compile(v8::Isolate::GetCurrent(), &source);
^
In file included from /root/.node-gyp/6.11.3/include/node/v8.h:25:0,
from ../src/bufferutil.cc:7:
/root/.node-gyp/6.11.3/include/node/v8.h:1354:21: note: declared here
Local<Script> Compile(Isolate* isolate, Source* source,
^
/root/.node-gyp/6.11.3/include/node/v8config.h:333:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^
In file included from ../src/bufferutil.cc:16:0:
../../nan/nan.h: In function ‘v8::Local<v8::Script> NanCompileScript(v8::Local<v8::String>)’:
../../nan/nan.h:717:74: warning: ‘static v8::Local<v8::Script> v8::ScriptCompiler::Compile(v8::Isolate*, v8::ScriptCompiler::Source*, v8::ScriptCompiler::CompileOptions)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
return v8::ScriptCompiler::Compile(v8::Isolate::GetCurrent(), &source);
^
In file included from /root/.node-gyp/6.11.3/include/node/v8.h:25:0,
from ../src/bufferutil.cc:7:
/root/.node-gyp/6.11.3/include/node/v8.h:1354:21: note: declared here
Local<Script> Compile(Isolate* isolate, Source* source,
^
/root/.node-gyp/6.11.3/include/node/v8config.h:333:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^
../src/bufferutil.cc: In static member function ‘static void BufferUtil::Initialize(v8::Handle<v8::Object>)’:
../src/bufferutil.cc:30:52: error: call of overloaded ‘NODE_SET_METHOD(v8::Local<v8::FunctionTemplate>&, const char [7], void (&)(const v8::FunctionCallbackInfo<v8::Value>&))’ is ambiguous
NODE_SET_METHOD(t, "unmask", BufferUtil::Unmask);
^
In file included from ../src/bufferutil.cc:8:0:
/root/.node-gyp/6.11.3/include/node/node.h:246:13: note: candidate: void node::NODE_SET_METHOD(v8::Local<v8::Template>, const char*, v8::FunctionCallback)
inline void NODE_SET_METHOD(v8::Local<v8::Template> recv,
^
/root/.node-gyp/6.11.3/include/node/node.h:259:13: note: candidate: void node::NODE_SET_METHOD(v8::Local<v8::Object>, const char*, v8::FunctionCallback)
inline void NODE_SET_METHOD(v8::Local<v8::Object> recv,
^
../src/bufferutil.cc:31:48: error: call of overloaded ‘NODE_SET_METHOD(v8::Local<v8::FunctionTemplate>&, const char [5], void (&)(const v8::FunctionCallbackInfo<v8::Value>&))’ is ambiguous
NODE_SET_METHOD(t, "mask", BufferUtil::Mask);
^
In file included from ../src/bufferutil.cc:8:0:
/root/.node-gyp/6.11.3/include/node/node.h:246:13: note: candidate: void node::NODE_SET_METHOD(v8::Local<v8::Template>, const char*, v8::FunctionCallback)
inline void NODE_SET_METHOD(v8::Local<v8::Template> recv,
^
/root/.node-gyp/6.11.3/include/node/node.h:259:13: note: candidate: void node::NODE_SET_METHOD(v8::Local<v8::Object>, const char*, v8::FunctionCallback)
inline void NODE_SET_METHOD(v8::Local<v8::Object> recv,
^
../src/bufferutil.cc:32:50: error: call of overloaded ‘NODE_SET_METHOD(v8::Local<v8::FunctionTemplate>&, const char [6], void (&)(const v8::FunctionCallbackInfo<v8::Value>&))’ is ambiguous
NODE_SET_METHOD(t, "merge", BufferUtil::Merge);
^
In file included from ../src/bufferutil.cc:8:0:
/root/.node-gyp/6.11.3/include/node/node.h:246:13: note: candidate: void node::NODE_SET_METHOD(v8::Local<v8::Template>, const char*, v8::FunctionCallback)
inline void NODE_SET_METHOD(v8::Local<v8::Template> recv,
^
/root/.node-gyp/6.11.3/include/node/node.h:259:13: note: candidate: void node::NODE_SET_METHOD(v8::Local<v8::Object>, const char*, v8::FunctionCallback)
inline void NODE_SET_METHOD(v8::Local<v8::Object> recv,
^
bufferutil.target.mk:96: recipe for target 'Release/obj.target/bufferutil/src/bufferutil.o' failed
make: *** [Release/obj.target/bufferutil/src/bufferutil.o] Error 1
make: Leaving directory '/root/terminal-slack/node_modules/bufferutil/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276:23)
gyp ERR! stack at emitTwo (events.js:106:13)
gyp ERR! stack at ChildProcess.emit (events.js:191:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:219:12)
gyp ERR! System Linux 3.13.0-37-generic
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /root/terminal-slack/node_modules/bufferutil
gyp ERR! node -v v6.11.3
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok
> utf-8-validate@1.1.0 install /root/terminal-slack/node_modules/utf-8-validate
> node-gyp rebuild
make: Entering directory '/root/terminal-slack/node_modules/utf-8-validate/build'
CXX(target) Release/obj.target/validation/src/validation.o
In file included from ../../nan/nan.h:82:0,
from ../src/validation.cc:15:
../../nan/nan_new.h: In function ‘v8::Local<T> NanIntern::To(v8::Handle<v8::Integer>) [with T = v8::Int32; v8::Handle<v8::Integer> = v8::Local<v8::Integer>]’:
../../nan/nan_new.h:34:64: warning: ‘v8::Local<v8::Int32> v8::Value::ToInt32() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
To<v8::Int32>(v8::Handle<v8::Integer> i) { return i->ToInt32(); }
^
In file included from ../src/validation.cc:7:0:
/root/.node-gyp/6.11.3/include/node/v8.h:8214:14: note: declared here
Local<Int32> Value::ToInt32() const {
^
In file included from ../../nan/nan.h:82:0,
from ../src/validation.cc:15:
../../nan/nan_new.h: In function ‘v8::Local<T> NanIntern::To(v8::Handle<v8::Integer>) [with T = v8::Uint32; v8::Handle<v8::Integer> = v8::Local<v8::Integer>]’:
../../nan/nan_new.h:39:65: warning: ‘v8::Local<v8::Uint32> v8::Value::ToUint32() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
To<v8::Uint32>(v8::Handle<v8::Integer> i) { return i->ToUint32(); }
^
In file included from ../src/validation.cc:7:0:
/root/.node-gyp/6.11.3/include/node/v8.h:8208:15: note: declared here
Local<Uint32> Value::ToUint32() const {
^
In file included from ../../nan/nan_new.h:189:0,
from ../../nan/nan.h:82,
from ../src/validation.cc:15:
../../nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8::BooleanObject>::return_t NanIntern::Factory<v8::BooleanObject>::New(bool)’:
../../nan/nan_implementation_12_inl.h:49:38: warning: ‘static v8::Local<v8::Value> v8::BooleanObject::New(bool)’ is deprecated: Pass an isolate [-Wdeprecated-declarations]
return v8::BooleanObject::New(value).As<v8::BooleanObject>();
^
In file included from /root/.node-gyp/6.11.3/include/node/v8.h:25:0,
from ../src/validation.cc:7:
/root/.node-gyp/6.11.3/include/node/v8.h:4009:56: note: declared here
V8_DEPRECATED("Pass an isolate", static Local<Value> New(bool value));
^
/root/.node-gyp/6.11.3/include/node/v8config.h:333:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^
In file included from ../../nan/nan_new.h:189:0,
from ../../nan/nan.h:82,
from ../src/validation.cc:15:
../../nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8::Script>::return_t NanIntern::Factory<v8::Script>::New(v8::Local<v8::String>)’:
../../nan/nan_implementation_12_inl.h:166:69: warning: ‘static v8::Local<v8::Script> v8::ScriptCompiler::Compile(v8::Isolate*, v8::ScriptCompiler::Source*, v8::ScriptCompiler::CompileOptions)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
return v8::ScriptCompiler::Compile(v8::Isolate::GetCurrent(), &src);
^
In file included from /root/.node-gyp/6.11.3/include/node/v8.h:25:0,
from ../src/validation.cc:7:
/root/.node-gyp/6.11.3/include/node/v8.h:1354:21: note: declared here
Local<Script> Compile(Isolate* isolate, Source* source,
^
/root/.node-gyp/6.11.3/include/node/v8config.h:333:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^
In file included from ../../nan/nan_new.h:189:0,
from ../../nan/nan.h:82,
from ../src/validation.cc:15:
../../nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8::Script>::return_t NanIntern::Factory<v8::Script>::New(v8::Local<v8::String>, const v8::ScriptOrigin&)’:
../../nan/nan_implementation_12_inl.h:173:69: warning: ‘static v8::Local<v8::Script> v8::ScriptCompiler::Compile(v8::Isolate*, v8::ScriptCompiler::Source*, v8::ScriptCompiler::CompileOptions)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
return v8::ScriptCompiler::Compile(v8::Isolate::GetCurrent(), &src);
^
In file included from /root/.node-gyp/6.11.3/include/node/v8.h:25:0,
from ../src/validation.cc:7:
/root/.node-gyp/6.11.3/include/node/v8.h:1354:21: note: declared here
Local<Script> Compile(Isolate* isolate, Source* source,
^
/root/.node-gyp/6.11.3/include/node/v8config.h:333:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^
In file included from ../../nan/nan_new.h:189:0,
from ../../nan/nan.h:82,
from ../src/validation.cc:15:
../../nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8::String>::return_t NanIntern::Factory<v8::String>::New(const uint8_t*, int)’:
../../nan/nan_implementation_12_inl.h:206:42: warning: ‘static v8::Local<v8::String> v8::String::NewFromOneByte(v8::Isolate*, const uint8_t*, v8::String::NewStringType, int)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
v8::String::kNormalString, length);
^
In file included from /root/.node-gyp/6.11.3/include/node/v8.h:25:0,
from ../src/validation.cc:7:
/root/.node-gyp/6.11.3/include/node/v8.h:2334:21: note: declared here
Local<String> NewFromOneByte(Isolate* isolate, const uint8_t* data,
^
/root/.node-gyp/6.11.3/include/node/v8config.h:333:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^
In file included from ../../nan/nan_new.h:189:0,
from ../../nan/nan.h:82,
from ../src/validation.cc:15:
../../nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8::String>::return_t NanIntern::Factory<v8::String>::New(v8::String::ExternalStringResource*)’:
../../nan/nan_implementation_12_inl.h:217:66: warning: ‘static v8::Local<v8::String> v8::String::NewExternal(v8::Isolate*, v8::String::ExternalStringResource*)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
return v8::String::NewExternal(v8::Isolate::GetCurrent(), value);
^
In file included from /root/.node-gyp/6.11.3/include/node/v8.h:25:0,
from ../src/validation.cc:7:
/root/.node-gyp/6.11.3/include/node/v8.h:2372:38: note: declared here
Local<String> NewExternal(
^
/root/.node-gyp/6.11.3/include/node/v8config.h:333:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^
In file included from ../../nan/nan_new.h:189:0,
from ../../nan/nan.h:82,
from ../src/validation.cc:15:
../../nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8::UnboundScript>::return_t NanIntern::Factory<v8::UnboundScript>::New(v8::Local<v8::String>)’:
../../nan/nan_implementation_12_inl.h:237:30: warning: ‘static v8::Local<v8::UnboundScript> v8::ScriptCompiler::CompileUnbound(v8::Isolate*, v8::ScriptCompiler::Source*, v8::ScriptCompiler::CompileOptions)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
return v8::ScriptCompiler::CompileUnbound(v8::Isolate::GetCurrent(), &src);
^
In file included from /root/.node-gyp/6.11.3/include/node/v8.h:25:0,
from ../src/validation.cc:7:
/root/.node-gyp/6.11.3/include/node/v8.h:1334:45: note: declared here
Local<UnboundScript> CompileUnbound(
^
/root/.node-gyp/6.11.3/include/node/v8config.h:333:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^
In file included from ../../nan/nan_new.h:189:0,
from ../../nan/nan.h:82,
from ../src/validation.cc:15:
../../nan/nan_implementation_12_inl.h:237:76: warning: ‘static v8::Local<v8::UnboundScript> v8::ScriptCompiler::CompileUnbound(v8::Isolate*, v8::ScriptCompiler::Source*, v8::ScriptCompiler::CompileOptions)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
return v8::ScriptCompiler::CompileUnbound(v8::Isolate::GetCurrent(), &src);
^
In file included from /root/.node-gyp/6.11.3/include/node/v8.h:25:0,
from ../src/validation.cc:7:
/root/.node-gyp/6.11.3/include/node/v8.h:1334:45: note: declared here
Local<UnboundScript> CompileUnbound(
^
/root/.node-gyp/6.11.3/include/node/v8config.h:333:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^
In file included from ../../nan/nan_new.h:189:0,
from ../../nan/nan.h:82,
from ../src/validation.cc:15:
../../nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8::UnboundScript>::return_t NanIntern::Factory<v8::UnboundScript>::New(v8::Local<v8::String>, const v8::ScriptOrigin&)’:
../../nan/nan_implementation_12_inl.h:244:30: warning: ‘static v8::Local<v8::UnboundScript> v8::ScriptCompiler::CompileUnbound(v8::Isolate*, v8::ScriptCompiler::Source*, v8::ScriptCompiler::CompileOptions)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
return v8::ScriptCompiler::CompileUnbound(v8::Isolate::GetCurrent(), &src);
^
In file included from /root/.node-gyp/6.11.3/include/node/v8.h:25:0,
from ../src/validation.cc:7:
/root/.node-gyp/6.11.3/include/node/v8.h:1334:45: note: declared here
Local<UnboundScript> CompileUnbound(
^
/root/.node-gyp/6.11.3/include/node/v8config.h:333:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^
In file included from ../../nan/nan_new.h:189:0,
from ../../nan/nan.h:82,
from ../src/validation.cc:15:
../../nan/nan_implementation_12_inl.h:244:76: warning: ‘static v8::Local<v8::UnboundScript> v8::ScriptCompiler::CompileUnbound(v8::Isolate*, v8::ScriptCompiler::Source*, v8::ScriptCompiler::CompileOptions)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
return v8::ScriptCompiler::CompileUnbound(v8::Isolate::GetCurrent(), &src);
^
In file included from /root/.node-gyp/6.11.3/include/node/v8.h:25:0,
from ../src/validation.cc:7:
/root/.node-gyp/6.11.3/include/node/v8.h:1334:45: note: declared here
Local<UnboundScript> CompileUnbound(
^
/root/.node-gyp/6.11.3/include/node/v8config.h:333:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^
In file included from ../src/validation.cc:15:0:
../../nan/nan.h: At global scope:
../../nan/nan.h:261:25: error: redefinition of ‘template<class T> v8::Local<T> _NanEnsureLocal(v8::Local<T>)’
NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Local<T> val) {
^
../../nan/nan.h:256:25: note: ‘template<class T> v8::Local<T> _NanEnsureLocal(v8::Handle<T>)’ previously declared here
NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Handle<T> val) {
^
../../nan/nan.h: In function ‘bool NanIdleNotification(int)’:
../../nan/nan.h:289:71: warning: ‘bool v8::Isolate::IdleNotification(int)’ is deprecated: use IdleNotificationDeadline() [-Wdeprecated-declarations]
return v8::Isolate::GetCurrent()->IdleNotification(idle_time_in_ms);
^
In file included from /root/.node-gyp/6.11.3/include/node/v8.h:25:0,
from ../src/validation.cc:7:
/root/.node-gyp/6.11.3/include/node/v8.h:6116:22: note: declared here
bool IdleNotification(int idle_time_in_ms));
^
/root/.node-gyp/6.11.3/include/node/v8config.h:333:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^
In file included from ../src/validation.cc:15:0:
../../nan/nan.h: At global scope:
../../nan/nan.h:473:20: error: variable or field ‘NanAddGCEpilogueCallback’ declared void
v8::Isolate::GCEpilogueCallback callback
^
../../nan/nan.h:473:7: error: ‘GCEpilogueCallback’ is not a member of ‘v8::Isolate’
v8::Isolate::GCEpilogueCallback callback
^
../../nan/nan.h:474:18: error: expected primary-expression before ‘gc_type_filter’
, v8::GCType gc_type_filter = v8::kGCTypeAll) {
^
../../nan/nan.h:479:20: error: variable or field ‘NanRemoveGCEpilogueCallback’ declared void
v8::Isolate::GCEpilogueCallback callback) {
^
../../nan/nan.h:479:7: error: ‘GCEpilogueCallback’ is not a member of ‘v8::Isolate’
v8::Isolate::GCEpilogueCallback callback) {
^
../../nan/nan.h:484:20: error: variable or field ‘NanAddGCPrologueCallback’ declared void
v8::Isolate::GCPrologueCallback callback
^
../../nan/nan.h:484:7: error: ‘GCPrologueCallback’ is not a member of ‘v8::Isolate’
v8::Isolate::GCPrologueCallback callback
^
../../nan/nan.h:485:18: error: expected primary-expression before ‘gc_type_filter’
, v8::GCType gc_type_filter = v8::kGCTypeAll) {
^
../../nan/nan.h:490:20: error: variable or field ‘NanRemoveGCPrologueCallback’ declared void
v8::Isolate::GCPrologueCallback callback) {
^
../../nan/nan.h:490:7: error: ‘GCPrologueCallback’ is not a member of ‘v8::Isolate’
v8::Isolate::GCPrologueCallback callback) {
^
../../nan/nan.h:661:13: error: ‘node::smalloc’ has not been declared
, node::smalloc::FreeCallback callback
^
../../nan/nan.h:661:35: error: expected ‘,’ or ‘...’ before ‘callback’
, node::smalloc::FreeCallback callback
^
../../nan/nan.h: In function ‘v8::Local<v8::Object> NanNewBufferHandle(char*, size_t, int)’:
../../nan/nan.h:665:50: error: ‘callback’ was not declared in this scope
v8::Isolate::GetCurrent(), data, length, callback, hint);
^
../../nan/nan.h:665:60: error: ‘hint’ was not declared in this scope
v8::Isolate::GetCurrent(), data, length, callback, hint);
^
../../nan/nan.h: In function ‘v8::Local<v8::Object> NanNewBufferHandle(const char*, uint32_t)’:
../../nan/nan.h:672:67: error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive]
return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
^
In file included from ../src/validation.cc:10:0:
/root/.node-gyp/6.11.3/include/node/node_buffer.h:46:40: note: initializing argument 2 of ‘v8::MaybeLocal<v8::Object> node::Buffer::New(v8::Isolate*, char*, size_t)’
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
^
In file included from ../src/validation.cc:15:0:
../../nan/nan.h:672:29: error: could not convert ‘node::Buffer::New(v8::Isolate::GetCurrent(), ((char*)data), ((size_t)size))’ from ‘v8::MaybeLocal<v8::Object>’ to ‘v8::Local<v8::Object>’
return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
^
../../nan/nan.h: In function ‘v8::Local<v8::Object> NanNewBufferHandle(uint32_t)’:
../../nan/nan.h:676:29: error: could not convert ‘node::Buffer::New(v8::Isolate::GetCurrent(), ((size_t)size))’ from ‘v8::MaybeLocal<v8::Object>’ to ‘v8::Local<v8::Object>’
return node::Buffer::New(v8::Isolate::GetCurrent(), size);
^
../../nan/nan.h: In function ‘v8::Local<v8::Object> NanBufferUse(char*, uint32_t)’:
../../nan/nan.h:683:12: error: ‘Use’ is not a member of ‘node::Buffer’
return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size);
^
../../nan/nan.h: In function ‘v8::Local<v8::Script> NanCompileScript(v8::Local<v8::String>, const v8::ScriptOrigin&)’:
../../nan/nan.h:710:74: warning: ‘static v8::Local<v8::Script> v8::ScriptCompiler::Compile(v8::Isolate*, v8::ScriptCompiler::Source*, v8::ScriptCompiler::CompileOptions)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
return v8::ScriptCompiler::Compile(v8::Isolate::GetCurrent(), &source);
^
In file included from /root/.node-gyp/6.11.3/include/node/v8.h:25:0,
from ../src/validation.cc:7:
/root/.node-gyp/6.11.3/include/node/v8.h:1354:21: note: declared here
Local<Script> Compile(Isolate* isolate, Source* source,
^
/root/.node-gyp/6.11.3/include/node/v8config.h:333:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^
In file included from ../src/validation.cc:15:0:
../../nan/nan.h: In function ‘v8::Local<v8::Script> NanCompileScript(v8::Local<v8::String>)’:
../../nan/nan.h:717:74: warning: ‘static v8::Local<v8::Script> v8::ScriptCompiler::Compile(v8::Isolate*, v8::ScriptCompiler::Source*, v8::ScriptCompiler::CompileOptions)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
return v8::ScriptCompiler::Compile(v8::Isolate::GetCurrent(), &source);
^
In file included from /root/.node-gyp/6.11.3/include/node/v8.h:25:0,
from ../src/validation.cc:7:
/root/.node-gyp/6.11.3/include/node/v8.h:1354:21: note: declared here
Local<Script> Compile(Isolate* isolate, Source* source,
^
/root/.node-gyp/6.11.3/include/node/v8config.h:333:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^
../src/validation.cc: In static member function ‘static void Validation::Initialize(v8::Handle<v8::Object>)’:
../src/validation.cc:112:62: error: call of overloaded ‘NODE_SET_METHOD(v8::Local<v8::FunctionTemplate>&, const char [12], void (&)(const v8::FunctionCallbackInfo<v8::Value>&))’ is ambiguous
NODE_SET_METHOD(t, "isValidUTF8", Validation::IsValidUTF8);
^
In file included from ../src/validation.cc:8:0:
/root/.node-gyp/6.11.3/include/node/node.h:246:13: note: candidate: void node::NODE_SET_METHOD(v8::Local<v8::Template>, const char*, v8::FunctionCallback)
inline void NODE_SET_METHOD(v8::Local<v8::Template> recv,
^
/root/.node-gyp/6.11.3/include/node/node.h:259:13: note: candidate: void node::NODE_SET_METHOD(v8::Local<v8::Object>, const char*, v8::FunctionCallback)
inline void NODE_SET_METHOD(v8::Local<v8::Object> recv,
^
validation.target.mk:96: recipe for target 'Release/obj.target/validation/src/validation.o' failed
make: *** [Release/obj.target/validation/src/validation.o] Error 1
make: Leaving directory '/root/terminal-slack/node_modules/utf-8-validate/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276:23)
gyp ERR! stack at emitTwo (events.js:106:13)
gyp ERR! stack at ChildProcess.emit (events.js:191:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:219:12)
gyp ERR! System Linux 3.13.0-37-generic
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /root/terminal-slack/node_modules/utf-8-validate
gyp ERR! node -v v6.11.3
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok
npm WARN eslint-config-airbnb@12.0.0 requires a peer of eslint-plugin-import@^1.16.0 but none was installed.
npm WARN eslint-config-airbnb-base@8.0.0 requires a peer of eslint-plugin-import@^1.16.0 but none was installed.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: bufferutil@1.1.0 (node_modules/bufferutil):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: bufferutil@1.1.0 install: `node-gyp rebuild`
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: utf-8-validate@1.1.0 (node_modules/utf-8-validate):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: utf-8-validate@1.1.0 install: `node-gyp rebuild`
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1
I can reproduce this in 16.04 and 14.04. This appears to be related to https://github.com/nodejs/node-gyp/issues/809 but I cannot fixed it after trying different iterations of possible fixes.