Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bonescript module will not install on latest stable node v0.12.0 #106

Closed
faddah opened this issue Mar 13, 2015 · 8 comments
Closed

bonescript module will not install on latest stable node v0.12.0 #106

faddah opened this issue Mar 13, 2015 · 8 comments

Comments

@faddah
Copy link

faddah commented Mar 13, 2015

hello,

i'm runniing node v0.12.0 and npm v2.7.1.

when attempting to install bonescript so i can start programming with my beagle board black rev. c, using $ npm install -g bonescript, it will not install. i get the following —

$ npm install -g bonescript
npm WARN engine systemd@0.2.6: wanted: {"node":">=0.6.11 <0.11.0"} (current: {"node":"0.12.0","npm":"2.5.1"})
npm WARN engine serialport@1.2.5: wanted: {"node":"0.10.x"} (current: {"node":"0.12.0","npm":"2.5.1"})

> epoll@0.0.7 install /usr/local/.nvm/versions/node/v0.12.0/lib/node_modules/bonescript/node_modules/epoll
> node-gyp rebuild

child_process: customFds option is deprecated, use stdio instead.
make: Entering directory `/usr/local/.nvm/versions/node/v0.12.0/lib/node_modules/bonescript/node_modules/epoll/build'
  CXX(target) Release/obj.target/epoll/src/epoll.o
In file included from ../src/epoll.cc:17:0:
../node_modules/nan/nan.h: In function ‘v8::Handle<v8::Value> NanError(const char*)’:
../node_modules/nan/nan.h:252:9: error: ‘New’ is not a member of ‘v8::String’
     fun(v8::String::New(errmsg))
         ^
../node_modules/nan/nan.h:261:12: note: in expansion of macro ‘_NAN_ERROR’
    return  _NAN_ERROR(v8::Exception::Error, errmsg);
            ^
../node_modules/nan/nan.h: In function ‘void NanThrowError(const char*)’:
../node_modules/nan/nan.h:257:7: error: ‘ThrowException’ is not a member of ‘v8’
       v8::ThrowException(_NAN_ERROR(fun, errmsg));                             \
       ^
../node_modules/nan/nan.h:265:5: note: in expansion of macro ‘_NAN_THROW_ERROR’
     _NAN_THROW_ERROR(v8::Exception::Error, errmsg);
     ^
../node_modules/nan/nan.h:252:9: error: ‘New’ is not a member of ‘v8::String’
     fun(v8::String::New(errmsg))
         ^
../node_modules/nan/nan.h:257:26: note: in expansion of macro ‘_NAN_ERROR’
       v8::ThrowException(_NAN_ERROR(fun, errmsg));                             \
                          ^
../node_modules/nan/nan.h:265:5: note: in expansion of macro ‘_NAN_THROW_ERROR’
     _NAN_THROW_ERROR(v8::Exception::Error, errmsg);
     ^
../node_modules/nan/nan.h: In function ‘void NanThrowError(v8::Handle<v8::Value>)’:
../node_modules/nan/nan.h:270:5: error: ‘ThrowException’ is not a member of ‘v8’
     v8::ThrowException(error);
     ^
../node_modules/nan/nan.h: In function ‘v8::Handle<v8::Value> NanError(const char*, int)’:
../node_modules/nan/nan.h:276:53: error: ‘New’ is not a member of ‘v8::String’
     v8::Local<v8::Value> err = v8::Exception::Error(v8::String::New(msg));
                                                     ^
../node_modules/nan/nan.h:278:14: error: ‘New’ is not a member of ‘v8::String’
     obj->Set(v8::String::New("code"), v8::Int32::New(errorNumber));
              ^
../node_modules/nan/nan.h:278:65: error: no matching function for call to ‘v8::Int32::New(const int&)’
     obj->Set(v8::String::New("code"), v8::Int32::New(errorNumber));
                                                                 ^
../node_modules/nan/nan.h:278:65: note: candidate is:
In file included from ../src/epoll.cc:13:0:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:2012:25: note: static v8::Local<v8::Integer> v8::Integer::New(v8::Isolate*, int32_t)
   static Local<Integer> New(Isolate* isolate, int32_t value);
                         ^
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:2012:25: note:   candidate expects 2 arguments, 1 provided
In file included from ../src/epoll.cc:17:0:
../node_modules/nan/nan.h: In function ‘v8::Handle<v8::Value> NanTypeError(const char*)’:
../node_modules/nan/nan.h:252:9: error: ‘New’ is not a member of ‘v8::String’
     fun(v8::String::New(errmsg))
         ^
../node_modules/nan/nan.h:289:12: note: in expansion of macro ‘_NAN_ERROR’
     return _NAN_ERROR(v8::Exception::TypeError, errmsg);
            ^
../node_modules/nan/nan.h: In function ‘void NanThrowTypeError(const char*)’:
../node_modules/nan/nan.h:257:7: error: ‘ThrowException’ is not a member of ‘v8’
       v8::ThrowException(_NAN_ERROR(fun, errmsg));                             \
       ^
../node_modules/nan/nan.h:293:5: note: in expansion of macro ‘_NAN_THROW_ERROR’
     _NAN_THROW_ERROR(v8::Exception::TypeError, errmsg);
     ^
../node_modules/nan/nan.h:252:9: error: ‘New’ is not a member of ‘v8::String’
     fun(v8::String::New(errmsg))
         ^
../node_modules/nan/nan.h:257:26: note: in expansion of macro ‘_NAN_ERROR’
       v8::ThrowException(_NAN_ERROR(fun, errmsg));                             \
                          ^
../node_modules/nan/nan.h:293:5: note: in expansion of macro ‘_NAN_THROW_ERROR’
     _NAN_THROW_ERROR(v8::Exception::TypeError, errmsg);
     ^
../node_modules/nan/nan.h: In function ‘v8::Handle<v8::Value> NanRangeError(const char*)’:
../node_modules/nan/nan.h:252:9: error: ‘New’ is not a member of ‘v8::String’
     fun(v8::String::New(errmsg))
         ^
../node_modules/nan/nan.h:297:12: note: in expansion of macro ‘_NAN_ERROR’
     return _NAN_ERROR(v8::Exception::RangeError, errmsg);
            ^
../node_modules/nan/nan.h: In function ‘void NanThrowRangeError(const char*)’:
../node_modules/nan/nan.h:257:7: error: ‘ThrowException’ is not a member of ‘v8’
       v8::ThrowException(_NAN_ERROR(fun, errmsg));                             \
       ^
../node_modules/nan/nan.h:301:5: note: in expansion of macro ‘_NAN_THROW_ERROR’
     _NAN_THROW_ERROR(v8::Exception::RangeError, errmsg);
     ^
../node_modules/nan/nan.h:252:9: error: ‘New’ is not a member of ‘v8::String’
     fun(v8::String::New(errmsg))
         ^
../node_modules/nan/nan.h:257:26: note: in expansion of macro ‘_NAN_ERROR’
       v8::ThrowException(_NAN_ERROR(fun, errmsg));                             \
                          ^
../node_modules/nan/nan.h:301:5: note: in expansion of macro ‘_NAN_THROW_ERROR’
     _NAN_THROW_ERROR(v8::Exception::RangeError, errmsg);
     ^
../node_modules/nan/nan.h: In constructor ‘NanCallback::NanCallback(const v8::Local<v8::Function>&)’:
../node_modules/nan/nan.h:544:49: error: no matching function for call to ‘v8::Object::New()’
     v8::Local<v8::Object> obj = v8::Object::New();
                                                 ^
../node_modules/nan/nan.h:544:49: note: candidate is:
In file included from ../src/epoll.cc:13:0:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:2388:24: note: static v8::Local<v8::Object> v8::Object::New(v8::Isolate*)
   static Local<Object> New(Isolate* isolate);
                        ^
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:2388:24: note:   candidate expects 1 argument, 0 provided
In file included from ../src/epoll.cc:17:0:
../node_modules/nan/nan.h:141:26: error: ‘NewSymbol’ is not a member of ‘v8::String’
 #define NanSymbol(value) v8::String::NewSymbol(value)
                          ^
../node_modules/nan/nan.h:545:14: note: in expansion of macro ‘NanSymbol’
     obj->Set(NanSymbol("callback"), fn);
              ^
../node_modules/nan/nan.h: In destructor ‘NanCallback::~NanCallback()’:
../node_modules/nan/nan.h:551:12: error: ‘class v8::Persistent<v8::Object>’ has no member named ‘Dispose’
     handle.Dispose();
            ^
../node_modules/nan/nan.h:552:12: error: ‘class v8::Persistent<v8::Object>’ has no member named ‘Clear’
     handle.Clear();
            ^
../node_modules/nan/nan.h: In member function ‘v8::Local<v8::Function> NanCallback::GetFunction()’:
../node_modules/nan/nan.h:141:26: error: ‘NewSymbol’ is not a member of ‘v8::String’
 #define NanSymbol(value) v8::String::NewSymbol(value)
                          ^
../node_modules/nan/nan.h:556:46: note: in expansion of macro ‘NanSymbol’
     return NanPersistentToLocal(handle)->Get(NanSymbol("callback"))
                                              ^
../node_modules/nan/nan.h:557:25: error: expected primary-expression before ‘>’ token
         .As<v8::Function>();
                         ^
../node_modules/nan/nan.h:557:27: error: expected primary-expression before ‘)’ token
         .As<v8::Function>();
                           ^
../node_modules/nan/nan.h: In member function ‘void NanCallback::Call(int, v8::Local<v8::Value>*)’:
../node_modules/nan/nan.h:141:26: error: ‘NewSymbol’ is not a member of ‘v8::String’
 #define NanSymbol(value) v8::String::NewSymbol(value)
                          ^
../node_modules/nan/nan.h:569:12: note: in expansion of macro ‘NanSymbol’
        Get(NanSymbol("callback")).As<v8::Function>();
            ^
../node_modules/nan/nan.h:569:50: error: expected primary-expression before ‘>’ token
        Get(NanSymbol("callback")).As<v8::Function>();
                                                  ^
../node_modules/nan/nan.h:569:52: error: expected primary-expression before ‘)’ token
        Get(NanSymbol("callback")).As<v8::Function>();
                                                    ^
../node_modules/nan/nan.h:571:20: error: ‘GetCurrent’ is not a member of ‘v8::Context’
     callback->Call(v8::Context::GetCurrent()->Global(), argc, argv);
                    ^
../node_modules/nan/nan.h: In member function ‘void NanAsyncWorker::SavePersistent(const char*, v8::Local<v8::Object>&)’:
../node_modules/nan/nan.h:141:26: error: ‘NewSymbol’ is not a member of ‘v8::String’
 #define NanSymbol(value) v8::String::NewSymbol(value)
                          ^
../node_modules/nan/nan.h:623:17: note: in expansion of macro ‘NanSymbol’
     handle->Set(NanSymbol(key), obj);
                 ^
../node_modules/nan/nan.h: In member function ‘v8::Local<v8::Object> NanAsyncWorker::GetFromPersistent(const char*)’:
../node_modules/nan/nan.h:141:26: error: ‘NewSymbol’ is not a member of ‘v8::String’
 #define NanSymbol(value) v8::String::NewSymbol(value)
                          ^
../node_modules/nan/nan.h:630:24: note: in expansion of macro ‘NanSymbol’
     return handle->Get(NanSymbol(key)).As<v8::Object>();
                        ^
../node_modules/nan/nan.h:630:53: error: expected primary-expression before ‘>’ token
     return handle->Get(NanSymbol(key)).As<v8::Object>();
                                                     ^
../node_modules/nan/nan.h:630:55: error: expected primary-expression before ‘)’ token
     return handle->Get(NanSymbol(key)).As<v8::Object>();
                                                       ^
../node_modules/nan/nan.h: In member function ‘virtual void NanAsyncWorker::HandleErrorCallback()’:
../node_modules/nan/nan.h:643:30: error: ‘New’ is not a member of ‘v8::String’
         v8::Exception::Error(v8::String::New(errmsg))
                              ^
../node_modules/nan/nan.h: In function ‘bool _NanGetExternalParts(v8::Handle<v8::Value>, const char**, size_t*)’:
../node_modules/nan/nan.h:810:78: error: no matching function for call to ‘v8::Local<v8::String>::New(v8::Handle<v8::String>)’
   v8::Local<v8::String> str = v8::Local<v8::String>::New(val.As<v8::String>());
                                                                              ^
../node_modules/nan/nan.h:810:78: note: candidates are:
In file included from ../src/epoll.cc:13:0:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:368:29: note: static v8::Local<T> v8::Local<T>::New(v8::Isolate*, v8::Handle<T>) [with T = v8::String]
   V8_INLINE static Local<T> New(Isolate* isolate, Handle<T> that);
                             ^
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:368:29: note:   candidate expects 2 arguments, 1 provided
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:369:29: note: static v8::Local<T> v8::Local<T>::New(v8::Isolate*, const v8::PersistentBase<T>&) [with T = v8::String]
   V8_INLINE static Local<T> New(Isolate* isolate,
                             ^
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:369:29: note:   candidate expects 2 arguments, 1 provided
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:391:29: note: static v8::Local<T> v8::Local<T>::New(v8::Isolate*, T*) [with T = v8::String]
   V8_INLINE static Local<T> New(Isolate* isolate, T* that);
                             ^
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:391:29: note:   candidate expects 2 arguments, 1 provided
In file included from ../src/epoll.cc:17:0:
../node_modules/nan/nan.h: In function ‘char* NanFromV8String(v8::Handle<v8::Value>, Nan::Encoding, size_t*, char*, size_t, int)’:
../node_modules/nan/nan.h:863:3: error: ‘AsciiValue’ is not a member of ‘v8::String’
   v8::String::AsciiValue value(toStr);
   ^
../node_modules/nan/nan.h:863:26: error: expected ‘;’ before ‘value’
   v8::String::AsciiValue value(toStr);
                          ^
../node_modules/nan/nan.h:926:39: error: ‘value’ was not declared in this scope
       sz_ = _nan_base64_decoded_size(*value, toStr->Length());
                                       ^
../src/epoll.cc: In function ‘void start_watcher()’:
../src/epoll.cc:80:25: error: no matches converting function ‘DispatchEvent’ to type ‘uv_async_cb {aka void (*)(struct uv_async_s*)}’
     Epoll::DispatchEvent);
                         ^
In file included from ../src/epoll.cc:19:0:
../src/epoll.h:24:10: note: candidates are: void Epoll::DispatchEvent(int, epoll_event*)
     void DispatchEvent(int err, struct epoll_event *event);
          ^
../src/epoll.h:7:17: note:                 static void Epoll::DispatchEvent(uv_async_t*, int)
     static void DispatchEvent(uv_async_t* handle, int status);
                 ^
../src/epoll.cc: In static member function ‘static void Epoll::Init(v8::Handle<v8::Object>)’:
../src/epoll.cc:130:66: error: no matching function for call to ‘v8::FunctionTemplate::New(void (&)(const v8::FunctionCallbackInfo<v8::Value>&))’
   Local<FunctionTemplate> ctor = FunctionTemplate::New(Epoll::New);
                                                                  ^
../src/epoll.cc:130:66: note: candidate is:
In file included from ../src/epoll.cc:13:0:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:3455: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/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:3455:34: note:   no known conversion for argument 1 from ‘void(const v8::FunctionCallbackInfo<v8::Value>&)’ to ‘v8::Isolate*’
In file included from ../src/epoll.cc:17:0:
../node_modules/nan/nan.h:141:26: error: ‘NewSymbol’ is not a member of ‘v8::String’
 #define NanSymbol(value) v8::String::NewSymbol(value)
                          ^
../src/epoll.cc:132:22: note: in expansion of macro ‘NanSymbol’
   ctor->SetClassName(NanSymbol("Epoll"));
                      ^
../node_modules/nan/nan.h:141:26: error: ‘NewSymbol’ is not a member of ‘v8::String’
 #define NanSymbol(value) v8::String::NewSymbol(value)
                          ^
../src/epoll.cc:142:22: note: in expansion of macro ‘NanSymbol’
   proto->SetAccessor(NanSymbol("closed"), GetClosed);
                      ^
In file included from ../src/epoll.cc:14:0:
/home/chronos/user/.node-gyp/0.12.0/src/node.h:222:15: error: ‘class v8::FunctionTemplate’ has no member named ‘ForceSet’
     (target)->ForceSet(constant_name, constant_value, constant_attributes);   \
               ^
../src/epoll.cc:144:3: note: in expansion of macro ‘NODE_DEFINE_CONSTANT’
   NODE_DEFINE_CONSTANT(ctor, EPOLLIN);
   ^
/home/chronos/user/.node-gyp/0.12.0/src/node.h:222:15: error: ‘class v8::FunctionTemplate’ has no member named ‘ForceSet’
     (target)->ForceSet(constant_name, constant_value, constant_attributes);   \
               ^
../src/epoll.cc:145:3: note: in expansion of macro ‘NODE_DEFINE_CONSTANT’
   NODE_DEFINE_CONSTANT(ctor, EPOLLOUT);
   ^
/home/chronos/user/.node-gyp/0.12.0/src/node.h:222:15: error: ‘class v8::FunctionTemplate’ has no member named ‘ForceSet’
     (target)->ForceSet(constant_name, constant_value, constant_attributes);   \
               ^
../src/epoll.cc:146:3: note: in expansion of macro ‘NODE_DEFINE_CONSTANT’
   NODE_DEFINE_CONSTANT(ctor, EPOLLRDHUP);
   ^
/home/chronos/user/.node-gyp/0.12.0/src/node.h:222:15: error: ‘class v8::FunctionTemplate’ has no member named ‘ForceSet’
     (target)->ForceSet(constant_name, constant_value, constant_attributes);   \
               ^
../src/epoll.cc:147:3: note: in expansion of macro ‘NODE_DEFINE_CONSTANT’
   NODE_DEFINE_CONSTANT(ctor, EPOLLPRI); // The reason this addon exists!
   ^
/home/chronos/user/.node-gyp/0.12.0/src/node.h:222:15: error: ‘class v8::FunctionTemplate’ has no member named ‘ForceSet’
     (target)->ForceSet(constant_name, constant_value, constant_attributes);   \
               ^
../src/epoll.cc:148:3: note: in expansion of macro ‘NODE_DEFINE_CONSTANT’
   NODE_DEFINE_CONSTANT(ctor, EPOLLERR);
   ^
/home/chronos/user/.node-gyp/0.12.0/src/node.h:222:15: error: ‘class v8::FunctionTemplate’ has no member named ‘ForceSet’
     (target)->ForceSet(constant_name, constant_value, constant_attributes);   \
               ^
../src/epoll.cc:149:3: note: in expansion of macro ‘NODE_DEFINE_CONSTANT’
   NODE_DEFINE_CONSTANT(ctor, EPOLLHUP);
   ^
/home/chronos/user/.node-gyp/0.12.0/src/node.h:222:15: error: ‘class v8::FunctionTemplate’ has no member named ‘ForceSet’
     (target)->ForceSet(constant_name, constant_value, constant_attributes);   \
               ^
../src/epoll.cc:150:3: note: in expansion of macro ‘NODE_DEFINE_CONSTANT’
   NODE_DEFINE_CONSTANT(ctor, EPOLLET);
   ^
/home/chronos/user/.node-gyp/0.12.0/src/node.h:222:15: error: ‘class v8::FunctionTemplate’ has no member named ‘ForceSet’
     (target)->ForceSet(constant_name, constant_value, constant_attributes);   \
               ^
../src/epoll.cc:151:3: note: in expansion of macro ‘NODE_DEFINE_CONSTANT’
   NODE_DEFINE_CONSTANT(ctor, EPOLLONESHOT);
   ^
In file included from ../src/epoll.cc:17:0:
../node_modules/nan/nan.h:141:26: error: ‘NewSymbol’ is not a member of ‘v8::String’
 #define NanSymbol(value) v8::String::NewSymbol(value)
                          ^
../src/epoll.cc:153:16: note: in expansion of macro ‘NanSymbol’
   exports->Set(NanSymbol("Epoll"), ctor->GetFunction());
                ^
../src/epoll.cc: In static member function ‘static void Epoll::GetClosed(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>&)’:
../src/epoll.cc:257:45: error: no matching function for call to ‘v8::Boolean::New(bool&)’
   NanReturnValue(Boolean::New(epoll->closed_));
                                             ^
../node_modules/nan/nan.h:233:65: note: in definition of macro ‘NanReturnValue’
 # define NanReturnValue(value) return args.GetReturnValue().Set(value)
                                                                 ^
../src/epoll.cc:257:45: note: candidate is:
   NanReturnValue(Boolean::New(epoll->closed_));
                                             ^
../node_modules/nan/nan.h:233:65: note: in definition of macro ‘NanReturnValue’
 # define NanReturnValue(value) return args.GetReturnValue().Set(value)
                                                                 ^
In file included from ../src/epoll.cc:13:0:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:6194:17: note: static v8::Handle<v8::Boolean> v8::Boolean::New(v8::Isolate*, bool)
 Handle<Boolean> Boolean::New(Isolate* isolate, bool value) {
                 ^
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:6194:17: note:   candidate expects 2 arguments, 1 provided
In file included from ../src/epoll.cc:17:0:
../node_modules/nan/nan.h:233:70: error: return-statement with a value, in function returning 'void' [-fpermissive]
 # define NanReturnValue(value) return args.GetReturnValue().Set(value)
                                                                      ^
../src/epoll.cc:257:3: note: in expansion of macro ‘NanReturnValue’
   NanReturnValue(Boolean::New(epoll->closed_));
   ^
../src/epoll.cc: In member function ‘void Epoll::DispatchEvent(int, epoll_event*)’:
../src/epoll.cc:346:24: error: ‘New’ is not a member of ‘v8::String’
       Exception::Error(String::New(strerror(err)))
                        ^
../src/epoll.cc:351:30: error: too few arguments to function ‘v8::Handle<v8::Primitive> v8::Null(v8::Isolate*)’
       Local<Value>::New(Null()),
                              ^
In file included from ../src/epoll.cc:13:0:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:306:28: note: declared here
   friend Handle<Primitive> Null(Isolate* isolate);
                            ^
../src/epoll.cc:352:34: error: no matching function for call to ‘v8::Integer::New(int&)’
       Integer::New(event->data.fd),
                                  ^
../src/epoll.cc:352:34: note: candidate is:
In file included from ../src/epoll.cc:13:0:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:2012:25: note: static v8::Local<v8::Integer> v8::Integer::New(v8::Isolate*, int32_t)
   static Local<Integer> New(Isolate* isolate, int32_t value);
                         ^
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:2012:25: note:   candidate expects 2 arguments, 1 provided
../src/epoll.cc:353:33: error: no matching function for call to ‘v8::Integer::New(uint32_t&)’
       Integer::New(event->events)
                                 ^
../src/epoll.cc:353:33: note: candidate is:
In file included from ../src/epoll.cc:13:0:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:2012:25: note: static v8::Local<v8::Integer> v8::Integer::New(v8::Isolate*, int32_t)
   static Local<Integer> New(Isolate* isolate, int32_t value);
                         ^
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:2012:25: note:   candidate expects 2 arguments, 1 provided
In file included from ../src/epoll.cc:17:0:
../node_modules/nan/nan.h: In instantiation of ‘void NanDispose(v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >&) [with T = v8::Object]’:
../node_modules/nan/nan.h:592:34:   required from here
../node_modules/nan/nan.h:311:5: error: ‘class v8::Persistent<v8::Object>’ has no member named ‘Clear’
     handle.Clear();
     ^
make: *** [Release/obj.target/epoll/src/epoll.o] Error 1
make: Leaving directory `/usr/local/.nvm/versions/node/v0.12.0/lib/node_modules/bonescript/node_modules/epoll/build'
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/.nvm/versions/node/v0.12.0/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:267:23)
gyp ERR! stack     at ChildProcess.emit (events.js:110:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:1067:12)
gyp ERR! System Linux 3.8.11
gyp ERR! command "node" "/usr/local/.nvm/versions/node/v0.12.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /usr/local/.nvm/versions/node/v0.12.0/lib/node_modules/bonescript/node_modules/epoll
gyp ERR! node -v v0.12.0
gyp ERR! node-gyp -v v1.0.2
gyp ERR! not ok 

