Skip to content

Install fails on Node 12Β #2

@mariecl

Description

@mariecl

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions