lloyd / node-memwatch

A NodeJS library to keep an eye on your memory usage, and discover and isolate leaks.
2.51k stars 302 forks source link

Fails to build on node v0.11.13, Ubuntu 14.04 #52

Open karolyi opened 10 years ago

karolyi commented 10 years ago
--(2303:Fri,09 May 14:$ )-- npm install memwatch
npm http GET https://registry.npmjs.org/memwatch
npm http 304 https://registry.npmjs.org/memwatch

> memwatch@0.2.2 install /home/web2/test/node_modules/memwatch
> node-gyp rebuild

make: Entering directory `/home/web2/test/node_modules/memwatch/build'
  CXX(target) Release/obj.target/memwatch/src/heapdiff.o
In file included from ../src/heapdiff.cc:5:0:
../src/heapdiff.hh:15:5: error: expected class-name before ‘{’ token
     {
     ^
../src/heapdiff.hh:19:49: error: ‘Arguments’ in namespace ‘v8’ does not name a type
         static v8::Handle<v8::Value> New( const v8::Arguments& args );
                                                 ^
../src/heapdiff.hh:19:64: error: ISO C++ forbids declaration of ‘args’ with no type [-fpermissive]
         static v8::Handle<v8::Value> New( const v8::Arguments& args );
                                                                ^
../src/heapdiff.hh:20:49: error: ‘Arguments’ in namespace ‘v8’ does not name a type
         static v8::Handle<v8::Value> End( const v8::Arguments& args );
                                                 ^
../src/heapdiff.hh:20:64: error: ISO C++ forbids declaration of ‘args’ with no type [-fpermissive]
         static v8::Handle<v8::Value> End( const v8::Arguments& args );
                                                                ^
../src/heapdiff.cc: In constructor ‘heapdiff::HeapDiff::HeapDiff()’:
../src/heapdiff.cc:30:34: error: class ‘heapdiff::HeapDiff’ does not have any field named ‘ObjectWrap’
 heapdiff::HeapDiff::HeapDiff() : ObjectWrap(), before(NULL), after(NULL),
                                  ^
In file included from ../src/heapdiff.hh:8:0,
                 from ../src/heapdiff.cc:5:
/home/web2/.node-gyp/0.11.13/deps/v8/include/v8.h: In static member function ‘static void heapdiff::HeapDiff::Initialize(v8::Handle<v8::Object>)’:
/home/web2/.node-gyp/0.11.13/deps/v8/include/v8.h:845:13: error: ‘v8::HandleScope::HandleScope()’ is protected
   V8_INLINE HandleScope() {}
             ^
../src/heapdiff.cc:51:21: error: within this context
     v8::HandleScope scope;
                     ^
../src/heapdiff.cc:52:70: error: no matching function for call to ‘v8::FunctionTemplate::New(v8::Handle<v8::Value> (&)(const int&))’
     v8::Local<v8::FunctionTemplate> t = v8::FunctionTemplate::New(New);
                                                                      ^
../src/heapdiff.cc:52:70: note: candidate is:
In file included from ../src/heapdiff.hh:8:0,
                 from ../src/heapdiff.cc:5:
/home/web2/.node-gyp/0.11.13/deps/v8/include/v8.h:3519:34: note: static v8::Local<v8::FunctionTemplate> v8::FunctionTemplate::New(v8::Isolate*, v8::FunctionCallback, v8::Handle<v8::Value>, v8::Handle<v8::Signature>, int)
   static Local<FunctionTemplate> New(
                                  ^
/home/web2/.node-gyp/0.11.13/deps/v8/include/v8.h:3519:34: note:   no known conversion for argument 1 from ‘v8::Handle<v8::Value>(const int&)’ to ‘v8::Isolate*’
../src/heapdiff.cc:54:21: error: ‘NewSymbol’ is not a member of ‘v8::String’
     t->SetClassName(String::NewSymbol("HeapDiff"));
                     ^
../src/heapdiff.cc:56:44: error: invalid conversion from ‘v8::Handle<v8::Value> (*)(const int&)’ to ‘v8::FunctionCallback {aka void (*)(const v8::FunctionCallbackInfo<v8::Value>&)}’ [-fpermissive]
     NODE_SET_PROTOTYPE_METHOD(t, "end", End);
                                            ^
In file included from ../src/heapdiff.hh:10:0,
                 from ../src/heapdiff.cc:5:
/home/web2/.node-gyp/0.11.13/src/node.h:210:13: error:   initializing argument 3 of ‘void node::NODE_SET_PROTOTYPE_METHOD(v8::Handle<v8::FunctionTemplate>, const char*, v8::FunctionCallback)’ [-fpermissive]
 inline void NODE_SET_PROTOTYPE_METHOD(v8::Handle<v8::FunctionTemplate> recv,
             ^
../src/heapdiff.cc:58:17: error: ‘NewSymbol’ is not a member of ‘v8::String’
     target->Set(v8::String::NewSymbol( "HeapDiff"), t->GetFunction());
                 ^
../src/heapdiff.cc: At global scope:
../src/heapdiff.cc:62:32: error: ‘Arguments’ in namespace ‘v8’ does not name a type
 heapdiff::HeapDiff::New (const v8::Arguments& args)
                                ^
../src/heapdiff.cc:62:47: error: ISO C++ forbids declaration of ‘args’ with no type [-fpermissive]
 heapdiff::HeapDiff::New (const v8::Arguments& args)
                                               ^
../src/heapdiff.cc: In static member function ‘static v8::Handle<v8::Value> heapdiff::HeapDiff::New(const int&)’:
../src/heapdiff.cc:67:15: error: request for member ‘IsConstructCall’ in ‘args’, which is of non-class type ‘const int’
     if (!args.IsConstructCall()) {
               ^
../src/heapdiff.cc:70:17: error: ‘New’ is not a member of ‘v8::String’
                 String::New("Use the new operator to create instances of this object.")));
                 ^
../src/heapdiff.cc:70:89: error: ‘ThrowException’ was not declared in this scope
                 String::New("Use the new operator to create instances of this object.")));
                                                                                         ^
In file included from ../src/heapdiff.hh:8:0,
                 from ../src/heapdiff.cc:5:
/home/web2/.node-gyp/0.11.13/deps/v8/include/v8.h:845:13: error: ‘v8::HandleScope::HandleScope()’ is protected
   V8_INLINE HandleScope() {}
             ^
../src/heapdiff.cc:73:21: error: within this context
     v8::HandleScope scope;
                     ^
../src/heapdiff.cc:77:11: error: ‘class heapdiff::HeapDiff’ has no member named ‘Wrap’
     self->Wrap(args.This());
           ^
../src/heapdiff.cc:77:21: error: request for member ‘This’ in ‘args’, which is of non-class type ‘const int’
     self->Wrap(args.This());
                     ^
../src/heapdiff.cc:82:20: error: ‘TakeSnapshot’ is not a member of ‘v8::HeapProfiler’
     self->before = v8::HeapProfiler::TakeSnapshot(v8::String::New(""));
                    ^
../src/heapdiff.cc:82:51: error: ‘New’ is not a member of ‘v8::String’
     self->before = v8::HeapProfiler::TakeSnapshot(v8::String::New(""));
                                                   ^
../src/heapdiff.cc:85:17: error: request for member ‘This’ in ‘args’, which is of non-class type ‘const int’
     return args.This();
                 ^
In file included from ../src/heapdiff.hh:8:0,
                 from ../src/heapdiff.cc:5:
/home/web2/.node-gyp/0.11.13/deps/v8/include/v8.h: In function ‘void buildIDSet(std::set<long unsigned int>*, const v8::HeapGraphNode*, int&)’:
/home/web2/.node-gyp/0.11.13/deps/v8/include/v8.h:845:13: error: ‘v8::HandleScope::HandleScope()’ is protected
   V8_INLINE HandleScope() {}
             ^
../src/heapdiff.cc:97:21: error: within this context
     v8::HandleScope scope;
                     ^
In file included from ../src/heapdiff.hh:8:0,
                 from ../src/heapdiff.cc:5:
/home/web2/.node-gyp/0.11.13/deps/v8/include/v8.h: In function ‘v8::Handle<v8::Value> changesetToObject(changeset&)’:
/home/web2/.node-gyp/0.11.13/deps/v8/include/v8.h:845:13: error: ‘v8::HandleScope::HandleScope()’ is protected
   V8_INLINE HandleScope() {}
             ^
../src/heapdiff.cc:213:21: error: within this context
     v8::HandleScope scope;
                     ^
../src/heapdiff.cc:214:33: error: no matching function for call to ‘v8::Array::New()’
     Local<Array> a = Array::New();
                                 ^
../src/heapdiff.cc:214:33: note: candidate is:
In file included from ../src/heapdiff.hh:8:0,
                 from ../src/heapdiff.cc:5:
/home/web2/.node-gyp/0.11.13/deps/v8/include/v8.h:2486:23: note: static v8::Local<v8::Array> v8::Array::New(v8::Isolate*, int)
   static Local<Array> New(Isolate* isolate, int length = 0);
                       ^
/home/web2/.node-gyp/0.11.13/deps/v8/include/v8.h:2486:23: note:   candidate expects 2 arguments, 0 provided
../src/heapdiff.cc:217:39: error: no matching function for call to ‘v8::Object::New()’
         Local<Object> d = Object::New();
                                       ^
../src/heapdiff.cc:217:39: note: candidate is:
In file included from ../src/heapdiff.hh:8:0,
                 from ../src/heapdiff.cc:5:
/home/web2/.node-gyp/0.11.13/deps/v8/include/v8.h:2457:24: note: static v8::Local<v8::Object> v8::Object::New(v8::Isolate*)
   static Local<Object> New(Isolate* isolate);
                        ^
/home/web2/.node-gyp/0.11.13/deps/v8/include/v8.h:2457:24: note:   candidate expects 1 argument, 0 provided
../src/heapdiff.cc:218:16: error: ‘New’ is not a member of ‘v8::String’
         d->Set(String::New("what"), String::New(i->first.c_str()));
                ^
../src/heapdiff.cc:218:37: error: ‘New’ is not a member of ‘v8::String’
         d->Set(String::New("what"), String::New(i->first.c_str()));
                                     ^
../src/heapdiff.cc:219:16: error: ‘New’ is not a member of ‘v8::String’
         d->Set(String::New("size_bytes"), Integer::New(i->second.size));
                ^
../src/heapdiff.cc:219:70: error: no matching function for call to ‘v8::Integer::New(long int&)’
         d->Set(String::New("size_bytes"), Integer::New(i->second.size));
                                                                      ^
../src/heapdiff.cc:219:70: note: candidate is:
In file included from ../src/heapdiff.hh:8:0,
                 from ../src/heapdiff.cc:5:
/home/web2/.node-gyp/0.11.13/deps/v8/include/v8.h:2074:25: note: static v8::Local<v8::Integer> v8::Integer::New(v8::Isolate*, int32_t)
   static Local<Integer> New(Isolate* isolate, int32_t value);
                         ^
/home/web2/.node-gyp/0.11.13/deps/v8/include/v8.h:2074:25: note:   candidate expects 2 arguments, 1 provided
../src/heapdiff.cc:220:16: error: ‘New’ is not a member of ‘v8::String’
         d->Set(String::New("size"), String::New(mw_util::niceSize(i->second.size).c_str()));
                ^
../src/heapdiff.cc:220:37: error: ‘New’ is not a member of ‘v8::String’
         d->Set(String::New("size"), String::New(mw_util::niceSize(i->second.size).c_str()));
                                     ^
../src/heapdiff.cc:221:16: error: ‘New’ is not a member of ‘v8::String’
         d->Set(String::New("+"), Integer::New(i->second.added));
                ^
../src/heapdiff.cc:221:62: error: no matching function for call to ‘v8::Integer::New(long int&)’
         d->Set(String::New("+"), Integer::New(i->second.added));
                                                              ^
../src/heapdiff.cc:221:62: note: candidate is:
In file included from ../src/heapdiff.hh:8:0,
                 from ../src/heapdiff.cc:5:
/home/web2/.node-gyp/0.11.13/deps/v8/include/v8.h:2074:25: note: static v8::Local<v8::Integer> v8::Integer::New(v8::Isolate*, int32_t)
   static Local<Integer> New(Isolate* isolate, int32_t value);
                         ^
/home/web2/.node-gyp/0.11.13/deps/v8/include/v8.h:2074:25: note:   candidate expects 2 arguments, 1 provided
../src/heapdiff.cc:222:16: error: ‘New’ is not a member of ‘v8::String’
         d->Set(String::New("-"), Integer::New(i->second.released));
                ^
../src/heapdiff.cc:222:65: error: no matching function for call to ‘v8::Integer::New(long int&)’
         d->Set(String::New("-"), Integer::New(i->second.released));
                                                                 ^
../src/heapdiff.cc:222:65: note: candidate is:
In file included from ../src/heapdiff.hh:8:0,
                 from ../src/heapdiff.cc:5:
/home/web2/.node-gyp/0.11.13/deps/v8/include/v8.h:2074:25: note: static v8::Local<v8::Integer> v8::Integer::New(v8::Isolate*, int32_t)
   static Local<Integer> New(Isolate* isolate, int32_t value);
                         ^
/home/web2/.node-gyp/0.11.13/deps/v8/include/v8.h:2074:25: note:   candidate expects 2 arguments, 1 provided
../src/heapdiff.cc:226:18: error: ‘class v8::HandleScope’ has no member named ‘Close’
     return scope.Close(a);
                  ^
In file included from ../src/heapdiff.hh:8:0,
                 from ../src/heapdiff.cc:5:
/home/web2/.node-gyp/0.11.13/deps/v8/include/v8.h: In function ‘v8::Handle<v8::Value> compare(const v8::HeapSnapshot*, const v8::HeapSnapshot*)’:
/home/web2/.node-gyp/0.11.13/deps/v8/include/v8.h:845:13: error: ‘v8::HandleScope::HandleScope()’ is protected
   V8_INLINE HandleScope() {}
             ^
../src/heapdiff.cc:233:21: error: within this context
     v8::HandleScope scope;
                     ^
../src/heapdiff.cc:236:35: error: no matching function for call to ‘v8::Object::New()’
     Local<Object> o = Object::New();
                                   ^
../src/heapdiff.cc:236:35: note: candidate is:
In file included from ../src/heapdiff.hh:8:0,
                 from ../src/heapdiff.cc:5:
/home/web2/.node-gyp/0.11.13/deps/v8/include/v8.h:2457:24: note: static v8::Local<v8::Object> v8::Object::New(v8::Isolate*)
   static Local<Object> New(Isolate* isolate);
                        ^
/home/web2/.node-gyp/0.11.13/deps/v8/include/v8.h:2457:24: note:   candidate expects 1 argument, 0 provided
../src/heapdiff.cc:239:35: error: no matching function for call to ‘v8::Object::New()’
     Local<Object> b = Object::New();
                                   ^
../src/heapdiff.cc:239:35: note: candidate is:
In file included from ../src/heapdiff.hh:8:0,
                 from ../src/heapdiff.cc:5:
/home/web2/.node-gyp/0.11.13/deps/v8/include/v8.h:2457:24: note: static v8::Local<v8::Object> v8::Object::New(v8::Isolate*)
   static Local<Object> New(Isolate* isolate);
                        ^
/home/web2/.node-gyp/0.11.13/deps/v8/include/v8.h:2457:24: note:   candidate expects 1 argument, 0 provided
../src/heapdiff.cc:240:12: error: ‘New’ is not a member of ‘v8::String’
     b->Set(String::New("nodes"), Integer::New(before->GetNodesCount()));
            ^
../src/heapdiff.cc:240:70: error: no matching function for call to ‘v8::Integer::New(int)’
     b->Set(String::New("nodes"), Integer::New(before->GetNodesCount()));
                                                                      ^
../src/heapdiff.cc:240:70: note: candidate is:
In file included from ../src/heapdiff.hh:8:0,
                 from ../src/heapdiff.cc:5:
/home/web2/.node-gyp/0.11.13/deps/v8/include/v8.h:2074:25: note: static v8::Local<v8::Integer> v8::Integer::New(v8::Isolate*, int32_t)
   static Local<Integer> New(Isolate* isolate, int32_t value);
                         ^
/home/web2/.node-gyp/0.11.13/deps/v8/include/v8.h:2074:25: note:   candidate expects 2 arguments, 1 provided
../src/heapdiff.cc:241:12: error: ‘New’ is not a member of ‘v8::String’
     b->Set(String::New("time"), NODE_UNIXTIME_V8(s_startTime));
            ^
In file included from ../src/heapdiff.hh:10:0,
                 from ../src/heapdiff.cc:5:
/home/web2/.node-gyp/0.11.13/src/node.h:175:70: error: no matching function for call to ‘v8::Date::New(double)’
 #define NODE_UNIXTIME_V8(t) v8::Date::New(1000*static_cast<double>(t))
                                                                      ^
../src/heapdiff.cc:241:33: note: in expansion of macro ‘NODE_UNIXTIME_V8’
     b->Set(String::New("time"), NODE_UNIXTIME_V8(s_startTime));
                                 ^
/home/web2/.node-gyp/0.11.13/src/node.h:175:70: note: candidate is:
 #define NODE_UNIXTIME_V8(t) v8::Date::New(1000*static_cast<double>(t))
                                                                      ^
../src/heapdiff.cc:241:33: note: in expansion of macro ‘NODE_UNIXTIME_V8’
     b->Set(String::New("time"), NODE_UNIXTIME_V8(s_startTime));
                                 ^
In file included from ../src/heapdiff.hh:8:0,
                 from ../src/heapdiff.cc:5:
/home/web2/.node-gyp/0.11.13/deps/v8/include/v8.h:3071:23: note: static v8::Local<v8::Value> v8::Date::New(v8::Isolate*, double)
   static Local<Value> New(Isolate* isolate, double time);
                       ^
/home/web2/.node-gyp/0.11.13/deps/v8/include/v8.h:3071:23: note:   candidate expects 2 arguments, 1 provided
../src/heapdiff.cc:242:12: error: ‘New’ is not a member of ‘v8::String’
     o->Set(String::New("before"), b);
            ^
../src/heapdiff.cc:244:35: error: no matching function for call to ‘v8::Object::New()’
     Local<Object> a = Object::New();
                                   ^
../src/heapdiff.cc:244:35: note: candidate is:
In file included from ../src/heapdiff.hh:8:0,
                 from ../src/heapdiff.cc:5:
/home/web2/.node-gyp/0.11.13/deps/v8/include/v8.h:2457:24: note: static v8::Local<v8::Object> v8::Object::New(v8::Isolate*)
   static Local<Object> New(Isolate* isolate);
                        ^
/home/web2/.node-gyp/0.11.13/deps/v8/include/v8.h:2457:24: note:   candidate expects 1 argument, 0 provided
../src/heapdiff.cc:245:12: error: ‘New’ is not a member of ‘v8::String’
     a->Set(String::New("nodes"), Integer::New(after->GetNodesCount()));
            ^
../src/heapdiff.cc:245:69: error: no matching function for call to ‘v8::Integer::New(int)’
     a->Set(String::New("nodes"), Integer::New(after->GetNodesCount()));
                                                                     ^
../src/heapdiff.cc:245:69: note: candidate is:
In file included from ../src/heapdiff.hh:8:0,
                 from ../src/heapdiff.cc:5:
/home/web2/.node-gyp/0.11.13/deps/v8/include/v8.h:2074:25: note: static v8::Local<v8::Integer> v8::Integer::New(v8::Isolate*, int32_t)
   static Local<Integer> New(Isolate* isolate, int32_t value);
                         ^
/home/web2/.node-gyp/0.11.13/deps/v8/include/v8.h:2074:25: note:   candidate expects 2 arguments, 1 provided
../src/heapdiff.cc:246:12: error: ‘New’ is not a member of ‘v8::String’
     a->Set(String::New("time"), NODE_UNIXTIME_V8(time(NULL)));
            ^
In file included from ../src/heapdiff.hh:10:0,
                 from ../src/heapdiff.cc:5:
/home/web2/.node-gyp/0.11.13/src/node.h:175:70: error: no matching function for call to ‘v8::Date::New(double)’
 #define NODE_UNIXTIME_V8(t) v8::Date::New(1000*static_cast<double>(t))
                                                                      ^
../src/heapdiff.cc:246:33: note: in expansion of macro ‘NODE_UNIXTIME_V8’
     a->Set(String::New("time"), NODE_UNIXTIME_V8(time(NULL)));
                                 ^
/home/web2/.node-gyp/0.11.13/src/node.h:175:70: note: candidate is:
 #define NODE_UNIXTIME_V8(t) v8::Date::New(1000*static_cast<double>(t))
                                                                      ^
../src/heapdiff.cc:246:33: note: in expansion of macro ‘NODE_UNIXTIME_V8’
     a->Set(String::New("time"), NODE_UNIXTIME_V8(time(NULL)));
                                 ^
In file included from ../src/heapdiff.hh:8:0,
                 from ../src/heapdiff.cc:5:
/home/web2/.node-gyp/0.11.13/deps/v8/include/v8.h:3071:23: note: static v8::Local<v8::Value> v8::Date::New(v8::Isolate*, double)
   static Local<Value> New(Isolate* isolate, double time);
                       ^
/home/web2/.node-gyp/0.11.13/deps/v8/include/v8.h:3071:23: note:   candidate expects 2 arguments, 1 provided
../src/heapdiff.cc:247:12: error: ‘New’ is not a member of ‘v8::String’
     o->Set(String::New("after"), a);
            ^
../src/heapdiff.cc:253:12: error: ‘New’ is not a member of ‘v8::String’
     b->Set(String::New("size_bytes"), Integer::New(s));
            ^
../src/heapdiff.cc:253:53: error: no matching function for call to ‘v8::Integer::New(int&)’
     b->Set(String::New("size_bytes"), Integer::New(s));
                                                     ^
../src/heapdiff.cc:253:53: note: candidate is:
In file included from ../src/heapdiff.hh:8:0,
                 from ../src/heapdiff.cc:5:
/home/web2/.node-gyp/0.11.13/deps/v8/include/v8.h:2074:25: note: static v8::Local<v8::Integer> v8::Integer::New(v8::Isolate*, int32_t)
   static Local<Integer> New(Isolate* isolate, int32_t value);
                         ^
/home/web2/.node-gyp/0.11.13/deps/v8/include/v8.h:2074:25: note:   candidate expects 2 arguments, 1 provided
../src/heapdiff.cc:254:12: error: ‘New’ is not a member of ‘v8::String’
     b->Set(String::New("size"), String::New(mw_util::niceSize(s).c_str()));
            ^
../src/heapdiff.cc:254:33: error: ‘New’ is not a member of ‘v8::String’
     b->Set(String::New("size"), String::New(mw_util::niceSize(s).c_str()));
                                 ^
../src/heapdiff.cc:259:12: error: ‘New’ is not a member of ‘v8::String’
     a->Set(String::New("size_bytes"), Integer::New(s));
            ^
../src/heapdiff.cc:259:53: error: no matching function for call to ‘v8::Integer::New(int&)’
     a->Set(String::New("size_bytes"), Integer::New(s));
                                                     ^
../src/heapdiff.cc:259:53: note: candidate is:
In file included from ../src/heapdiff.hh:8:0,
                 from ../src/heapdiff.cc:5:
/home/web2/.node-gyp/0.11.13/deps/v8/include/v8.h:2074:25: note: static v8::Local<v8::Integer> v8::Integer::New(v8::Isolate*, int32_t)
   static Local<Integer> New(Isolate* isolate, int32_t value);
                         ^
/home/web2/.node-gyp/0.11.13/deps/v8/include/v8.h:2074:25: note:   candidate expects 2 arguments, 1 provided
../src/heapdiff.cc:260:12: error: ‘New’ is not a member of ‘v8::String’
     a->Set(String::New("size"), String::New(mw_util::niceSize(s).c_str()));
            ^
../src/heapdiff.cc:260:33: error: ‘New’ is not a member of ‘v8::String’
     a->Set(String::New("size"), String::New(mw_util::niceSize(s).c_str()));
                                 ^
../src/heapdiff.cc:264:35: error: no matching function for call to ‘v8::Object::New()’
     Local<Object> c = Object::New();
                                   ^
../src/heapdiff.cc:264:35: note: candidate is:
In file included from ../src/heapdiff.hh:8:0,
                 from ../src/heapdiff.cc:5:
/home/web2/.node-gyp/0.11.13/deps/v8/include/v8.h:2457:24: note: static v8::Local<v8::Object> v8::Object::New(v8::Isolate*)
   static Local<Object> New(Isolate* isolate);
                        ^
/home/web2/.node-gyp/0.11.13/deps/v8/include/v8.h:2457:24: note:   candidate expects 1 argument, 0 provided
../src/heapdiff.cc:265:12: error: ‘New’ is not a member of ‘v8::String’
     c->Set(String::New("size_bytes"), Integer::New(diffBytes));
            ^
../src/heapdiff.cc:265:61: error: no matching function for call to ‘v8::Integer::New(int&)’
     c->Set(String::New("size_bytes"), Integer::New(diffBytes));
                                                             ^
../src/heapdiff.cc:265:61: note: candidate is:
In file included from ../src/heapdiff.hh:8:0,
                 from ../src/heapdiff.cc:5:
/home/web2/.node-gyp/0.11.13/deps/v8/include/v8.h:2074:25: note: static v8::Local<v8::Integer> v8::Integer::New(v8::Isolate*, int32_t)
   static Local<Integer> New(Isolate* isolate, int32_t value);
                         ^
/home/web2/.node-gyp/0.11.13/deps/v8/include/v8.h:2074:25: note:   candidate expects 2 arguments, 1 provided
../src/heapdiff.cc:266:12: error: ‘New’ is not a member of ‘v8::String’
     c->Set(String::New("size"), String::New(mw_util::niceSize(diffBytes).c_str()));
            ^
../src/heapdiff.cc:266:33: error: ‘New’ is not a member of ‘v8::String’
     c->Set(String::New("size"), String::New(mw_util::niceSize(diffBytes).c_str()));
                                 ^
../src/heapdiff.cc:267:12: error: ‘New’ is not a member of ‘v8::String’
     o->Set(String::New("change"), c);
            ^
../src/heapdiff.cc:272:12: error: ‘New’ is not a member of ‘v8::String’
     c->Set(String::New("freed_nodes"), Integer::New(changedIDs.size()));
            ^
../src/heapdiff.cc:272:70: error: no matching function for call to ‘v8::Integer::New(std::vector<long unsigned int>::size_type)’
     c->Set(String::New("freed_nodes"), Integer::New(changedIDs.size()));
                                                                      ^
../src/heapdiff.cc:272:70: note: candidate is:
In file included from ../src/heapdiff.hh:8:0,
                 from ../src/heapdiff.cc:5:
/home/web2/.node-gyp/0.11.13/deps/v8/include/v8.h:2074:25: note: static v8::Local<v8::Integer> v8::Integer::New(v8::Isolate*, int32_t)
   static Local<Integer> New(Isolate* isolate, int32_t value);
                         ^
/home/web2/.node-gyp/0.11.13/deps/v8/include/v8.h:2074:25: note:   candidate expects 2 arguments, 1 provided
../src/heapdiff.cc:288:12: error: ‘New’ is not a member of ‘v8::String’
     c->Set(String::New("allocated_nodes"), Integer::New(changedIDs.size()));
            ^
../src/heapdiff.cc:288:74: error: no matching function for call to ‘v8::Integer::New(std::vector<long unsigned int>::size_type)’
     c->Set(String::New("allocated_nodes"), Integer::New(changedIDs.size()));
                                                                          ^
../src/heapdiff.cc:288:74: note: candidate is:
In file included from ../src/heapdiff.hh:8:0,
                 from ../src/heapdiff.cc:5:
/home/web2/.node-gyp/0.11.13/deps/v8/include/v8.h:2074:25: note: static v8::Local<v8::Integer> v8::Integer::New(v8::Isolate*, int32_t)
   static Local<Integer> New(Isolate* isolate, int32_t value);
                         ^
/home/web2/.node-gyp/0.11.13/deps/v8/include/v8.h:2074:25: note:   candidate expects 2 arguments, 1 provided
../src/heapdiff.cc:295:12: error: ‘New’ is not a member of ‘v8::String’
     c->Set(String::New("details"), changesetToObject(changes));
            ^
../src/heapdiff.cc:297:18: error: ‘class v8::HandleScope’ has no member named ‘Close’
     return scope.Close(o);
                  ^
../src/heapdiff.cc: At global scope:
../src/heapdiff.cc:301:32: error: ‘Arguments’ does not name a type
 heapdiff::HeapDiff::End( const Arguments& args )
                                ^
../src/heapdiff.cc:301:43: error: ISO C++ forbids declaration of ‘args’ with no type [-fpermissive]
 heapdiff::HeapDiff::End( const Arguments& args )
                                           ^
In file included from ../src/heapdiff.hh:8:0,
                 from ../src/heapdiff.cc:5:
/home/web2/.node-gyp/0.11.13/deps/v8/include/v8.h: In static member function ‘static v8::Handle<v8::Value> heapdiff::HeapDiff::End(const int&)’:
/home/web2/.node-gyp/0.11.13/deps/v8/include/v8.h:845:13: error: ‘v8::HandleScope::HandleScope()’ is protected
   V8_INLINE HandleScope() {}
             ^
../src/heapdiff.cc:304:21: error: within this context
     v8::HandleScope scope;
                     ^
../src/heapdiff.cc:306:19: error: ‘Unwrap’ was not declared in this scope
     HeapDiff *t = Unwrap<HeapDiff>( args.This() );
                   ^
../src/heapdiff.cc:306:34: error: expected primary-expression before ‘>’ token
     HeapDiff *t = Unwrap<HeapDiff>( args.This() );
                                  ^
../src/heapdiff.cc:306:42: error: request for member ‘This’ in ‘args’, which is of non-class type ‘const int’
     HeapDiff *t = Unwrap<HeapDiff>( args.This() );
                                          ^
../src/heapdiff.cc:312:16: error: ‘ThrowException’ is not a member of ‘v8’
         return v8::ThrowException(
                ^
../src/heapdiff.cc:314:17: error: ‘New’ is not a member of ‘v8::String’
                 v8::String::New("attempt to end() a HeapDiff that was "
                 ^
../src/heapdiff.cc:320:16: error: ‘TakeSnapshot’ is not a member of ‘v8::HeapProfiler’
     t->after = v8::HeapProfiler::TakeSnapshot(v8::String::New(""));
                ^
../src/heapdiff.cc:320:47: error: ‘New’ is not a member of ‘v8::String’
     t->after = v8::HeapProfiler::TakeSnapshot(v8::String::New(""));
                                               ^
../src/heapdiff.cc:331:18: error: ‘class v8::HandleScope’ has no member named ‘Close’
     return scope.Close(comparison);
                  ^
../src/heapdiff.cc: In static member function ‘static v8::Handle<v8::Value> heapdiff::HeapDiff::New(const int&)’:
../src/heapdiff.cc:86:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
../src/heapdiff.cc: In static member function ‘static v8::Handle<v8::Value> heapdiff::HeapDiff::End(const int&)’:
../src/heapdiff.cc:332:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
../src/heapdiff.cc: In function ‘v8::Handle<v8::Value> compare(const v8::HeapSnapshot*, const v8::HeapSnapshot*)’:
../src/heapdiff.cc:298:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
make: *** [Release/obj.target/memwatch/src/heapdiff.o] Error 1
make: Leaving directory `/home/web2/test/node_modules/memwatch/build'
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/home/web2/.nvm/v0.11.13/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:267:23)
gyp ERR! stack     at ChildProcess.EventEmitter.emit (events.js:110:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:1046:12)
gyp ERR! System Linux 3.13.0-24-generic
gyp ERR! command "node" "/home/web2/.nvm/v0.11.13/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/web2/test/node_modules/memwatch
gyp ERR! node -v v0.11.13
gyp ERR! node-gyp -v v0.13.0
gyp ERR! not ok 
npm ERR! memwatch@0.2.2 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the memwatch@0.2.2 install script.
npm ERR! This is most likely a problem with the memwatch package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get their info via:
npm ERR!     npm owner ls memwatch
npm ERR! There is likely additional logging output above.