> i2c@0.1.4 install /usr/local/.nvm/versions/node/v0.12.0/lib/node_modules/bonescript/node_modules/i2c
> node-gyp rebuild

child_process: customFds option is deprecated, use stdio instead.
make: Entering directory `/usr/local/.nvm/versions/node/v0.12.0/lib/node_modules/bonescript/node_modules/i2c/build'
  CXX(target) Release/obj.target/i2c/src/i2c.o
../src/i2c.cc: In function ‘void setAddress(int8_t)’:
../src/i2c.cc:21:28: error: ‘New’ is not a member of ‘v8::String’
       Exception::TypeError(String::New("Failed to set address"))
                            ^
../src/i2c.cc:22:5: error: ‘ThrowException’ was not declared in this scope
     );
     ^
../src/i2c.cc: At global scope:
../src/i2c.cc:26:32: error: ‘Arguments’ does not name a type
 Handle<Value> SetAddress(const Arguments& args) {
                                ^
../src/i2c.cc:26:43: error: ISO C++ forbids declaration of ‘args’ with no type [-fpermissive]
 Handle<Value> SetAddress(const Arguments& args) {
                                           ^
In file included from /home/chronos/user/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/i2c.cc:1:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h: In function ‘v8::Handle<v8::Value> SetAddress(const int&)’:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:816:13: error: ‘v8::HandleScope::HandleScope()’ is protected
   V8_INLINE HandleScope() {}
             ^
../src/i2c.cc:27:15: error: within this context
   HandleScope scope;
               ^
../src/i2c.cc:29:16: error: invalid types ‘const int[int]’ for array subscript
   addr = args[0]->Int32Value();
                ^
../src/i2c.cc:32:16: error: ‘class v8::HandleScope’ has no member named ‘Close’
   return scope.Close(Undefined());
                ^
../src/i2c.cc:32:32: error: too few arguments to function ‘v8::Handle<v8::Primitive> v8::Undefined(v8::Isolate*)’
   return scope.Close(Undefined());
                                ^
In file included from /home/chronos/user/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/i2c.cc:1:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:305:28: note: declared here
   friend Handle<Primitive> Undefined(Isolate* isolate);
                            ^
../src/i2c.cc: At global scope:
../src/i2c.cc:35:26: error: ‘Arguments’ does not name a type
 Handle<Value> Scan(const Arguments& args) {
                          ^
../src/i2c.cc:35:37: error: ISO C++ forbids declaration of ‘args’ with no type [-fpermissive]
 Handle<Value> Scan(const Arguments& args) {
                                     ^
In file included from /home/chronos/user/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/i2c.cc:1:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h: In function ‘v8::Handle<v8::Value> Scan(const int&)’:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:816:13: error: ‘v8::HandleScope::HandleScope()’ is protected
   V8_INLINE HandleScope() {}
             ^
../src/i2c.cc:36:15: error: within this context
   HandleScope scope;
               ^
../src/i2c.cc:39:58: error: invalid types ‘const int[int]’ for array subscript
   Local<Function> callback = Local<Function>::Cast(args[0]);
                                                          ^
../src/i2c.cc:40:38: error: invalid conversion from ‘int’ to ‘v8::Isolate*’ [-fpermissive]
   Local<Array> results(Array::New(128));
                                      ^
In file included from /home/chronos/user/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/i2c.cc:1:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:2417:23: error:   initializing argument 1 of ‘static v8::Local<v8::Array> v8::Array::New(v8::Isolate*, int)’ [-fpermissive]
   static Local<Array> New(Isolate* isolate, int length = 0);
                       ^
../src/i2c.cc:41:45: error: too few arguments to function ‘v8::Handle<v8::Primitive> v8::Null(v8::Isolate*)’
   Local<Value> err = Local<Value>::New(Null());
                                             ^
In file included from /home/chronos/user/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/i2c.cc:1:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:306:28: note: declared here
   friend Handle<Primitive> Null(Isolate* isolate);
                            ^
../src/i2c.cc:53:37: error: no matching function for call to ‘v8::Integer::New(int&)’
     results->Set(i, Integer::New(res));
                                     ^
../src/i2c.cc:53:37: note: candidate is:
In file included from /home/chronos/user/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/i2c.cc:1:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:2012:25: note: static v8::Local<v8::Integer> v8::Integer::New(v8::Isolate*, int32_t)
   static Local<Integer> New(Isolate* isolate, int32_t value);
                         ^
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:2012:25: note:   candidate expects 2 arguments, 1 provided
../src/i2c.cc:60:18: error: ‘GetCurrent’ is not a member of ‘v8::Context’
   callback->Call(Context::GetCurrent()->Global(), argc, argv);
                  ^
../src/i2c.cc:62:16: error: ‘class v8::HandleScope’ has no member named ‘Close’
   return scope.Close(results);
                ^
../src/i2c.cc: At global scope:
../src/i2c.cc:65:27: error: ‘Arguments’ does not name a type
 Handle<Value> Close(const Arguments& args) {
                           ^
../src/i2c.cc:65:38: error: ISO C++ forbids declaration of ‘args’ with no type [-fpermissive]
 Handle<Value> Close(const Arguments& args) {
                                      ^
In file included from /home/chronos/user/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/i2c.cc:1:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h: In function ‘v8::Handle<v8::Value> Close(const int&)’:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:816:13: error: ‘v8::HandleScope::HandleScope()’ is protected
   V8_INLINE HandleScope() {}
             ^
../src/i2c.cc:66:15: error: within this context
   HandleScope scope;
               ^
../src/i2c.cc:71:16: error: ‘class v8::HandleScope’ has no member named ‘Close’
   return scope.Close(Undefined());
                ^
../src/i2c.cc:71:32: error: too few arguments to function ‘v8::Handle<v8::Primitive> v8::Undefined(v8::Isolate*)’
   return scope.Close(Undefined());
                                ^
In file included from /home/chronos/user/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/i2c.cc:1:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:305:28: note: declared here
   friend Handle<Primitive> Undefined(Isolate* isolate);
                            ^
../src/i2c.cc: At global scope:
../src/i2c.cc:74:26: error: ‘Arguments’ does not name a type
 Handle<Value> Open(const Arguments& args) {
                          ^
../src/i2c.cc:74:37: error: ISO C++ forbids declaration of ‘args’ with no type [-fpermissive]
 Handle<Value> Open(const Arguments& args) {
                                     ^
In file included from /home/chronos/user/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/i2c.cc:1:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h: In function ‘v8::Handle<v8::Value> Open(const int&)’:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:816:13: error: ‘v8::HandleScope::HandleScope()’ is protected
   V8_INLINE HandleScope() {}
             ^
../src/i2c.cc:75:15: error: within this context
   HandleScope scope;
               ^
../src/i2c.cc:77:34: error: invalid types ‘const int[int]’ for array subscript
   String::Utf8Value device(args[0]);
                                  ^
../src/i2c.cc:79:45: error: too few arguments to function ‘v8::Handle<v8::Primitive> v8::Null(v8::Isolate*)’
   Local<Value> err = Local<Value>::New(Null());
                                             ^
In file included from /home/chronos/user/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/i2c.cc:1:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:306:28: note: declared here
   friend Handle<Primitive> Null(Isolate* isolate);
                            ^
../src/i2c.cc:83:28: error: ‘New’ is not a member of ‘v8::String’
     err = Exception::Error(String::New("Failed to open I2C device"));
                            ^
../src/i2c.cc:86:13: error: invalid types ‘const int[int]’ for array subscript
   if (args[1]->IsFunction()) {
             ^
../src/i2c.cc:88:60: error: invalid types ‘const int[int]’ for array subscript
     Local<Function> callback = Local<Function>::Cast(args[1]);
                                                            ^
../src/i2c.cc:91:20: error: ‘GetCurrent’ is not a member of ‘v8::Context’
     callback->Call(Context::GetCurrent()->Global(), argc, argv);
                    ^
../src/i2c.cc:94:16: error: ‘class v8::HandleScope’ has no member named ‘Close’
   return scope.Close(Undefined());
                ^
../src/i2c.cc:94:32: error: too few arguments to function ‘v8::Handle<v8::Primitive> v8::Undefined(v8::Isolate*)’
   return scope.Close(Undefined());
                                ^
In file included from /home/chronos/user/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/i2c.cc:1:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:305:28: note: declared here
   friend Handle<Primitive> Undefined(Isolate* isolate);
                            ^
../src/i2c.cc: At global scope:
../src/i2c.cc:97:30: error: ‘Arguments’ does not name a type
 Handle<Value> ReadByte(const Arguments& args) {
                              ^
../src/i2c.cc:97:41: error: ISO C++ forbids declaration of ‘args’ with no type [-fpermissive]
 Handle<Value> ReadByte(const Arguments& args) {
                                         ^
In file included from /home/chronos/user/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/i2c.cc:1:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h: In function ‘v8::Handle<v8::Value> ReadByte(const int&)’:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:816:13: error: ‘v8::HandleScope::HandleScope()’ is protected
   V8_INLINE HandleScope() {}
             ^
../src/i2c.cc:98:15: error: within this context
   HandleScope scope;
               ^
../src/i2c.cc:101:45: error: too few arguments to function ‘v8::Handle<v8::Primitive> v8::Null(v8::Isolate*)’
   Local<Value> err = Local<Value>::New(Null());
                                             ^
In file included from /home/chronos/user/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/i2c.cc:1:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:306:28: note: declared here
   friend Handle<Primitive> Null(Isolate* isolate);
                            ^
../src/i2c.cc:106:28: error: ‘New’ is not a member of ‘v8::String’
     err = Exception::Error(String::New("Cannot read device"));
                            ^
../src/i2c.cc:108:28: error: no matching function for call to ‘v8::Integer::New(int8_t&)’
     data = Integer::New(res);
                            ^
../src/i2c.cc:108:28: note: candidate is:
In file included from /home/chronos/user/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/i2c.cc:1:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:2012:25: note: static v8::Local<v8::Integer> v8::Integer::New(v8::Isolate*, int32_t)
   static Local<Integer> New(Isolate* isolate, int32_t value);
                         ^
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:2012:25: note:   candidate expects 2 arguments, 1 provided
../src/i2c.cc:111:13: error: invalid types ‘const int[int]’ for array subscript
   if (args[0]->IsFunction()) {
             ^
../src/i2c.cc:113:60: error: invalid types ‘const int[int]’ for array subscript
     Local<Function> callback = Local<Function>::Cast(args[0]);
                                                            ^
../src/i2c.cc:116:20: error: ‘GetCurrent’ is not a member of ‘v8::Context’
     callback->Call(Context::GetCurrent()->Global(), argc, argv);
                    ^
../src/i2c.cc:118:16: error: ‘class v8::HandleScope’ has no member named ‘Close’
   return scope.Close(data);
                ^
../src/i2c.cc: At global scope:
../src/i2c.cc:121:31: error: ‘Arguments’ does not name a type
 Handle<Value> ReadBlock(const Arguments& args) {
                               ^
../src/i2c.cc:121:42: error: ISO C++ forbids declaration of ‘args’ with no type [-fpermissive]
 Handle<Value> ReadBlock(const Arguments& args) {
                                          ^
In file included from /home/chronos/user/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/i2c.cc:1:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h: In function ‘v8::Handle<v8::Value> ReadBlock(const int&)’:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:816:13: error: ‘v8::HandleScope::HandleScope()’ is protected
   V8_INLINE HandleScope() {}
             ^
../src/i2c.cc:122:15: error: within this context
   HandleScope scope;
               ^
../src/i2c.cc:124:22: error: invalid types ‘const int[int]’ for array subscript
   int8_t cmd = args[0]->Int32Value();
                      ^
../src/i2c.cc:125:23: error: invalid types ‘const int[int]’ for array subscript
   int32_t len = args[1]->Int32Value();
                       ^
../src/i2c.cc:127:45: error: too few arguments to function ‘v8::Handle<v8::Primitive> v8::Null(v8::Isolate*)’
   Local<Value> err = Local<Value>::New(Null());
                                             ^
In file included from /home/chronos/user/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/i2c.cc:1:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:306:28: note: declared here
   friend Handle<Primitive> Null(Isolate* isolate);
                            ^
../src/i2c.cc:128:16: error: expected primary-expression before ‘*’ token
   node::Buffer *buffer =  node::Buffer::New(len);
                ^
../src/i2c.cc:128:17: error: ‘buffer’ was not declared in this scope
   node::Buffer *buffer =  node::Buffer::New(len);
                 ^
../src/i2c.cc:130:29: error: ‘GetCurrent’ is not a member of ‘v8::Context’
   Local<Object> globalObj = Context::GetCurrent()->Global();
                             ^
../src/i2c.cc:131:76: error: ‘New’ is not a member of ‘v8::String’
   Local<Function> bufferConstructor = Local<Function>::Cast(globalObj->Get(String::New("Buffer")));
                                                                            ^
../src/i2c.cc:132:77: error: no matching function for call to ‘v8::Integer::New(int32_t&)’
   Handle<Value> constructorArgs[3] = { buffer->handle_, v8::Integer::New(len), v8::Integer::New(0) };
                                                                             ^
../src/i2c.cc:132:77: note: candidate is:
In file included from /home/chronos/user/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/i2c.cc:1:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:2012:25: note: static v8::Local<v8::Integer> v8::Integer::New(v8::Isolate*, int32_t)
   static Local<Integer> New(Isolate* isolate, int32_t value);
                         ^
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:2012:25: note:   candidate expects 2 arguments, 1 provided
../src/i2c.cc:132:98: error: no matching function for call to ‘v8::Integer::New(int)’
   Handle<Value> constructorArgs[3] = { buffer->handle_, v8::Integer::New(len), v8::Integer::New(0) };
                                                                                                  ^
../src/i2c.cc:132:98: note: candidate is:
In file included from /home/chronos/user/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/i2c.cc:1:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:2012:25: note: static v8::Local<v8::Integer> v8::Integer::New(v8::Isolate*, int32_t)
   static Local<Integer> New(Isolate* isolate, int32_t value);
                         ^
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:2012:25: note:   candidate expects 2 arguments, 1 provided
../src/i2c.cc:137:30: error: ‘New’ is not a member of ‘v8::String’
       err = Exception::Error(String::New("Error reading length of bytes"));
                              ^
../src/i2c.cc:142:15: error: invalid types ‘const int[int]’ for array subscript
     if (args[3]->IsFunction()) {
               ^
../src/i2c.cc:144:62: error: invalid types ‘const int[int]’ for array subscript
       Local<Function> callback = Local<Function>::Cast(args[3]);
                                                              ^
../src/i2c.cc:146:22: error: ‘GetCurrent’ is not a member of ‘v8::Context’
       callback->Call(Context::GetCurrent()->Global(), argc, argv);
                      ^
../src/i2c.cc:149:15: error: invalid types ‘const int[int]’ for array subscript
     if (args[2]->IsNumber()) {
               ^
../src/i2c.cc:150:29: error: invalid types ‘const int[int]’ for array subscript
       int32_t delay = args[2]->Int32Value();
                             ^
../src/i2c.cc:156:16: error: ‘class v8::HandleScope’ has no member named ‘Close’
   return scope.Close(actualBuffer);
                ^
../src/i2c.cc: At global scope:
../src/i2c.cc:160:31: error: ‘Arguments’ does not name a type
 Handle<Value> WriteByte(const Arguments& args) {
                               ^
../src/i2c.cc:160:42: error: ISO C++ forbids declaration of ‘args’ with no type [-fpermissive]
 Handle<Value> WriteByte(const Arguments& args) {
                                          ^
In file included from /home/chronos/user/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/i2c.cc:1:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h: In function ‘v8::Handle<v8::Value> WriteByte(const int&)’:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:816:13: error: ‘v8::HandleScope::HandleScope()’ is protected
   V8_INLINE HandleScope() {}
             ^
../src/i2c.cc:161:15: error: within this context
   HandleScope scope;
               ^
../src/i2c.cc:163:23: error: invalid types ‘const int[int]’ for array subscript
   int8_t byte = args[0]->Int32Value();
                       ^
../src/i2c.cc:164:45: error: too few arguments to function ‘v8::Handle<v8::Primitive> v8::Null(v8::Isolate*)’
   Local<Value> err = Local<Value>::New(Null());
                                             ^
In file included from /home/chronos/user/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/i2c.cc:1:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:306:28: note: declared here
   friend Handle<Primitive> Null(Isolate* isolate);
                            ^
../src/i2c.cc:167:28: error: ‘New’ is not a member of ‘v8::String’
     err = Exception::Error(String::New("Cannot write to device"));
                            ^
../src/i2c.cc:170:13: error: invalid types ‘const int[int]’ for array subscript
   if (args[1]->IsFunction()) {
             ^
../src/i2c.cc:172:60: error: invalid types ‘const int[int]’ for array subscript
     Local<Function> callback = Local<Function>::Cast(args[1]);
                                                            ^
../src/i2c.cc:175:20: error: ‘GetCurrent’ is not a member of ‘v8::Context’
     callback->Call(Context::GetCurrent()->Global(), argc, argv);
                    ^
../src/i2c.cc:178:16: error: ‘class v8::HandleScope’ has no member named ‘Close’
   return scope.Close(Undefined());
                ^
../src/i2c.cc:178:32: error: too few arguments to function ‘v8::Handle<v8::Primitive> v8::Undefined(v8::Isolate*)’
   return scope.Close(Undefined());
                                ^
In file included from /home/chronos/user/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/i2c.cc:1:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:305:28: note: declared here
   friend Handle<Primitive> Undefined(Isolate* isolate);
                            ^
../src/i2c.cc: At global scope:
../src/i2c.cc:181:32: error: ‘Arguments’ does not name a type
 Handle<Value> WriteBlock(const Arguments& args) {
                                ^
../src/i2c.cc:181:43: error: ISO C++ forbids declaration of ‘args’ with no type [-fpermissive]
 Handle<Value> WriteBlock(const Arguments& args) {
                                           ^
In file included from /home/chronos/user/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/i2c.cc:1:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h: In function ‘v8::Handle<v8::Value> WriteBlock(const int&)’:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:816:13: error: ‘v8::HandleScope::HandleScope()’ is protected
   V8_INLINE HandleScope() {}
             ^
../src/i2c.cc:182:15: error: within this context
   HandleScope scope;
               ^
../src/i2c.cc:184:31: error: invalid types ‘const int[int]’ for array subscript
   Local<Value> buffer = args[1];
                               ^
../src/i2c.cc:186:22: error: invalid types ‘const int[int]’ for array subscript
   int8_t cmd = args[0]->Int32Value();
                      ^
../src/i2c.cc:190:45: error: too few arguments to function ‘v8::Handle<v8::Primitive> v8::Null(v8::Isolate*)’
   Local<Value> err = Local<Value>::New(Null());
                                             ^
In file included from /home/chronos/user/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/i2c.cc:1:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:306:28: note: declared here
   friend Handle<Primitive> Null(Isolate* isolate);
                            ^
../src/i2c.cc:193:28: error: ‘New’ is not a member of ‘v8::String’
     err = Exception::Error(String::New("Cannot write to device"));
                            ^
../src/i2c.cc:196:13: error: invalid types ‘const int[int]’ for array subscript
   if (args[2]->IsFunction()) {
             ^
../src/i2c.cc:198:60: error: invalid types ‘const int[int]’ for array subscript
     Local<Function> callback = Local<Function>::Cast(args[2]);
                                                            ^
../src/i2c.cc:201:20: error: ‘GetCurrent’ is not a member of ‘v8::Context’
     callback->Call(Context::GetCurrent()->Global(), argc, argv);
                    ^
../src/i2c.cc:204:16: error: ‘class v8::HandleScope’ has no member named ‘Close’
   return scope.Close(Undefined());
                ^
../src/i2c.cc:204:32: error: too few arguments to function ‘v8::Handle<v8::Primitive> v8::Undefined(v8::Isolate*)’
   return scope.Close(Undefined());
                                ^
In file included from /home/chronos/user/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/i2c.cc:1:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:305:28: note: declared here
   friend Handle<Primitive> Undefined(Isolate* isolate);
                            ^
../src/i2c.cc: At global scope:
../src/i2c.cc:207:31: error: ‘Arguments’ does not name a type
 Handle<Value> WriteWord(const Arguments& args) {
                               ^
../src/i2c.cc:207:42: error: ISO C++ forbids declaration of ‘args’ with no type [-fpermissive]
 Handle<Value> WriteWord(const Arguments& args) {
                                          ^
In file included from /home/chronos/user/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/i2c.cc:1:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h: In function ‘v8::Handle<v8::Value> WriteWord(const int&)’:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:816:13: error: ‘v8::HandleScope::HandleScope()’ is protected
   V8_INLINE HandleScope() {}
             ^
../src/i2c.cc:208:15: error: within this context
   HandleScope scope;
               ^
../src/i2c.cc:210:22: error: invalid types ‘const int[int]’ for array subscript
   int8_t cmd = args[0]->Int32Value();
                      ^
../src/i2c.cc:211:24: error: invalid types ‘const int[int]’ for array subscript
   int16_t word = args[1]->Int32Value();
                        ^
../src/i2c.cc:213:45: error: too few arguments to function ‘v8::Handle<v8::Primitive> v8::Null(v8::Isolate*)’
   Local<Value> err = Local<Value>::New(Null());
                                             ^
In file included from /home/chronos/user/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/i2c.cc:1:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:306:28: note: declared here
   friend Handle<Primitive> Null(Isolate* isolate);
                            ^
../src/i2c.cc:216:28: error: ‘New’ is not a member of ‘v8::String’
     err = Exception::Error(String::New("Cannot write to device"));
                            ^
../src/i2c.cc:219:13: error: invalid types ‘const int[int]’ for array subscript
   if (args[2]->IsFunction()) {
             ^
../src/i2c.cc:221:60: error: invalid types ‘const int[int]’ for array subscript
     Local<Function> callback = Local<Function>::Cast(args[2]);
                                                            ^
../src/i2c.cc:224:20: error: ‘GetCurrent’ is not a member of ‘v8::Context’
     callback->Call(Context::GetCurrent()->Global(), argc, argv);
                    ^
../src/i2c.cc:227:16: error: ‘class v8::HandleScope’ has no member named ‘Close’
   return scope.Close(Undefined());
                ^
../src/i2c.cc:227:32: error: too few arguments to function ‘v8::Handle<v8::Primitive> v8::Undefined(v8::Isolate*)’
   return scope.Close(Undefined());
                                ^
In file included from /home/chronos/user/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/i2c.cc:1:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:305:28: note: declared here
   friend Handle<Primitive> Undefined(Isolate* isolate);
                            ^
../src/i2c.cc: In function ‘void Init(v8::Handle<v8::Object>)’:
../src/i2c.cc:231:15: error: ‘NewSymbol’ is not a member of ‘v8::String’
   target->Set(String::NewSymbol("scan"),
               ^
../src/i2c.cc:232:31: error: no matching function for call to ‘v8::FunctionTemplate::New(v8::Handle<v8::Value> (&)(const int&))’
     FunctionTemplate::New(Scan)->GetFunction());
                               ^
../src/i2c.cc:232:31: note: candidate is:
In file included from /home/chronos/user/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/i2c.cc:1:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:3455: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/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:3455:34: note:   no known conversion for argument 1 from ‘v8::Handle<v8::Value>(const int&)’ to ‘v8::Isolate*’
../src/i2c.cc:234:15: error: ‘NewSymbol’ is not a member of ‘v8::String’
   target->Set(String::NewSymbol("setAddress"),
               ^
../src/i2c.cc:235:37: error: no matching function for call to ‘v8::FunctionTemplate::New(v8::Handle<v8::Value> (&)(const int&))’
     FunctionTemplate::New(SetAddress)->GetFunction());
                                     ^
../src/i2c.cc:235:37: note: candidate is:
In file included from /home/chronos/user/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/i2c.cc:1:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:3455: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/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:3455:34: note:   no known conversion for argument 1 from ‘v8::Handle<v8::Value>(const int&)’ to ‘v8::Isolate*’
../src/i2c.cc:237:15: error: ‘NewSymbol’ is not a member of ‘v8::String’
   target->Set(String::NewSymbol("open"),
               ^
../src/i2c.cc:238:31: error: no matching function for call to ‘v8::FunctionTemplate::New(v8::Handle<v8::Value> (&)(const int&))’
     FunctionTemplate::New(Open)->GetFunction());
                               ^
../src/i2c.cc:238:31: note: candidate is:
In file included from /home/chronos/user/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/i2c.cc:1:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:3455: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/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:3455:34: note:   no known conversion for argument 1 from ‘v8::Handle<v8::Value>(const int&)’ to ‘v8::Isolate*’
../src/i2c.cc:240:15: error: ‘NewSymbol’ is not a member of ‘v8::String’
   target->Set(String::NewSymbol("close"),
               ^
../src/i2c.cc:241:32: error: no matching function for call to ‘v8::FunctionTemplate::New(v8::Handle<v8::Value> (&)(const int&))’
     FunctionTemplate::New(Close)->GetFunction());
                                ^
../src/i2c.cc:241:32: note: candidate is:
In file included from /home/chronos/user/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/i2c.cc:1:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:3455: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/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:3455:34: note:   no known conversion for argument 1 from ‘v8::Handle<v8::Value>(const int&)’ to ‘v8::Isolate*’
../src/i2c.cc:243:15: error: ‘NewSymbol’ is not a member of ‘v8::String’
   target->Set(String::NewSymbol("writeByte"),
               ^
../src/i2c.cc:244:38: error: no matching function for call to ‘v8::FunctionTemplate::New(v8::Handle<v8::Value> (&)(const int&))’
       FunctionTemplate::New(WriteByte)->GetFunction());
                                      ^
../src/i2c.cc:244:38: note: candidate is:
In file included from /home/chronos/user/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/i2c.cc:1:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:3455: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/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:3455:34: note:   no known conversion for argument 1 from ‘v8::Handle<v8::Value>(const int&)’ to ‘v8::Isolate*’
../src/i2c.cc:246:15: error: ‘NewSymbol’ is not a member of ‘v8::String’
   target->Set(String::NewSymbol("writeBlock"),
               ^
../src/i2c.cc:247:39: error: no matching function for call to ‘v8::FunctionTemplate::New(v8::Handle<v8::Value> (&)(const int&))’
       FunctionTemplate::New(WriteBlock)->GetFunction());
                                       ^
../src/i2c.cc:247:39: note: candidate is:
In file included from /home/chronos/user/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/i2c.cc:1:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:3455: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/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:3455:34: note:   no known conversion for argument 1 from ‘v8::Handle<v8::Value>(const int&)’ to ‘v8::Isolate*’
../src/i2c.cc:249:15: error: ‘NewSymbol’ is not a member of ‘v8::String’
   target->Set(String::NewSymbol("readByte"),
               ^
../src/i2c.cc:250:35: error: no matching function for call to ‘v8::FunctionTemplate::New(v8::Handle<v8::Value> (&)(const int&))’
     FunctionTemplate::New(ReadByte)->GetFunction());
                                   ^
../src/i2c.cc:250:35: note: candidate is:
In file included from /home/chronos/user/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/i2c.cc:1:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:3455: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/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:3455:34: note:   no known conversion for argument 1 from ‘v8::Handle<v8::Value>(const int&)’ to ‘v8::Isolate*’
../src/i2c.cc:252:15: error: ‘NewSymbol’ is not a member of ‘v8::String’
   target->Set(String::NewSymbol("readBlock"),
               ^
../src/i2c.cc:253:36: error: no matching function for call to ‘v8::FunctionTemplate::New(v8::Handle<v8::Value> (&)(const int&))’
     FunctionTemplate::New(ReadBlock)->GetFunction());
                                    ^
../src/i2c.cc:253:36: note: candidate is:
In file included from /home/chronos/user/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/i2c.cc:1:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:3455: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/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:3455:34: note:   no known conversion for argument 1 from ‘v8::Handle<v8::Value>(const int&)’ to ‘v8::Isolate*’
../src/i2c.cc: In function ‘v8::Handle<v8::Value> SetAddress(const int&)’:
../src/i2c.cc:33:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
../src/i2c.cc: In function ‘v8::Handle<v8::Value> Scan(const int&)’:
../src/i2c.cc:63:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
../src/i2c.cc: In function ‘v8::Handle<v8::Value> Close(const int&)’:
../src/i2c.cc:72:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
../src/i2c.cc: In function ‘v8::Handle<v8::Value> Open(const int&)’:
../src/i2c.cc:95:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
../src/i2c.cc: In function ‘v8::Handle<v8::Value> ReadByte(const int&)’:
../src/i2c.cc:119:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
../src/i2c.cc: In function ‘v8::Handle<v8::Value> ReadBlock(const int&)’:
../src/i2c.cc:157:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
../src/i2c.cc: In function ‘v8::Handle<v8::Value> WriteByte(const int&)’:
../src/i2c.cc:179:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
../src/i2c.cc: In function ‘v8::Handle<v8::Value> WriteBlock(const int&)’:
../src/i2c.cc:205:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
../src/i2c.cc: In function ‘v8::Handle<v8::Value> WriteWord(const int&)’:
../src/i2c.cc:228:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
make: *** [Release/obj.target/i2c/src/i2c.o] Error 1
make: Leaving directory `/usr/local/.nvm/versions/node/v0.12.0/lib/node_modules/bonescript/node_modules/i2c/build'
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/.nvm/versions/node/v0.12.0/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:267:23)
gyp ERR! stack     at ChildProcess.emit (events.js:110:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:1067:12)
gyp ERR! System Linux 3.8.11
gyp ERR! command "node" "/usr/local/.nvm/versions/node/v0.12.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /usr/local/.nvm/versions/node/v0.12.0/lib/node_modules/bonescript/node_modules/i2c
gyp ERR! node -v v0.12.0
gyp ERR! node-gyp -v v1.0.2
gyp ERR! not ok 
npm WARN excluding symbolic link lib/socket.io-client.js -> io.js

