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

Install fails on Node 12

Open mariecl opened this issue 6 years ago • 6 comments
trafficstars

Node-memwatch npm rebuild fails on Node 12.

Tested with:

  • Node version: v12.6.0 (current)
  • NPM version: v6.10.0
  • Platform: Mac

Full error output:

> [email protected] install /{project}/node_modules/node-memwatch
> node-gyp rebuild

  CXX(target) Release/obj.target/memwatch/src/heapdiff.o
In file included from ../src/heapdiff.cc:12:
../src/heapdiff.hh:18:38: error: no template named 'Handle' in namespace 'v8'
        static void Initialize ( v8::Handle<v8::Object> target );
                                 ~~~~^
../src/heapdiff.cc:46:21: error: variable has incomplete type 'void'
heapdiff::HeapDiff::Initialize ( v8::Handle<v8::Object> target )
                    ^
../src/heapdiff.cc:46:55: error: expected '(' for function-style cast or type construction
heapdiff::HeapDiff::Initialize ( v8::Handle<v8::Object> target )
                                            ~~~~~~~~~~^
../src/heapdiff.cc:46:38: error: no member named 'Handle' in namespace 'v8'
heapdiff::HeapDiff::Initialize ( v8::Handle<v8::Object> target )
                                 ~~~~^
../src/heapdiff.cc:46:57: error: use of undeclared identifier 'target'
heapdiff::HeapDiff::Initialize ( v8::Handle<v8::Object> target )
                                                        ^
../src/heapdiff.cc:46:65: error: expected ';' after top level declarator
heapdiff::HeapDiff::Initialize ( v8::Handle<v8::Object> target )
                                                                ^
                                                                ;
../src/heapdiff.cc:135:14: error: unknown type name 'idset'
void setDiff(idset a, idset b, vector<uint64_t> &c)
             ^
../src/heapdiff.cc:135:23: error: unknown type name 'idset'
void setDiff(idset a, idset b, vector<uint64_t> &c)
                      ^