npm ERR! System Linux 3.13.0-24-generic
npm ERR! command "/home/web2/.nvm/v0.11.13/bin/node" "/home/web2/.nvm/v0.11.13/bin/npm" "install" "memwatch"
npm ERR! cwd /home/web2/test
npm ERR! node -v v0.11.13
npm ERR! npm -v 1.4.9
npm ERR! code ELIFECYCLE
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /home/web2/test/npm-debug.log
npm ERR! not ok code 0

I suggest you look into this, might be an easy fix: https://github.com/dainis/node-gcstats/issues/1

karolyi commented 10 years ago

also, this: https://github.com/rvagg/nan

LorenAmelang commented 10 years ago

Just hit this same error (well at least the first screenfull is identical) in Ubuntu 12.04 ARM (BBB) with node v0.11.14-pre. Tried both the npm install and the Git clone. Looks to me like the gyp included here is way old:

ubuntu@ubuntu-armhf:~/Ldrv/memwatch$ npm outdated
npm http GET https://registry.npmjs.org/mocha
npm http GET https://registry.npmjs.org/should
npm http GET https://registry.npmjs.org/node-gyp
npm http 304 https://registry.npmjs.org/should
npm http 304 https://registry.npmjs.org/mocha
npm http 304 https://registry.npmjs.org/node-gyp
Package   Current  Wanted  Latest  Location
should      0.6.3   0.6.3   4.0.4  should
mocha       1.2.2   1.2.2  1.20.1  mocha
node-gyp    0.5.7   0.5.7  0.13.1  node-gyp
ubuntu@ubuntu-armhf:~/Ldrv/memwatch$