> serialport@1.2.5 install /usr/local/.nvm/versions/node/v0.12.0/lib/node_modules/bonescript/node_modules/serialport
> node-gyp rebuild

child_process: customFds option is deprecated, use stdio instead.
make: Entering directory `/usr/local/.nvm/versions/node/v0.12.0/lib/node_modules/bonescript/node_modules/serialport/build'
  CXX(target) Release/obj.target/serialport/src/serialport.o
In file included from ../src/serialport.cpp:3:0:
../src/serialport.h:30:34: error: ‘Arguments’ in namespace ‘v8’ does not name a type
 v8::Handle<v8::Value> List(const v8::Arguments& args);
                                  ^
../src/serialport.h:30:49: error: ISO C++ forbids declaration of ‘args’ with no type [-fpermissive]
 v8::Handle<v8::Value> List(const v8::Arguments& args);
                                                 ^
../src/serialport.h:31:15: error: variable or field ‘EIO_List’ declared void
 void EIO_List(uv_work_t* req);
               ^
../src/serialport.h:31:15: error: ‘uv_work_t’ was not declared in this scope
../src/serialport.h:31:26: error: ‘req’ was not declared in this scope
 void EIO_List(uv_work_t* req);
                          ^
../src/serialport.h:32:20: error: variable or field ‘EIO_AfterList’ declared void
 void EIO_AfterList(uv_work_t* req);
                    ^
../src/serialport.h:32:20: error: ‘uv_work_t’ was not declared in this scope
../src/serialport.h:32:31: error: ‘req’ was not declared in this scope
 void EIO_AfterList(uv_work_t* req);
                               ^
../src/serialport.h:34:34: error: ‘Arguments’ in namespace ‘v8’ does not name a type
 v8::Handle<v8::Value> Open(const v8::Arguments& args);
                                  ^
../src/serialport.h:34:49: error: ISO C++ forbids declaration of ‘args’ with no type [-fpermissive]
 v8::Handle<v8::Value> Open(const v8::Arguments& args);
                                                 ^
../src/serialport.h:35:15: error: variable or field ‘EIO_Open’ declared void
 void EIO_Open(uv_work_t* req);
               ^
../src/serialport.h:35:15: error: ‘uv_work_t’ was not declared in this scope
../src/serialport.h:35:26: error: ‘req’ was not declared in this scope
 void EIO_Open(uv_work_t* req);
                          ^
../src/serialport.h:36:20: error: variable or field ‘EIO_AfterOpen’ declared void
 void EIO_AfterOpen(uv_work_t* req);
                    ^
../src/serialport.h:36:20: error: ‘uv_work_t’ was not declared in this scope
../src/serialport.h:36:31: error: ‘req’ was not declared in this scope
 void EIO_AfterOpen(uv_work_t* req);
                               ^
In file included from ../src/serialport.cpp:3:0:
../src/serialport.h:39:35: error: ‘Arguments’ in namespace ‘v8’ does not name a type
 v8::Handle<v8::Value> Write(const v8::Arguments& args);
                                   ^
../src/serialport.h:39:50: error: ISO C++ forbids declaration of ‘args’ with no type [-fpermissive]
 v8::Handle<v8::Value> Write(const v8::Arguments& args);
                                                  ^
../src/serialport.h:40:16: error: variable or field ‘EIO_Write’ declared void
 void EIO_Write(uv_work_t* req);
                ^
../src/serialport.h:40:16: error: ‘uv_work_t’ was not declared in this scope
../src/serialport.h:40:27: error: ‘req’ was not declared in this scope
 void EIO_Write(uv_work_t* req);
                           ^
../src/serialport.h:41:21: error: variable or field ‘EIO_AfterWrite’ declared void
 void EIO_AfterWrite(uv_work_t* req);
                     ^
../src/serialport.h:41:21: error: ‘uv_work_t’ was not declared in this scope
../src/serialport.h:41:32: error: ‘req’ was not declared in this scope
 void EIO_AfterWrite(uv_work_t* req);
                                ^
../src/serialport.h:43:35: error: ‘Arguments’ in namespace ‘v8’ does not name a type
 v8::Handle<v8::Value> Close(const v8::Arguments& args);
                                   ^
../src/serialport.h:43:50: error: ISO C++ forbids declaration of ‘args’ with no type [-fpermissive]
 v8::Handle<v8::Value> Close(const v8::Arguments& args);
                                                  ^
../src/serialport.h:44:16: error: variable or field ‘EIO_Close’ declared void
 void EIO_Close(uv_work_t* req);
                ^
../src/serialport.h:44:16: error: ‘uv_work_t’ was not declared in this scope
../src/serialport.h:44:27: error: ‘req’ was not declared in this scope
 void EIO_Close(uv_work_t* req);
                           ^
../src/serialport.h:45:21: error: variable or field ‘EIO_AfterClose’ declared void
 void EIO_AfterClose(uv_work_t* req);
                     ^
../src/serialport.h:45:21: error: ‘uv_work_t’ was not declared in this scope
../src/serialport.h:45:32: error: ‘req’ was not declared in this scope
 void EIO_AfterClose(uv_work_t* req);
                                ^
../src/serialport.h:47:35: error: ‘Arguments’ in namespace ‘v8’ does not name a type
 v8::Handle<v8::Value> Flush(const v8::Arguments& args);
                                   ^
../src/serialport.h:47:50: error: ISO C++ forbids declaration of ‘args’ with no type [-fpermissive]
 v8::Handle<v8::Value> Flush(const v8::Arguments& args);
                                                  ^
../src/serialport.h:48:16: error: variable or field ‘EIO_Flush’ declared void
 void EIO_Flush(uv_work_t* req);
                ^
../src/serialport.h:48:16: error: ‘uv_work_t’ was not declared in this scope
../src/serialport.h:48:27: error: ‘req’ was not declared in this scope
 void EIO_Flush(uv_work_t* req);
                           ^
../src/serialport.h:49:21: error: variable or field ‘EIO_AfterFlush’ declared void
 void EIO_AfterFlush(uv_work_t* req);
                     ^
../src/serialport.h:49:21: error: ‘uv_work_t’ was not declared in this scope
../src/serialport.h:49:32: error: ‘req’ was not declared in this scope
 void EIO_AfterFlush(uv_work_t* req);
                                ^
../src/serialport.h:89:3: error: ‘uv_work_t’ does not name a type
   uv_work_t req;
   ^
../src/serialport.h:90:3: error: ‘ngx_queue_t’ does not name a type
   ngx_queue_t queue;
   ^
In file included from ../src/serialport.cpp:8:0:
../src/serialport_poller.h:10:50: error: expected class-name before ‘{’ token
 class SerialportPoller : public node::ObjectWrap {
                                                  ^
../src/serialport_poller.h:23:42: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> New(const v8::Arguments& args);
                                          ^
../src/serialport_poller.h:23:57: error: ISO C++ forbids declaration of ‘args’ with no type [-fpermissive]
   static v8::Handle<v8::Value> New(const v8::Arguments& args);
                                                         ^
../src/serialport_poller.h:24:44: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Close(const v8::Arguments& args);
                                            ^
../src/serialport_poller.h:24:59: error: ISO C++ forbids declaration of ‘args’ with no type [-fpermissive]
   static v8::Handle<v8::Value> Close(const v8::Arguments& args);
                                                           ^
../src/serialport_poller.h:25:44: error: ‘Arguments’ in namespace ‘v8’ does not name a type
   static v8::Handle<v8::Value> Start(const v8::Arguments& args);
                                            ^
../src/serialport_poller.h:25:59: error: ISO C++ forbids declaration of ‘args’ with no type [-fpermissive]
   static v8::Handle<v8::Value> Start(const v8::Arguments& args);
                                                           ^
../src/serialport_poller.h:27:3: error: ‘uv_poll_t’ does not name a type
   uv_poll_t poll_handle_;
   ^
../src/serialport.cpp:11:1: error: ‘uv_mutex_t’ does not name a type
 uv_mutex_t write_queue_mutex;
 ^
../src/serialport.cpp:12:1: error: ‘ngx_queue_t’ does not name a type
 ngx_queue_t write_queue;
 ^
../src/serialport.cpp:14:34: error: ‘Arguments’ in namespace ‘v8’ does not name a type
 v8::Handle<v8::Value> Open(const v8::Arguments& args) {
                                  ^
../src/serialport.cpp:14:49: error: ISO C++ forbids declaration of ‘args’ with no type [-fpermissive]
 v8::Handle<v8::Value> Open(const v8::Arguments& args) {
                                                 ^
In file included from /home/chronos/user/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/serialport.h:5,
                 from ../src/serialport.cpp:3:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h: In function ‘v8::Handle<v8::Value> Open(const int&)’:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:816:13: error: ‘v8::HandleScope::HandleScope()’ is protected
   V8_INLINE HandleScope() {}
             ^
../src/serialport.cpp:15:19: error: within this context
   v8::HandleScope scope;
                   ^
../src/serialport.cpp:17:18: error: ‘write_queue_mutex’ was not declared in this scope
   uv_mutex_init(&write_queue_mutex);
                  ^
../src/serialport.cpp:17:35: error: ‘uv_mutex_init’ was not declared in this scope
   uv_mutex_init(&write_queue_mutex);
                                   ^
../src/serialport.cpp:18:19: error: ‘write_queue’ was not declared in this scope
   ngx_queue_init(&write_queue);
                   ^
../src/serialport.cpp:18:30: error: ‘ngx_queue_init’ was not declared in this scope
   ngx_queue_init(&write_queue);
                              ^
../src/serialport.cpp:21:13: error: invalid types ‘const int[int]’ for array subscript
   if(!args[0]->IsString()) {
             ^
../src/serialport.cpp:22:18: error: ‘class v8::HandleScope’ has no member named ‘Close’
     return scope.Close(v8::ThrowException(v8::Exception::TypeError(v8::String::New("First argument must be a string"))));
                  ^
../src/serialport.cpp:22:24: error: ‘ThrowException’ is not a member of ‘v8’
     return scope.Close(v8::ThrowException(v8::Exception::TypeError(v8::String::New("First argument must be a string"))));
                        ^
../src/serialport.cpp:22:68: error: ‘New’ is not a member of ‘v8::String’
     return scope.Close(v8::ThrowException(v8::Exception::TypeError(v8::String::New("First argument must be a string"))));
                                                                    ^
../src/serialport.cpp:24:36: error: invalid types ‘const int[int]’ for array subscript
   v8::String::Utf8Value path(args[0]->ToString());
                                    ^
../src/serialport.cpp:27:13: error: invalid types ‘const int[int]’ for array subscript
   if(!args[1]->IsObject()) {
             ^
../src/serialport.cpp:28:18: error: ‘class v8::HandleScope’ has no member named ‘Close’
     return scope.Close(v8::ThrowException(v8::Exception::TypeError(v8::String::New("Second argument must be an object"))));
                  ^
../src/serialport.cpp:28:24: error: ‘ThrowException’ is not a member of ‘v8’
     return scope.Close(v8::ThrowException(v8::Exception::TypeError(v8::String::New("Second argument must be an object"))));
                        ^
../src/serialport.cpp:28:68: error: ‘New’ is not a member of ‘v8::String’
     return scope.Close(v8::ThrowException(v8::Exception::TypeError(v8::String::New("Second argument must be an object"))));
                                                                    ^
../src/serialport.cpp:30:41: error: invalid types ‘const int[int]’ for array subscript
   v8::Local<v8::Object> options = args[1]->ToObject();
                                         ^
../src/serialport.cpp:33:13: error: invalid types ‘const int[int]’ for array subscript
   if(!args[2]->IsFunction()) {
             ^
../src/serialport.cpp:34:18: error: ‘class v8::HandleScope’ has no member named ‘Close’
     return scope.Close(v8::ThrowException(v8::Exception::TypeError(v8::String::New("Third argument must be a function"))));
                  ^
../src/serialport.cpp:34:24: error: ‘ThrowException’ is not a member of ‘v8’
     return scope.Close(v8::ThrowException(v8::Exception::TypeError(v8::String::New("Third argument must be a function"))));
                        ^
../src/serialport.cpp:34:68: error: ‘New’ is not a member of ‘v8::String’
     return scope.Close(v8::ThrowException(v8::Exception::TypeError(v8::String::New("Third argument must be a function"))));
                                                                    ^
../src/serialport.cpp:36:41: error: invalid types ‘const int[int]’ for array subscript
   v8::Local<v8::Value> callback = args[2];
                                         ^
../src/serialport.cpp:41:34: error: ‘New’ is not a member of ‘v8::String’
   baton->baudRate = options->Get(v8::String::New("baudRate"))->ToInt32()->Int32Value();
                                  ^
../src/serialport.cpp:42:34: error: ‘New’ is not a member of ‘v8::String’
   baton->dataBits = options->Get(v8::String::New("dataBits"))->ToInt32()->Int32Value();
                                  ^
../src/serialport.cpp:43:36: error: ‘New’ is not a member of ‘v8::String’
   baton->bufferSize = options->Get(v8::String::New("bufferSize"))->ToInt32()->Int32Value();
                                    ^
../src/serialport.cpp:44:45: error: ‘New’ is not a member of ‘v8::String’
   baton->parity = ToParityEnum(options->Get(v8::String::New("parity"))->ToString());
                                             ^
../src/serialport.cpp:45:48: error: ‘New’ is not a member of ‘v8::String’
   baton->stopBits = ToStopBitEnum(options->Get(v8::String::New("stopBits"))->ToNumber()->NumberValue());
                                                ^
../src/serialport.cpp:46:32: error: ‘New’ is not a member of ‘v8::String’
   baton->rtscts = options->Get(v8::String::New("rtscts"))->ToBoolean()->BooleanValue();
                                ^
../src/serialport.cpp:47:29: error: ‘New’ is not a member of ‘v8::String’
   baton->xon = options->Get(v8::String::New("xon"))->ToBoolean()->BooleanValue();
                             ^
../src/serialport.cpp:48:30: error: ‘New’ is not a member of ‘v8::String’
   baton->xoff = options->Get(v8::String::New("xoff"))->ToBoolean()->BooleanValue();
                              ^
../src/serialport.cpp:49:30: error: ‘New’ is not a member of ‘v8::String’
   baton->xany = options->Get(v8::String::New("xany"))->ToBoolean()->BooleanValue();
                              ^
../src/serialport.cpp:52:60: error: no matching function for call to ‘v8::Persistent<v8::Value>::New(v8::Local<v8::Value>&)’
   baton->callback = v8::Persistent<v8::Value>::New(callback);
                                                            ^
../src/serialport.cpp:52:60: note: candidate is:
In file included from /home/chronos/user/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/serialport.h:5,
                 from ../src/serialport.cpp:3:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:5809:4: note: static T* v8::PersistentBase<T>::New(v8::Isolate*, T*) [with T = v8::Value]
 T* PersistentBase<T>::New(Isolate* isolate, T* that) {
    ^
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:5809:4: note:   candidate expects 2 arguments, 1 provided
../src/serialport.cpp:53:69: error: ‘New’ is not a member of ‘v8::String’
   baton->dataCallback = v8::Persistent<v8::Value>::New(options->Get(v8::String::New("dataCallback")));
                                                                     ^
../src/serialport.cpp:54:77: error: ‘New’ is not a member of ‘v8::String’
   baton->disconnectedCallback = v8::Persistent<v8::Value>::New(options->Get(v8::String::New("disconnectedCallback")));
                                                                             ^
../src/serialport.cpp:55:70: error: ‘New’ is not a member of ‘v8::String’
   baton->errorCallback = v8::Persistent<v8::Value>::New(options->Get(v8::String::New("errorCallback")));
                                                                      ^
../src/serialport.cpp:57:3: error: ‘uv_work_t’ was not declared in this scope
   uv_work_t* req = new uv_work_t();
   ^
../src/serialport.cpp:57:14: error: ‘req’ was not declared in this scope
   uv_work_t* req = new uv_work_t();
              ^
../src/serialport.cpp:57:24: error: expected type-specifier before ‘uv_work_t’
   uv_work_t* req = new uv_work_t();
                        ^
../src/serialport.cpp:57:24: error: expected ‘;’ before ‘uv_work_t’
../src/serialport.cpp:59:33: error: ‘uv_default_loop’ was not declared in this scope
   uv_queue_work(uv_default_loop(), req, EIO_Open, (uv_after_work_cb)EIO_AfterOpen);
                                 ^
../src/serialport.cpp:59:41: error: ‘EIO_Open’ was not declared in this scope
   uv_queue_work(uv_default_loop(), req, EIO_Open, (uv_after_work_cb)EIO_AfterOpen);
                                         ^
../src/serialport.cpp:59:52: error: ‘uv_after_work_cb’ was not declared in this scope
   uv_queue_work(uv_default_loop(), req, EIO_Open, (uv_after_work_cb)EIO_AfterOpen);
                                                    ^
../src/serialport.cpp:59:82: error: ‘uv_queue_work’ was not declared in this scope
   uv_queue_work(uv_default_loop(), req, EIO_Open, (uv_after_work_cb)EIO_AfterOpen);
                                                                                  ^
../src/serialport.cpp:61:16: error: ‘class v8::HandleScope’ has no member named ‘Close’
   return scope.Close(v8::Undefined());
                ^
../src/serialport.cpp:61:36: error: too few arguments to function ‘v8::Handle<v8::Primitive> v8::Undefined(v8::Isolate*)’
   return scope.Close(v8::Undefined());
                                    ^
In file included from /home/chronos/user/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/serialport.h:5,
                 from ../src/serialport.cpp:3:
/home/chronos/user/.node-gyp/0.12.0/deps/v8/include/v8.h:305:28: note: declared here
   friend Handle<Primitive> Undefined(Isolate* isolate);
                            ^
../src/serialport.cpp: At global scope:
../src/serialport.cpp:64:20: error: variable or field ‘EIO_AfterOpen’ declared void
 void EIO_AfterOpen(uv_work_t* req) {
                    ^
../src/serialport.cpp:64:20: error: ‘uv_work_t’ was not declared in this scope
../src/serialport.cpp:64:31: error: ‘req’ was not declared in this scope
 void EIO_AfterOpen(uv_work_t* req) {
                               ^
../src/serialport.cpp: In function ‘v8::Handle<v8::Value> Open(const int&)’:
../src/serialport.cpp:62:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
make: *** [Release/obj.target/serialport/src/serialport.o] Error 1
make: Leaving directory `/usr/local/.nvm/versions/node/v0.12.0/lib/node_modules/bonescript/node_modules/serialport/build'
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/.nvm/versions/node/v0.12.0/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:267:23)
gyp ERR! stack     at ChildProcess.emit (events.js:110:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:1067:12)
gyp ERR! System Linux 3.8.11
gyp ERR! command "node" "/usr/local/.nvm/versions/node/v0.12.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /usr/local/.nvm/versions/node/v0.12.0/lib/node_modules/bonescript/node_modules/serialport
gyp ERR! node -v v0.12.0
gyp ERR! node-gyp -v v1.0.2
gyp ERR! not ok 
npm ERR! Linux 3.8.11
npm ERR! argv "/usr/local/.nvm/versions/node/v0.12.0/bin/node" "/usr/local/.nvm/versions/node/v0.12.0/bin/npm" "install" "-g" "bonescript"
npm ERR! node v0.12.0
npm ERR! npm  v2.5.1
npm ERR! code ELIFECYCLE

