node-memwatch icon indicating copy to clipboard operation
node-memwatch copied to clipboard

Error installing it in the Docker alipine node 8.11.4 image

Open leandrit1 opened this issue 7 years ago • 3 comments

I am having issues installing this package in the docker, and the errors I am getting are down here. Any help appreciated :)

error /usr/src/app/node_modules/memwatch-next: Command failed. Exit code: 1 Command: node-gyp rebuild Arguments: Directory: /usr/src/app/node_modules/memwatch-next Output: gyp info it worked if it ends with ok gyp info using [email protected] gyp info using [email protected] | linux | x64 gyp info spawn /usr/bin/python2 gyp info spawn args [ '/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py', gyp info spawn args 'binding.gyp', gyp info spawn args '-f', gyp info spawn args 'make', gyp info spawn args '-I', gyp info spawn args '/usr/src/app/node_modules/memwatch-next/build/config.gypi', gyp info spawn args '-I', gyp info spawn args '/usr/local/lib/node_modules/npm/node_modules/node-gyp/addon.gypi', gyp info spawn args '-I', gyp info spawn args '/root/.node-gyp/8.11.4/include/node/common.gypi', gyp info spawn args '-Dlibrary=shared_library', gyp info spawn args '-Dvisibility=default', gyp info spawn args '-Dnode_root_dir=/root/.node-gyp/8.11.4', gyp info spawn args '-Dnode_gyp_dir=/usr/local/lib/node_modules/npm/node_modules/node-gyp', gyp info spawn args '-Dnode_lib_file=/root/.node-gyp/8.11.4/<(target_arch)/node.lib', gyp info spawn args '-Dmodule_root_dir=/usr/src/app/node_modules/memwatch-next', gyp info spawn args '-Dnode_engine=v8', gyp info spawn args '--depth=.', gyp info spawn args '--no-parallel', gyp info spawn args '--generator-output', gyp info spawn args 'build', gyp info spawn args '-Goutput_dir=.' ] gyp info spawn make gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ] make: Entering directory '/usr/src/app/node_modules/memwatch-next/build' CXX(target) Release/obj.target/memwatch/src/heapdiff.o In file included from ../src/heapdiff.hh:10:0, from ../src/heapdiff.cc:12: /root/.node-gyp/8.11.4/include/node/node.h:22:0: error: unterminated #ifndef #ifndef SRC_NODE_H_

In file included from ../../nan/nan.h:52:0, from ../src/heapdiff.hh:11, from ../src/heapdiff.cc:12: /root/.node-gyp/8.11.4/include/node/node.h:22:0: error: unterminated #ifndef #ifndef SRC_NODE_H_

In file included from /root/.node-gyp/8.11.4/include/node/node_buffer.h:25:0, from ../../nan/nan.h:53, from ../src/heapdiff.hh:11, from ../src/heapdiff.cc:12: /root/.node-gyp/8.11.4/include/node/node.h:22:0: error: unterminated #ifndef #ifndef SRC_NODE_H_