../src/heapdiff.cc:137:10: error: use of undeclared identifier 'idset'
    for (idset::iterator i = a.begin(); i != a.end(); i++) {
         ^
../src/heapdiff.cc:137:17: error: use of class template 'iterator' requires template arguments
    for (idset::iterator i = a.begin(); i != a.end(); i++) {
                ^
/Library/Developer/CommandLineTools/usr/include/c++/v1/iterator:521:29: note: template is
      declared here
struct _LIBCPP_TEMPLATE_VIS iterator
                            ^
../src/heapdiff.cc:185:25: error: use of undeclared identifier 'handleToStr'
            type.append(handleToStr(node->GetName()));
                        ^
../src/heapdiff.cc:226:8: error: no template named 'Handle'
static Handle<Value> changesetToObject(changeset & changes)
       ^
../src/heapdiff.cc:233:12: warning: 'Set' is deprecated: Use maybe version
      [-Wdeprecated-declarations]
        d->Set(Nan::New("what").ToLocalChecked(), Nan::New(i->first.c_str()).ToLocalCh...
           ^
/Users/marie/.node-gyp/12.6.0/include/node/v8.h:3358:3: note: 'Set' has been explicitly marked
      deprecated here
  V8_DEPRECATE_SOON("Use maybe version",
  ^
/Users/marie/.node-gyp/12.6.0/include/node/v8config.h:326:29: note: expanded from macro
      'V8_DEPRECATE_SOON'
  declarator __attribute__((deprecated(message)))
                            ^
../src/heapdiff.cc:234:12: warning: 'Set' is deprecated: Use maybe version
      [-Wdeprecated-declarations]
        d->Set(Nan::New("size_bytes").ToLocalChecked(), Nan::New<v8::Number>(i->second.size));
           ^
/Users/marie/.node-gyp/12.6.0/include/node/v8.h:3358:3: note: 'Set' has been explicitly marked
      deprecated here
  V8_DEPRECATE_SOON("Use maybe version",
  ^
/Users/marie/.node-gyp/12.6.0/include/node/v8config.h:326:29: note: expanded from macro
      'V8_DEPRECATE_SOON'
  declarator __attribute__((deprecated(message)))
                            ^
../src/heapdiff.cc:235:12: warning: 'Set' is deprecated: Use maybe version
      [-Wdeprecated-declarations]
        d->Set(Nan::New("size").ToLocalChecked(), Nan::New(mw_util::niceSize(i->second...
           ^
/Users/marie/.node-gyp/12.6.0/include/node/v8.h:3358:3: note: 'Set' has been explicitly marked
      deprecated here
  V8_DEPRECATE_SOON("Use maybe version",
  ^
/Users/marie/.node-gyp/12.6.0/include/node/v8config.h:326:29: note: expanded from macro
      'V8_DEPRECATE_SOON'
  declarator __attribute__((deprecated(message)))
                            ^
../src/heapdiff.cc:236:12: warning: 'Set' is deprecated: Use maybe version
      [-Wdeprecated-declarations]
        d->Set(Nan::New("+").ToLocalChecked(), Nan::New<v8::Number>(i->second.added));
           ^
/Users/marie/.node-gyp/12.6.0/include/node/v8.h:3358:3: note: 'Set' has been explicitly marked
      deprecated here
  V8_DEPRECATE_SOON("Use maybe version",
  ^
/Users/marie/.node-gyp/12.6.0/include/node/v8config.h:326:29: note: expanded from macro
      'V8_DEPRECATE_SOON'
  declarator __attribute__((deprecated(message)))
                            ^
../src/heapdiff.cc:237:12: warning: 'Set' is deprecated: Use maybe version
      [-Wdeprecated-declarations]
        d->Set(Nan::New("-").ToLocalChecked(), Nan::New<v8::Number>(i->second.released));
           ^
/Users/marie/.node-gyp/12.6.0/include/node/v8.h:3358:3: note: 'Set' has been explicitly marked
      deprecated here
  V8_DEPRECATE_SOON("Use maybe version",
  ^
/Users/marie/.node-gyp/12.6.0/include/node/v8config.h:326:29: note: expanded from macro
      'V8_DEPRECATE_SOON'
  declarator __attribute__((deprecated(message)))
                            ^
../src/heapdiff.cc:238:12: warning: 'Set' is deprecated: Use maybe version
      [-Wdeprecated-declarations]
        a->Set(a->Length(), d);
           ^
/Users/marie/.node-gyp/12.6.0/include/node/v8.h:3367:3: note: 'Set' has been explicitly marked
      deprecated here
  V8_DEPRECATE_SOON("Use maybe version",
  ^
/Users/marie/.node-gyp/12.6.0/include/node/v8config.h:326:29: note: expanded from macro
      'V8_DEPRECATE_SOON'
  declarator __attribute__((deprecated(message)))
                            ^
../src/heapdiff.cc:241:12: error: no viable conversion from returned value of type
      'v8::Local<Array>' to function return type 'int'
    return scope.Escape(a);
           ^~~~~~~~~~~~~~~
../src/heapdiff.cc:255:8: warning: 'Set' is deprecated: Use maybe version
      [-Wdeprecated-declarations]
    b->Set(Nan::New("nodes").ToLocalChecked(), Nan::New(before->GetNodesCount()));
       ^
/Users/marie/.node-gyp/12.6.0/include/node/v8.h:3358:3: note: 'Set' has been explicitly marked
      deprecated here
  V8_DEPRECATE_SOON("Use maybe version",
  ^
/Users/marie/.node-gyp/12.6.0/include/node/v8config.h:326:29: note: expanded from macro
      'V8_DEPRECATE_SOON'
  declarator __attribute__((deprecated(message)))
                            ^
../src/heapdiff.cc:257:8: warning: 'Set' is deprecated: Use maybe version
      [-Wdeprecated-declarations]
    o->Set(Nan::New("before").ToLocalChecked(), b);
       ^
/Users/marie/.node-gyp/12.6.0/include/node/v8.h:3358:3: note: 'Set' has been explicitly marked
      deprecated here
  V8_DEPRECATE_SOON("Use maybe version",
  ^
/Users/marie/.node-gyp/12.6.0/include/node/v8config.h:326:29: note: expanded from macro
      'V8_DEPRECATE_SOON'
  declarator __attribute__((deprecated(message)))
                            ^
../src/heapdiff.cc:260:8: warning: 'Set' is deprecated: Use maybe version
      [-Wdeprecated-declarations]
    a->Set(Nan::New("nodes").ToLocalChecked(), Nan::New(after->GetNodesCount()));
       ^
/Users/marie/.node-gyp/12.6.0/include/node/v8.h:3358:3: note: 'Set' has been explicitly marked
      deprecated here
  V8_DEPRECATE_SOON("Use maybe version",
  ^
/Users/marie/.node-gyp/12.6.0/include/node/v8config.h:326:29: note: expanded from macro
      'V8_DEPRECATE_SOON'
  declarator __attribute__((deprecated(message)))
                            ^
../src/heapdiff.cc:262:8: warning: 'Set' is deprecated: Use maybe version
      [-Wdeprecated-declarations]
    o->Set(Nan::New("after").ToLocalChecked(), a);
       ^
/Users/marie/.node-gyp/12.6.0/include/node/v8.h:3358:3: note: 'Set' has been explicitly marked
      deprecated here
  V8_DEPRECATE_SOON("Use maybe version",
  ^
/Users/marie/.node-gyp/12.6.0/include/node/v8config.h:326:29: note: expanded from macro
      'V8_DEPRECATE_SOON'
  declarator __attribute__((deprecated(message)))
                            ^
../src/heapdiff.cc:267:5: error: use of undeclared identifier 'buildIDSet'
    buildIDSet(&beforeIDs, before->GetRoot(), s);
    ^
../src/heapdiff.cc:268:8: warning: 'Set' is deprecated: Use maybe version
      [-Wdeprecated-declarations]
    b->Set(Nan::New("size_bytes").ToLocalChecked(), Nan::New(s));
       ^
/Users/marie/.node-gyp/12.6.0/include/node/v8.h:3358:3: note: 'Set' has been explicitly marked
      deprecated here
  V8_DEPRECATE_SOON("Use maybe version",
  ^
/Users/marie/.node-gyp/12.6.0/include/node/v8config.h:326:29: note: expanded from macro
      'V8_DEPRECATE_SOON'
  declarator __attribute__((deprecated(message)))
                            ^
../src/heapdiff.cc:269:8: warning: 'Set' is deprecated: Use maybe version
      [-Wdeprecated-declarations]
    b->Set(Nan::New("size").ToLocalChecked(), Nan::New(mw_util::niceSize(s).c_str()).T...
       ^
/Users/marie/.node-gyp/12.6.0/include/node/v8.h:3358:3: note: 'Set' has been explicitly marked
      deprecated here
  V8_DEPRECATE_SOON("Use maybe version",
  ^
/Users/marie/.node-gyp/12.6.0/include/node/v8config.h:326:29: note: expanded from macro
      'V8_DEPRECATE_SOON'
  declarator __attribute__((deprecated(message)))
                            ^
../src/heapdiff.cc:273:5: error: use of undeclared identifier 'buildIDSet'
    buildIDSet(&afterIDs, after->GetRoot(), s);
    ^
../src/heapdiff.cc:274:8: warning: 'Set' is deprecated: Use maybe version
      [-Wdeprecated-declarations]
    a->Set(Nan::New("size_bytes").ToLocalChecked(), Nan::New(s));
       ^
/Users/marie/.node-gyp/12.6.0/include/node/v8.h:3358:3: note: 'Set' has been explicitly marked
      deprecated here
  V8_DEPRECATE_SOON("Use maybe version",
  ^
/Users/marie/.node-gyp/12.6.0/include/node/v8config.h:326:29: note: expanded from macro
      'V8_DEPRECATE_SOON'
  declarator __attribute__((deprecated(message)))
                            ^
../src/heapdiff.cc:275:8: warning: 'Set' is deprecated: Use maybe version
      [-Wdeprecated-declarations]
    a->Set(Nan::New("size").ToLocalChecked(), Nan::New(mw_util::niceSize(s).c_str()).T...
       ^
/Users/marie/.node-gyp/12.6.0/include/node/v8.h:3358:3: note: 'Set' has been explicitly marked
      deprecated here
  V8_DEPRECATE_SOON("Use maybe version",
  ^
/Users/marie/.node-gyp/12.6.0/include/node/v8config.h:326:29: note: expanded from macro
      'V8_DEPRECATE_SOON'
  declarator __attribute__((deprecated(message)))
                            ^
../src/heapdiff.cc:280:8: warning: 'Set' is deprecated: Use maybe version
      [-Wdeprecated-declarations]
    c->Set(Nan::New("size_bytes").ToLocalChecked(), Nan::New(diffBytes));
       ^
/Users/marie/.node-gyp/12.6.0/include/node/v8.h:3358:3: note: 'Set' has been explicitly marked
      deprecated here
  V8_DEPRECATE_SOON("Use maybe version",
  ^
/Users/marie/.node-gyp/12.6.0/include/node/v8config.h:326:29: note: expanded from macro
      'V8_DEPRECATE_SOON'
  declarator __attribute__((deprecated(message)))
                            ^
../src/heapdiff.cc:281:8: warning: 'Set' is deprecated: Use maybe version
      [-Wdeprecated-declarations]
    c->Set(Nan::New("size").ToLocalChecked(), Nan::New(mw_util::niceSize(diffBytes).c_...
       ^
/Users/marie/.node-gyp/12.6.0/include/node/v8.h:3358:3: note: 'Set' has been explicitly marked
      deprecated here
  V8_DEPRECATE_SOON("Use maybe version",
  ^
/Users/marie/.node-gyp/12.6.0/include/node/v8config.h:326:29: note: expanded from macro
      'V8_DEPRECATE_SOON'
  declarator __attribute__((deprecated(message)))
                            ^
../src/heapdiff.cc:282:8: warning: 'Set' is deprecated: Use maybe version
      [-Wdeprecated-declarations]
    o->Set(Nan::New("change").ToLocalChecked(), c);
       ^
/Users/marie/.node-gyp/12.6.0/include/node/v8.h:3358:3: note: 'Set' has been explicitly marked
      deprecated here
  V8_DEPRECATE_SOON("Use maybe version",
  ^
/Users/marie/.node-gyp/12.6.0/include/node/v8config.h:326:29: note: expanded from macro
      'V8_DEPRECATE_SOON'
  declarator __attribute__((deprecated(message)))
                            ^
../src/heapdiff.cc:287:8: warning: 'Set' is deprecated: Use maybe version
      [-Wdeprecated-declarations]
    c->Set(Nan::New("freed_nodes").ToLocalChecked(), Nan::New<v8::Number>(changedIDs.size()));
       ^
/Users/marie/.node-gyp/12.6.0/include/node/v8.h:3358:3: note: 'Set' has been explicitly marked
      deprecated here
  V8_DEPRECATE_SOON("Use maybe version",
  ^
/Users/marie/.node-gyp/12.6.0/include/node/v8config.h:326:29: note: expanded from macro
      'V8_DEPRECATE_SOON'
  declarator __attribute__((deprecated(message)))
                            ^
../src/heapdiff.cc:303:8: warning: 'Set' is deprecated: Use maybe version
      [-Wdeprecated-declarations]
    c->Set(Nan::New("allocated_nodes").ToLocalChecked(), Nan::New<v8::Number>(changedI...
       ^
/Users/marie/.node-gyp/12.6.0/include/node/v8.h:3358:3: note: 'Set' has been explicitly marked
      deprecated here
  V8_DEPRECATE_SOON("Use maybe version",
  ^
/Users/marie/.node-gyp/12.6.0/include/node/v8config.h:326:29: note: expanded from macro
      'V8_DEPRECATE_SOON'
  declarator __attribute__((deprecated(message)))
                            ^
19 warnings and 15 errors generated.
make: *** [Release/obj.target/memwatch/src/heapdiff.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/Users/marie/.nvm/versions/node/v12.6.0/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:262:23)
gyp ERR! stack     at ChildProcess.emit (events.js:203:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)
gyp ERR! System Darwin 18.6.0
gyp ERR! command "/Users/marie/.nvm/versions/node/v12.6.0/bin/node" "/Users/marie/.nvm/versions/node/v12.6.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/marie/Development/sunrise/node_modules/node-memwatch
gyp ERR! node -v v12.6.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

mariecl avatar Jul 12 '19 19:07 mariecl

Linux error output
make: Verzeichnis „/home/paolo/code/epages-ui/node_modules/node-memwatch/build“ wird betreten
  CXX(target) Release/obj.target/memwatch/src/heapdiff.o
In file included from ../src/heapdiff.hh:11,
                 from ../src/heapdiff.cc:12:
../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
../../nan/nan.h:2298:62: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
     , reinterpret_cast(AsyncExecuteComplete)
                                                              ^
In file included from ../src/heapdiff.cc:12:
../src/heapdiff.hh: At global scope:
../src/heapdiff.hh:18:38: error: ‘v8::Handle’ has not been declared
         static void Initialize ( v8::Handle<:object> target );
                                      ^~~~~~
../src/heapdiff.hh:18:44: error: expected ‘,’ or ‘...’ before ‘ target );
                                            ^
../src/heapdiff.cc:46:38: error: variable or field ‘Initialize’ declared void
 heapdiff::HeapDiff::Initialize ( v8::Handle<:object> target )
                                      ^~~~~~
../src/heapdiff.cc:46:38: error: ‘Handle’ is not a member of ‘v8’
../src/heapdiff.cc:46:55: error: expected primary-expression before ‘>’ token
 heapdiff::HeapDiff::Initialize ( v8::Handle<:object> target )
                                                       ^
../src/heapdiff.cc:46:57: error: ‘target’ was not declared in this scope
 heapdiff::HeapDiff::Initialize ( v8::Handle<:object> target )
                                                         ^~~~~~
../src/heapdiff.cc:46:57: note: suggested alternative: ‘tzset’
 heapdiff::HeapDiff::Initialize ( v8::Handle<:object> target )
                                                         ^~~~~~
                                                         tzset
../src/heapdiff.cc: In function ‘std::__cxx11::string handleToStr(const v8::Local<:value>&)’:
../src/heapdiff.cc:97:53: error: no matching function for call to ‘v8::Value::ToString()’
  String::Utf8Value utfString(isolate, str->ToString());
                                                     ^
In file included from ../src/heapdiff.hh:8,
                 from ../src/heapdiff.cc:12:
/home/paolo/.node-gyp/12.4.0/include/node/v8.h:2528:44: note: candidate: ‘v8::MaybeLocal<:string> v8::Value::ToString(v8::Local<:context>) const’
   V8_WARN_UNUSED_RESULT MaybeLocal ToString(
                                            ^~~~~~~~
/home/paolo/.node-gyp/12.4.0/include/node/v8.h:2528:44: note:   candidate expects 1 argument, 0 provided
In file included from /home/paolo/.node-gyp/12.4.0/include/node/v8-internal.h:14,
                 from /home/paolo/.node-gyp/12.4.0/include/node/v8.h:25,
                 from ../src/heapdiff.hh:8,
                 from ../src/heapdiff.cc:12:
/home/paolo/.node-gyp/12.4.0/include/node/v8.h:2544:35: note: candidate: ‘v8::Local<:string> v8::Value::ToString(v8::Isolate*) const’
                     Local ToString(Isolate* isolate) const);
                                   ^~~~~~~~
/home/paolo/.node-gyp/12.4.0/include/node/v8config.h:322:3: note: in definition of macro ‘V8_DEPRECATE_SOON’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
/home/paolo/.node-gyp/12.4.0/include/node/v8.h:2544:35: note:   candidate expects 1 argument, 0 provided
                     Local ToString(Isolate* isolate) const);
                                   ^~~~~~~~
/home/paolo/.node-gyp/12.4.0/include/node/v8config.h:322:3: note: in definition of macro ‘V8_DEPRECATE_SOON’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
../src/heapdiff.cc: At global scope:
../src/heapdiff.cc:226:8: error: ‘Handle’ does not name a type; did you mean ‘rand_r’?
 static Handle changesetToObject(changeset & changes)
        ^~~~~~
        rand_r
../src/heapdiff.cc: In function ‘v8::Local<:value> compare(const v8::HeapSnapshot*, const v8::HeapSnapshot*)’:
../src/heapdiff.cc:255:81: warning: ‘bool v8::Object::Set(v8::Local<:value>, v8::Local<:value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
     b->Set(Nan::New("nodes").ToLocalChecked(), Nan::New(before->GetNodesCount()));
                                                                                 ^
In file included from /home/paolo/.node-gyp/12.4.0/include/node/v8-internal.h:14,
                 from /home/paolo/.node-gyp/12.4.0/include/node/v8.h:25,
                 from ../src/heapdiff.hh:8,
                 from ../src/heapdiff.cc:12:
/home/paolo/.node-gyp/12.4.0/include/node/v8.h:3359:26: note: declared here
                     bool Set(Local key, Local value));
                          ^~~
/home/paolo/.node-gyp/12.4.0/include/node/v8config.h:322:3: note: in definition of macro ‘V8_DEPRECATE_SOON’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
../src/heapdiff.cc:257:50: warning: ‘bool v8::Object::Set(v8::Local<:value>, v8::Local<:value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
     o->Set(Nan::New("before").ToLocalChecked(), b);
                                                  ^
In file included from /home/paolo/.node-gyp/12.4.0/include/node/v8-internal.h:14,
                 from /home/paolo/.node-gyp/12.4.0/include/node/v8.h:25,
                 from ../src/heapdiff.hh:8,
                 from ../src/heapdiff.cc:12:
/home/paolo/.node-gyp/12.4.0/include/node/v8.h:3359:26: note: declared here
                     bool Set(Local key, Local value));
                          ^~~
/home/paolo/.node-gyp/12.4.0/include/node/v8config.h:322:3: note: in definition of macro ‘V8_DEPRECATE_SOON’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
../src/heapdiff.cc:260:80: warning: ‘bool v8::Object::Set(v8::Local<:value>, v8::Local<:value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
     a->Set(Nan::New("nodes").ToLocalChecked(), Nan::New(after->GetNodesCount()));
                                                                                ^
In file included from /home/paolo/.node-gyp/12.4.0/include/node/v8-internal.h:14,
                 from /home/paolo/.node-gyp/12.4.0/include/node/v8.h:25,
                 from ../src/heapdiff.hh:8,
                 from ../src/heapdiff.cc:12:
/home/paolo/.node-gyp/12.4.0/include/node/v8.h:3359:26: note: declared here
                     bool Set(Local key, Local value));
                          ^~~
/home/paolo/.node-gyp/12.4.0/include/node/v8config.h:322:3: note: in definition of macro ‘V8_DEPRECATE_SOON’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
../src/heapdiff.cc:262:49: warning: ‘bool v8::Object::Set(v8::Local<:value>, v8::Local<:value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
     o->Set(Nan::New("after").ToLocalChecked(), a);
                                                 ^
In file included from /home/paolo/.node-gyp/12.4.0/include/node/v8-internal.h:14,
                 from /home/paolo/.node-gyp/12.4.0/include/node/v8.h:25,
                 from ../src/heapdiff.hh:8,
                 from ../src/heapdiff.cc:12:
/home/paolo/.node-gyp/12.4.0/include/node/v8.h:3359:26: note: declared here
                     bool Set(Local key, Local value));
                          ^~~
/home/paolo/.node-gyp/12.4.0/include/node/v8config.h:322:3: note: in definition of macro ‘V8_DEPRECATE_SOON’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
../src/heapdiff.cc:268:64: warning: ‘bool v8::Object::Set(v8::Local<:value>, v8::Local<:value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
     b->Set(Nan::New("size_bytes").ToLocalChecked(), Nan::New(s));
                                                                ^
In file included from /home/paolo/.node-gyp/12.4.0/include/node/v8-internal.h:14,
                 from /home/paolo/.node-gyp/12.4.0/include/node/v8.h:25,
                 from ../src/heapdiff.hh:8,
                 from ../src/heapdiff.cc:12:
/home/paolo/.node-gyp/12.4.0/include/node/v8.h:3359:26: note: declared here
                     bool Set(Local key, Local value));
                          ^~~
/home/paolo/.node-gyp/12.4.0/include/node/v8config.h:322:3: note: in definition of macro ‘V8_DEPRECATE_SOON’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
../src/heapdiff.cc:269:102: warning: ‘bool v8::Object::Set(v8::Local<:value>, v8::Local<:value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
     b->Set(Nan::New("size").ToLocalChecked(), Nan::New(mw_util::niceSize(s).c_str()).ToLocalChecked());
                                                                                                      ^
In file included from /home/paolo/.node-gyp/12.4.0/include/node/v8-internal.h:14,
                 from /home/paolo/.node-gyp/12.4.0/include/node/v8.h:25,
                 from ../src/heapdiff.hh:8,
                 from ../src/heapdiff.cc:12:
/home/paolo/.node-gyp/12.4.0/include/node/v8.h:3359:26: note: declared here
                     bool Set(Local key, Local value));
                          ^~~
/home/paolo/.node-gyp/12.4.0/include/node/v8config.h:322:3: note: in definition of macro ‘V8_DEPRECATE_SOON’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
../src/heapdiff.cc:274:64: warning: ‘bool v8::Object::Set(v8::Local<:value>, v8::Local<:value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
     a->Set(Nan::New("size_bytes").ToLocalChecked(), Nan::New(s));
                                                                ^
In file included from /home/paolo/.node-gyp/12.4.0/include/node/v8-internal.h:14,
                 from /home/paolo/.node-gyp/12.4.0/include/node/v8.h:25,
                 from ../src/heapdiff.hh:8,
                 from ../src/heapdiff.cc:12:
/home/paolo/.node-gyp/12.4.0/include/node/v8.h:3359:26: note: declared here
                     bool Set(Local key, Local value));
                          ^~~
/home/paolo/.node-gyp/12.4.0/include/node/v8config.h:322:3: note: in definition of macro ‘V8_DEPRECATE_SOON’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
../src/heapdiff.cc:275:102: warning: ‘bool v8::Object::Set(v8::Local<:value>, v8::Local<:value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
     a->Set(Nan::New("size").ToLocalChecked(), Nan::New(mw_util::niceSize(s).c_str()).ToLocalChecked());
                                                                                                      ^
In file included from /home/paolo/.node-gyp/12.4.0/include/node/v8-internal.h:14,
                 from /home/paolo/.node-gyp/12.4.0/include/node/v8.h:25,
                 from ../src/heapdiff.hh:8,
                 from ../src/heapdiff.cc:12:
/home/paolo/.node-gyp/12.4.0/include/node/v8.h:3359:26: note: declared here
                     bool Set(Local key, Local value));
                          ^~~
/home/paolo/.node-gyp/12.4.0/include/node/v8config.h:322:3: note: in definition of macro ‘V8_DEPRECATE_SOON’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
../src/heapdiff.cc:280:72: warning: ‘bool v8::Object::Set(v8::Local<:value>, v8::Local<:value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
     c->Set(Nan::New("size_bytes").ToLocalChecked(), Nan::New(diffBytes));
                                                                        ^
In file included from /home/paolo/.node-gyp/12.4.0/include/node/v8-internal.h:14,
                 from /home/paolo/.node-gyp/12.4.0/include/node/v8.h:25,
                 from ../src/heapdiff.hh:8,
                 from ../src/heapdiff.cc:12:
/home/paolo/.node-gyp/12.4.0/include/node/v8.h:3359:26: note: declared here
                     bool Set(Local key, Local value));
                          ^~~
/home/paolo/.node-gyp/12.4.0/include/node/v8config.h:322:3: note: in definition of macro ‘V8_DEPRECATE_SOON’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
../src/heapdiff.cc:281:110: warning: ‘bool v8::Object::Set(v8::Local<:value>, v8::Local<:value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
     c->Set(Nan::New("size").ToLocalChecked(), Nan::New(mw_util::niceSize(diffBytes).c_str()).ToLocalChecked());
                                                                                                              ^
In file included from /home/paolo/.node-gyp/12.4.0/include/node/v8-internal.h:14,
                 from /home/paolo/.node-gyp/12.4.0/include/node/v8.h:25,
                 from ../src/heapdiff.hh:8,
                 from ../src/heapdiff.cc:12:
/home/paolo/.node-gyp/12.4.0/include/node/v8.h:3359:26: note: declared here
                     bool Set(Local key, Local value));
                          ^~~
/home/paolo/.node-gyp/12.4.0/include/node/v8config.h:322:3: note: in definition of macro ‘V8_DEPRECATE_SOON’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
../src/heapdiff.cc:282:50: warning: ‘bool v8::Object::Set(v8::Local<:value>, v8::Local<:value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
     o->Set(Nan::New("change").ToLocalChecked(), c);
                                                  ^
In file included from /home/paolo/.node-gyp/12.4.0/include/node/v8-internal.h:14,
                 from /home/paolo/.node-gyp/12.4.0/include/node/v8.h:25,
                 from ../src/heapdiff.hh:8,
                 from ../src/heapdiff.cc:12:
/home/paolo/.node-gyp/12.4.0/include/node/v8.h:3359:26: note: declared here
                     bool Set(Local key, Local value));
                          ^~~
/home/paolo/.node-gyp/12.4.0/include/node/v8config.h:322:3: note: in definition of macro ‘V8_DEPRECATE_SOON’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
../src/heapdiff.cc:287:93: warning: ‘bool v8::Object::Set(v8::Local<:value>, v8::Local<:value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
     c->Set(Nan::New("freed_nodes").ToLocalChecked(), Nan::New<:number>(changedIDs.size()));
                                                                                             ^
In file included from /home/paolo/.node-gyp/12.4.0/include/node/v8-internal.h:14,
                 from /home/paolo/.node-gyp/12.4.0/include/node/v8.h:25,
                 from ../src/heapdiff.hh:8,
                 from ../src/heapdiff.cc:12:
/home/paolo/.node-gyp/12.4.0/include/node/v8.h:3359:26: note: declared here
                     bool Set(Local key, Local value));
                          ^~~
/home/paolo/.node-gyp/12.4.0/include/node/v8config.h:322:3: note: in definition of macro ‘V8_DEPRECATE_SOON’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
../src/heapdiff.cc:303:97: warning: ‘bool v8::Object::Set(v8::Local<:value>, v8::Local<:value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
     c->Set(Nan::New("allocated_nodes").ToLocalChecked(), Nan::New<:number>(changedIDs.size()));
                                                                                                 ^
In file included from /home/paolo/.node-gyp/12.4.0/include/node/v8-internal.h:14,
                 from /home/paolo/.node-gyp/12.4.0/include/node/v8.h:25,
                 from ../src/heapdiff.hh:8,
                 from ../src/heapdiff.cc:12:
/home/paolo/.node-gyp/12.4.0/include/node/v8.h:3359:26: note: declared here
                     bool Set(Local key, Local value));
                          ^~~
/home/paolo/.node-gyp/12.4.0/include/node/v8config.h:322:3: note: in definition of macro ‘V8_DEPRECATE_SOON’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
../src/heapdiff.cc:310:50: error: ‘changesetToObject’ was not declared in this scope
     c->Set(Nan::New("details").ToLocalChecked(), changesetToObject(changes));
                                                  ^~~~~~~~~~~~~~~~~
../src/heapdiff.cc:310:50: note: suggested alternative: ‘changeset’
     c->Set(Nan::New("details").ToLocalChecked(), changesetToObject(changes));
                                                  ^~~~~~~~~~~~~~~~~
                                                  changeset
In file included from ../src/heapdiff.hh:8,
                 from ../src/heapdiff.cc:12:
/home/paolo/.node-gyp/12.4.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase::SetWeak(P*, typename v8::WeakCallbackInfo

::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo

::Callback = void (*)(const v8::WeakCallbackInfo<:objectwrap>&)]’: /home/paolo/.node-gyp/12.4.0/include/node/node_object_wrap.h:84:78: required from here /home/paolo/.node-gyp/12.4.0/include/node/v8.h:9817:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<:objectwrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<:objectwrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo&)’} [-Wcast-function-type] reinterpret_cast(callback), type); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/paolo/.node-gyp/12.4.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase::SetWeak(P*, typename v8::WeakCallbackInfo

::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo

::Callback = void (*)(const v8::WeakCallbackInfo<:objectwrap>&)]’: ../../nan/nan_object_wrap.h:65:61: required from here /home/paolo/.node-gyp/12.4.0/include/node/v8.h:9817:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<:objectwrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<:objectwrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo&)’} [-Wcast-function-type] make: *** [memwatch.target.mk:110: Release/obj.target/memwatch/src/heapdiff.o] Fehler 1 make: Verzeichnis „/home/paolo/code/epages-ui/node_modules/node-memwatch/build“ wird verlassen gyp ERR! build error gyp ERR! stack Error: `make` failed with exit code: 2 gyp ERR! stack at ChildProcess.onExit (/home/paolo/code/epages-ui/node_modules/node-gyp/lib/build.js:262:23) gyp ERR! stack at ChildProcess.emit (events.js:200:13) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12) gyp ERR! System Linux 5.0.0-20-generic gyp ERR! command "/home/paolo/.nvm/versions/node/v12.4.0/bin/node" "/home/paolo/code/epages-ui/node_modules/.bin/node-gyp" "rebuild" gyp ERR! cwd /home/paolo/code/epages-ui/node_modules/node-memwatch gyp ERR! node -v v12.4.0 gyp ERR! node-gyp -v v4.0.0

depoulo avatar Jul 15 '19 08:07 depoulo

Any update?

JohanG2012 avatar Jul 21 '19 16:07 JohanG2012

Any further update on this issue?

coxrichuk avatar Oct 01 '19 13:10 coxrichuk

Not working for node 12.14.0

suhanw avatar Dec 19 '19 01:12 suhanw

Hi @eduardbcom ,

I have raised the PR which resolved the Node V12 build error. Can you review it and merge those changes. https://github.com/eduardbcom/node-memwatch/pull/5

venkateshwarlu-bavandla avatar Jan 23 '20 09:01 venkateshwarlu-bavandla

Hi @venkateshwarlu-bavandla, was your fix implemented? I'm trying to install in node 12.1.0 but the error persists.

juanmauricio avatar Mar 10 '22 17:03 juanmauricio