npm ERR! epoll@0.0.7 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the epoll@0.0.7 install script 'node-gyp rebuild'.
npm ERR! This is most likely a problem with the epoll 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 epoll
npm ERR! There is likely additional logging output above.
npm ERR! Linux 3.8.11
npm ERR! argv "/usr/local/.nvm/versions/node/v0.12.0/bin/node" "/usr/local/.nvm/versions/node/v0.12.0/bin/npm" "install" "-g" "bonescript"
npm ERR! node v0.12.0
npm ERR! npm  v2.5.1

npm ERR! Uncaught, unspecified "error" event.
npm ERR! 
npm ERR! If you need help, you may report this error at:
npm ERR!     <http://github.com/npm/npm/issues>

npm ERR! Please include the following file with any support request:
npm ERR!     /npm-debug.log

i had previously filed this as an error with npm here - #7622, but was told by @othiym23 that this was, "Although I think node-serialport has been updated to work with the new V8 APIs in Node 0.12.0, bonescript is still depending on a version that's about 10 releases behind at this point."

so i am filing this issue, seeing what needs updating so bonescript installs without errors via npm with node v0.12.0, please? please advise.

best,

— faddah
portland, oregon, u.s.a.

@arselzer
Copy link

arselzer commented Apr 1, 2015

Same problem here. Not only is there a node version mismatch, but there are compiler errors everywhere.