In file included from ../src/heapdiff.hh:10:0, from ../src/heapdiff.cc:12: /root/.node-gyp/8.11.4/include/node/node.h:153:9: error: 'v8::Loca' has not been declared v8::Localv8::Object recv, ^~~~ In file included from ../../nan/nan.h:51:0, from ../src/heapdiff.hh:11, from ../src/heapdiff.cc:12: /root/.node-gyp/8.11.4/include/node/uv.h:27:1: error: storage class specifiers invalid in parameter declarations extern "C" { ^~~~~~ /root/.node-gyp/8.11.4/include/node/uv.h:27:1: error: storage class specified for parameter 'parameter' /root/.node-gyp/8.11.4/include/node/uv.h:27:8: error: expected ',' or '...' before string constant extern "C" { ^~~ In file included from ../src/heapdiff.cc:12:0: ../src/heapdiff.hh:32:2: error: expected ')' before ';' token }; ^ ../src/heapdiff.cc:22:6: error: 'heapdiff' has not been declared bool heapdiff::HeapDiff::InProgress() ^~~~~~~~ ../src/heapdiff.cc:27:1: error: 'heapdiff' does not name a type heapdiff::HeapDiff::HeapDiff() : ObjectWrap(), before(NULL), after(NULL), ^~~~~~~~ ../src/heapdiff.cc:32:1: error: 'heapdiff' does not name a type heapdiff::HeapDiff::~HeapDiff() ^~~~~~~~ ../src/heapdiff.cc:46:1: error: 'heapdiff' has not been declared heapdiff::HeapDiff::Initialize ( v8::Handlev8::Object target ) ^~~~~~~~ ../src/heapdiff.cc: In function 'void node::Initialize(v8::Handlev8::Object)': ../src/heapdiff.cc:48:5: error: 'Nan' has not been declared Nan::HandleScope scope; ^~~ ../src/heapdiff.cc:50:41: error: 'Nan' has not been declared v8::Localv8::FunctionTemplate t = Nan::Newv8::FunctionTemplate(New); ^~~ ../src/heapdiff.cc:50:70: error: expected primary-expression before '>' token v8::Localv8::FunctionTemplate t = Nan::Newv8::FunctionTemplate(New); ^ ../src/heapdiff.cc:50:72: error: 'New' was not declared in this scope v8::Localv8::FunctionTemplate t = Nan::Newv8::FunctionTemplate(New); ^~~ ../src/heapdiff.cc:52:21: error: 'Nan' has not been declared t->SetClassName(Nan::Newv8::String("HeapDiff").ToLocalChecked()); ^~~ ../src/heapdiff.cc:52:40: error: expected primary-expression before '>' token t->SetClassName(Nan::Newv8::String("HeapDiff").ToLocalChecked()); ^ ../src/heapdiff.cc:52:54: error: request for member 'ToLocalChecked' in '("HeapDiff")', which is of non-class type 'const char [9]' t->SetClassName(Nan::Newv8::String("HeapDiff").ToLocalChecked()); ^~~~~~~~~~~~~~ ../src/heapdiff.cc:54:5: error: 'Nan' has not been declared Nan::SetPrototypeMethod(t, "end", End); ^~~ ../src/heapdiff.cc:54:39: error: 'End' was not declared in this scope Nan::SetPrototypeMethod(t, "end", End); ^~~ ../src/heapdiff.cc:56:17: error: 'Nan' has not been declared target->Set(Nan::Newv8::String("HeapDiff").ToLocalChecked(), t->GetFunction()); ^~~ ../src/heapdiff.cc:56:36: error: expected primary-expression before '>' token target->Set(Nan::Newv8::String("HeapDiff").ToLocalChecked(), t->GetFunction()); ^ ../src/heapdiff.cc:56:50: error: request for member 'ToLocalChecked' in '("HeapDiff")', which is of non-class type 'const char [9]' target->Set(Nan::Newv8::String("HeapDiff").ToLocalChecked(), t->GetFunction()); ^~~~~~~~~~~~~~ In file included from ../src/heapdiff.hh:11:0, from ../src/heapdiff.cc:12: ../src/heapdiff.cc: At global scope: ../../nan/nan.h:1473:5: error: 'Nan' does not name a type Nan::NAN_METHOD_RETURN_TYPE name(Nan::NAN_METHOD_ARGS_TYPE info) ^ ../src/heapdiff.cc:59:1: note: in expansion of macro 'NAN_METHOD' NAN_METHOD(heapdiff::HeapDiff::New) ^~~~~~~~~~ ../src/heapdiff.cc: In function 'void node::buildIDSet(std::set, const v8::HeapGraphNode, int&)': ../src/heapdiff.cc:102:5: error: 'Nan' has not been declared Nan::HandleScope scope; ^~~ ../src/heapdiff.cc: In function 'v8::Handlev8::Value node::changesetToObject(node::changeset&)': ../src/heapdiff.cc:225:5: error: 'Nan' has not been declared Nan::EscapableHandleScope scope; ^~~ ../src/heapdiff.cc:226:22: error: 'Nan' has not been declared Local<Array> a = Nan::Newv8::Array(); ^~~ ../src/heapdiff.cc:226:40: error: expected primary-expression before '>' token Local<Array> a = Nan::Newv8::Array(); ^ ../src/heapdiff.cc:226:42: error: expected primary-expression before ')' token Local<Array> a = Nan::Newv8::Array(); ^ ../src/heapdiff.cc:229:27: error: 'Nan' has not been declared Local<Object> d = Nan::Newv8::Object(); ^~~ ../src/heapdiff.cc:229:46: error: expected primary-expression before '>' token Local<Object> d = Nan::Newv8::Object(); ^ ../src/heapdiff.cc:229:48: error: expected primary-expression before ')' token Local<Object> d = Nan::Newv8::Object(); ^ ../src/heapdiff.cc:230:16: error: 'Nan' has not been declared d->Set(Nan::New("what").ToLocalChecked(), Nan::New(i->first.c_str()).ToLocalChecked()); ^~~ ../src/heapdiff.cc:230:51: error: 'Nan' has not been declared d->Set(Nan::New("what").ToLocalChecked(), Nan::New(i->first.c_str()).ToLocalChecked()); ^~~ ../src/heapdiff.cc:231:16: error: 'Nan' has not been declared d->Set(Nan::New("size_bytes").ToLocalChecked(), Nan::Newv8::Number(i->second.size)); ^~~ ../src/heapdiff.cc:231:57: error: 'Nan' has not been declared d->Set(Nan::New("size_bytes").ToLocalChecked(), Nan::Newv8::Number(i->second.size)); ^~~ ../src/heapdiff.cc:231:76: error: expected primary-expression before '>' token d->Set(Nan::New("size_bytes").ToLocalChecked(), Nan::Newv8::Number(i->second.size)); ^ ../src/heapdiff.cc:232:16: error: 'Nan' has not been declared d->Set(Nan::New("size").ToLocalChecked(), Nan::New(mw_util::niceSize(i->second.size).c_str()).ToLocalChecked()); ^~~ ../src/heapdiff.cc:232:51: error: 'Nan' has not been declared d->Set(Nan::New("size").ToLocalChecked(), Nan::New(mw_util::niceSize(i->second.size).c_str()).ToLocalChecked()); ^~~ ../src/heapdiff.cc:233:16: error: 'Nan' has not been declared d->Set(Nan::New("+").ToLocalChecked(), Nan::Newv8::Number(i->second.added)); ^~~ ../src/heapdiff.cc:233:48: error: 'Nan' has not been declared d->Set(Nan::New("+").ToLocalChecked(), Nan::Newv8::Number(i->second.added)); ^~~ ../src/heapdiff.cc:233:67: error: expected primary-expression before '>' token d->Set(Nan::New("+").ToLocalChecked(), Nan::Newv8::Number(i->second.added)); ^ ../src/heapdiff.cc:234:16: error: 'Nan' has not been declared d->Set(Nan::New("-").ToLocalChecked(), Nan::Newv8::Number(i->second.released)); ^~~ ../src/heapdiff.cc:234:48: error: 'Nan' has not been declared d->Set(Nan::New("-").ToLocalChecked(), Nan::Newv8::Number(i->second.released)); ^~~ ../src/heapdiff.cc:234:67: error: expected primary-expression before '>' token d->Set(Nan::New("-").ToLocalChecked(), Nan::Newv8::Number(i->second.released)); ^ ../src/heapdiff.cc:238:12: error: 'scope' was not declared in this scope return scope.Escape(a); ^~~~~ ../src/heapdiff.cc: In function 'v8::Localv8::Value node::compare(const v8::HeapSnapshot*, const v8::HeapSnapshot*)': ../src/heapdiff.cc:245:5: error: 'Nan' has not been declared Nan::EscapableHandleScope scope; ^~~ ../src/heapdiff.cc:248:23: error: 'Nan' has not been declared Local<Object> o = Nan::Newv8::Object(); ^~~ ../src/heapdiff.cc:248:42: error: expected primary-expression before '>' token Local<Object> o = Nan::Newv8::Object(); ^ ../src/heapdiff.cc:248:44: error: expected primary-expression before ')' token Local<Object> o = Nan::Newv8::Object(); ^ ../src/heapdiff.cc:251:23: error: 'Nan' has not been declared Local<Object> b = Nan::Newv8::Object(); ^~~ ../src/heapdiff.cc:251:42: error: expected primary-expression before '>' token Local<Object> b = Nan::Newv8::Object(); ^ ../src/heapdiff.cc:251:44: error: expected primary-expression before ')' token Local<Object> b = Nan::Newv8::Object(); ^ ../src/heapdiff.cc:252:12: error: 'Nan' has not been declared b->Set(Nan::New("nodes").ToLocalChecked(), Nan::New(before->GetNodesCount())); ^~~ ../src/heapdiff.cc:252:48: error: 'Nan' has not been declared b->Set(Nan::New("nodes").ToLocalChecked(), Nan::New(before->GetNodesCount())); ^~~ ../src/heapdiff.cc:254:12: error: 'Nan' has not been declared o->Set(Nan::New("before").ToLocalChecked(), b); ^~~ ../src/heapdiff.cc:256:23: error: 'Nan' has not been declared Local<Object> a = Nan::Newv8::Object(); ^~~ ../src/heapdiff.cc:256:42: error: expected primary-expression before '>' token Local<Object> a = Nan::Newv8::Object(); ^ ../src/heapdiff.cc:256:44: error: expected primary-expression before ')' token Local<Object> a = Nan::Newv8::Object(); ^ ../src/heapdiff.cc:257:12: error: 'Nan' has not been declared a->Set(Nan::New("nodes").ToLocalChecked(), Nan::New(after->GetNodesCount())); ^~~ ../src/heapdiff.cc:257:48: error: 'Nan' has not been declared a->Set(Nan::New("nodes").ToLocalChecked(), Nan::New(after->GetNodesCount())); ^~~ ../src/heapdiff.cc:259:12: error: 'Nan' has not been declared o->Set(Nan::New("after").ToLocalChecked(), a); ^~~ ../src/heapdiff.cc:265:12: error: 'Nan' has not been declared b->Set(Nan::New("size_bytes").ToLocalChecked(), Nan::New(s)); ^~~ ../src/heapdiff.cc:265:53: error: 'Nan' has not been declared b->Set(Nan::New("size_bytes").ToLocalChecked(), Nan::New(s)); ^~~ ../src/heapdiff.cc:266:12: error: 'Nan' has not been declared b->Set(Nan::New("size").ToLocalChecked(), Nan::New(mw_util::niceSize(s).c_str()).ToLocalChecked()); ^~~ ../src/heapdiff.cc:266:47: error: 'Nan' has not been declared b->Set(Nan::New("size").ToLocalChecked(), Nan::New(mw_util::niceSize(s).c_str()).ToLocalChecked()); ^~~ ../src/heapdiff.cc:271:12: error: 'Nan' has not been declared a->Set(Nan::New("size_bytes").ToLocalChecked(), Nan::New(s)); ^~~ ../src/heapdiff.cc:271:53: error: 'Nan' has not been declared a->Set(Nan::New("size_bytes").ToLocalChecked(), Nan::New(s)); ^~~ ../src/heapdiff.cc:272:12: error: 'Nan' has not been declared a->Set(Nan::New("size").ToLocalChecked(), Nan::New(mw_util::niceSize(s).c_str()).ToLocalChecked()); ^~~ ../src/heapdiff.cc:272:47: error: 'Nan' has not been declared a->Set(Nan::New("size").ToLocalChecked(), Nan::New(mw_util::niceSize(s).c_str()).ToLocalChecked()); ^~~ ../src/heapdiff.cc:276:23: error: 'Nan' has not been declared Local<Object> c = Nan::Newv8::Object(); ^~~ ../src/heapdiff.cc:276:42: error: expected primary-expression before '>' token Local<Object> c = Nan::Newv8::Object(); ^ ../src/heapdiff.cc:276:44: error: expected primary-expression before ')' token Local<Object> c = Nan::Newv8::Object(); ^ ../src/heapdiff.cc:277:12: error: 'Nan' has not been declared c->Set(Nan::New("size_bytes").ToLocalChecked(), Nan::New(diffBytes)); ^~~ ../src/heapdiff.cc:277:53: error: 'Nan' has not been declared c->Set(Nan::New("size_bytes").ToLocalChecked(), Nan::New(diffBytes)); ^~~ ../src/heapdiff.cc:278:12: error: 'Nan' has not been declared c->Set(Nan::New("size").ToLocalChecked(), Nan::New(mw_util::niceSize(diffBytes).c_str()).ToLocalChecked()); ^~~ ../src/heapdiff.cc:278:47: error: 'Nan' has not been declared c->Set(Nan::New("size").ToLocalChecked(), Nan::New(mw_util::niceSize(diffBytes).c_str()).ToLocalChecked()); ^~~ ../src/heapdiff.cc:279:12: error: 'Nan' has not been declared o->Set(Nan::New("change").ToLocalChecked(), c); ^~~ ../src/heapdiff.cc:284:12: error: 'Nan' has not been declared c->Set(Nan::New("freed_nodes").ToLocalChecked(), Nan::Newv8::Number(changedIDs.size())); ^~~ ../src/heapdiff.cc:284:54: error: 'Nan' has not been declared c->Set(Nan::New("freed_nodes").ToLocalChecked(), Nan::Newv8::Number(changedIDs.size())); ^~~ ../src/heapdiff.cc:284:73: error: expected primary-expression before '>' token c->Set(Nan::New("freed_nodes").ToLocalChecked(), Nan::Newv8::Number(changedIDs.size())); ^ ../src/heapdiff.cc:300:12: error: 'Nan' has not been declared c->Set(Nan::New("allocated_nodes").ToLocalChecked(), Nan::Newv8::Number(changedIDs.size())); ^~~ ../src/heapdiff.cc:300:58: error: 'Nan' has not been declared c->Set(Nan::New("allocated_nodes").ToLocalChecked(), Nan::Newv8::Number(changedIDs.size())); ^~~ ../src/heapdiff.cc:300:77: error: expected primary-expression before '>' token c->Set(Nan::New("allocated_nodes").ToLocalChecked(), Nan::Newv8::Number(changedIDs.size())); ^ ../src/heapdiff.cc:307:12: error: 'Nan' has not been declared c->Set(Nan::New("details").ToLocalChecked(), changesetToObject(changes)); ^~~ ../src/heapdiff.cc:309:12: error: 'scope' was not declared in this scope return scope.Escape(o); ^~~~~ In file included from ../src/heapdiff.hh:11:0, from ../src/heapdiff.cc:12: ../src/heapdiff.cc: At global scope: ../../nan/nan.h:1473:5: error: 'Nan' does not name a type Nan::NAN_METHOD_RETURN_TYPE name(Nan::NAN_METHOD_ARGS_TYPE info) ^ ../src/heapdiff.cc:312:1: note: in expansion of macro 'NAN_METHOD' NAN_METHOD(heapdiff::HeapDiff::End) ^~~~~~~~~~ ../src/heapdiff.cc:348:1: error: expected '}' at end of input } ^ ../src/heapdiff.cc:243:1: warning: 'v8::Localv8::Value node::compare(const v8::HeapSnapshot*, const v8::HeapSnapshot*)' defined but not used [-Wunused-function] compare(const v8::HeapSnapshot * before, const v8::HeapSnapshot * after) ^~~~~~~ ../src/heapdiff.cc:20:15: warning: 'node::s_startTime' defined but not used [-Wunused-variable] static time_t s_startTime; ^~~~~~~~~~~ make: *** [memwatch.target.mk:98: Release/obj.target/memwatch/src/heapdiff.o] Error 1 make: Leaving directory '/usr/src/app/node_modules/memwatch-next/build' 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:258:23) gyp ERR! stack at emitTwo (events.js:126:13) gyp ERR! stack at ChildProcess.emit (events.js:214:7) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12) gyp ERR! System Linux 4.9.93-boot2docker 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 /usr/src/app/node_modules/memwatch-next gyp ERR! node -v v8.11.4 gyp ERR! node-gyp -v v3.6.2 gyp ERR! not ok info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command

leandrit1 avatar Sep 01 '18 09:09 leandrit1

Give a try with this fork of the package here: https://www.npmjs.com/package/node-memwatch

rgeraldporter avatar Oct 02 '18 19:10 rgeraldporter

Give a try with this fork of the package here: https://www.npmjs.com/package/node-memwatch

Hey @rgeraldporter, I really appreciate your suggestion, however, I already found a working forked solution, "memwatch-ng": "^1.2.0"

Thanks :)

leandrit1 avatar Oct 02 '18 19:10 leandrit1

@xkLander thanks, that is useful to know about that one too!

rgeraldporter avatar Oct 02 '18 20:10 rgeraldporter