I've been able to get past this in other packages by forcing use of a new gyp, but when there are other outdated packages it just gets to be too much hassle. Am I missing some easy way to work around this?

Could we get a version that includes the current node-gyp?

deepak1556 commented 10 years ago

added v0.11 support in this PR #56 :)

runspired commented 10 years ago

I'm still getting this issue

jpgcc commented 10 years ago

I get this issue. Output:

gyp ERR! build error 
gyp ERR! stack Error: not found: make
gyp ERR! stack     at F (/usr/lib/node_modules/npm/node_modules/which/which.js:43:28)
gyp ERR! stack     at E (/usr/lib/node_modules/npm/node_modules/which/which.js:46:29)
gyp ERR! stack     at /usr/lib/node_modules/npm/node_modules/which/which.js:57:16
gyp ERR! stack     at Object.oncomplete (evalmachine.<anonymous>:107:15)
gyp ERR! System Linux 3.11.0-12-generic
gyp ERR! command "node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /usr/lib/node_modules/memwatch
gyp ERR! node -v v0.10.32
gyp ERR! node-gyp -v v1.0.1
gyp ERR! not ok 

npm ERR! memwatch@0.2.2 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the memwatch@0.2.2 install script.
npm ERR! This is most likely a problem with the memwatch package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get their info via:
npm ERR!     npm owner ls memwatch
npm ERR! There is likely additional logging output above.
npm ERR! System Linux 3.11.0-12-generic
npm ERR! command "/usr/bin/node" "/usr/bin/npm" "install" "-g" "memwatch"
npm ERR! cwd /tmp/dpd/deployd
npm ERR! node -v v0.10.32
npm ERR! npm -v 1.4.28
npm ERR! code ELIFECYCLE
npm ERR! not ok code 0
ruimarinho commented 10 years ago

@jpgcc use the PR mentioned above for node 0.11 support (https://github.com/lloyd/node-memwatch/pull/56)

mgol commented 10 years ago

memwatch doesn't seem to be maintained anymore. Last commit was 2 years ago and PRs & issues are not addressed. Perhaps it's time to look for a replacement.

framerate commented 9 years ago

@tjfontaine - did as you requested at #noderoad and tried 0.11.14. This issue seems to be what is restricting myself and others from moving 0.10 --> 0.11.

I guess we can remove memwatch, though.