I guess the modules epoll, i2c, and serialport would have to be rewritten for it to work with node 0.12.

@glowlabs
Copy link

glowlabs commented Apr 1, 2015

Same issue here on multiple beaglebone black boards.

@faddah
Copy link
Author

faddah commented Apr 3, 2015

one thought: node v.0.12.0, while the latest stable version, has a number of issues, including with the npm serialport module. suggest backing down to 0.10.38, maybe, until things get fixed?

best,

— faddah
portland, oregon, u.s.a.

@vladiks
Copy link

vladiks commented Oct 7, 2015

I have similar problem. I have Beagle Bone Black with Bone Debian 7.8. Installed current node and then tried install bonescript with no success and long list of errors.

@bjgross1076
Copy link

Any plans to update? I'm hoping to use beaglebone green with the Microsoft Azure IOT hub, but their script requries the latest version of node.

@jadonk
Copy link
Owner

jadonk commented Feb 10, 2016

Please try the 0.5.x branch (0.5.0-beta1 just pushed to npm).

@bjgross1076 latest version of node or just newer?

@cautiousCentaur
Copy link

@jadonk What is the highest node version that a version of bonescript supports? We are having issues with our embedded system because we coded in es6 which isn't running with node .10.

So, which Node and which version of Bonescript, I mean.

@jadonk
Copy link
Owner

jadonk commented May 17, 2016

0.12.x currently, via the 0.5.0 branch: npm install -g bonescript@0.5.0-beta6

We're working on enabling newer versions.

@jadonk jadonk closed this as completed May 18, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants