dazoe / ecc

Native node js module for ECDH and ECDSA
MIT License
5 stars 7 forks source link

Cannot build on OS X #11

Open lkraider opened 7 years ago

lkraider commented 7 years ago

macOS X 10.11.6 node 7.5.0 npm 4.1.2

$ npm install "git+https://github.com/rynomad/ecc.git"

> ecc-qj@0.0.1 install ~/project/node_modules/ecc-qj
> node-gyp rebuild

  CXX(target) Release/obj.target/native/src/main.o
In file included from ../src/main.cc:2:
In file included from ../node_modules/nan/nan.h:111:
../node_modules/nan/nan_new.h:34:56: warning: 'ToInt32' is deprecated [-Wdeprecated-declarations]
To<v8::Int32>(v8::Handle<v8::Integer> i)   { return i->ToInt32(); }
                                                       ^
~/.node-gyp/7.5.0/include/node/v8.h:8442:21: note: 'ToInt32' has been explicitly marked deprecated here
Local<Int32> Value::ToInt32() const {
                    ^
In file included from ../src/main.cc:2:
In file included from ../node_modules/nan/nan.h:111:
../node_modules/nan/nan_new.h:39:56: warning: 'ToUint32' is deprecated [-Wdeprecated-declarations]
To<v8::Uint32>(v8::Handle<v8::Integer> i)  { return i->ToUint32(); }
                                                       ^
~/.node-gyp/7.5.0/include/node/v8.h:8436:22: note: 'ToUint32' has been explicitly marked deprecated here
Local<Uint32> Value::ToUint32() const {
                     ^
In file included from ../src/main.cc:2:
In file included from ../node_modules/nan/nan.h:111:
In file included from ../node_modules/nan/nan_new.h:191:
../node_modules/nan/nan_implementation_12_inl.h:49:29: warning: 'New' is deprecated [-Wdeprecated-declarations]
  return v8::BooleanObject::New(value).As<v8::BooleanObject>();
                            ^
~/.node-gyp/7.5.0/include/node/v8.h:4048:56: note: 'New' has been explicitly marked deprecated here
  V8_DEPRECATED("Pass an isolate", static Local<Value> New(bool value));
                                                       ^
In file included from ../src/main.cc:2:
In file included from ../node_modules/nan/nan.h:111:
In file included from ../node_modules/nan/nan_new.h:191:
../node_modules/nan/nan_implementation_12_inl.h:166:30: warning: 'Compile' is deprecated [-Wdeprecated-declarations]
  return v8::ScriptCompiler::Compile(v8::Isolate::GetCurrent(), &src);
                             ^
~/.node-gyp/7.5.0/include/node/v8.h:1321:21: note: 'Compile' has been explicitly marked deprecated here
      Local<Script> Compile(Isolate* isolate, Source* source,
                    ^
In file included from ../src/main.cc:2:
In file included from ../node_modules/nan/nan.h:111:
In file included from ../node_modules/nan/nan_new.h:191:
../node_modules/nan/nan_implementation_12_inl.h:173:30: warning: 'Compile' is deprecated [-Wdeprecated-declarations]
  return v8::ScriptCompiler::Compile(v8::Isolate::GetCurrent(), &src);
                             ^
~/.node-gyp/7.5.0/include/node/v8.h:1321:21: note: 'Compile' has been explicitly marked deprecated here
      Local<Script> Compile(Isolate* isolate, Source* source,
                    ^
In file included from ../src/main.cc:2:
In file included from ../node_modules/nan/nan.h:111:
In file included from ../node_modules/nan/nan_new.h:191:
../node_modules/nan/nan_implementation_12_inl.h:205:22: warning: 'NewFromOneByte' is deprecated
      [-Wdeprecated-declarations]
  return v8::String::NewFromOneByte(v8::Isolate::GetCurrent(), value,
                     ^
~/.node-gyp/7.5.0/include/node/v8.h:2317:21: note: 'NewFromOneByte' has been explicitly marked deprecated here
      Local<String> NewFromOneByte(Isolate* isolate, const uint8_t* data,
                    ^
In file included from ../src/main.cc:2:
In file included from ../node_modules/nan/nan.h:111:
In file included from ../node_modules/nan/nan_new.h:191:
../node_modules/nan/nan_implementation_12_inl.h:217:22: warning: 'NewExternal' is deprecated [-Wdeprecated-declarations]
  return v8::String::NewExternal(v8::Isolate::GetCurrent(), value);
                     ^
~/.node-gyp/7.5.0/include/node/v8.h:2355:38: note: 'NewExternal' has been explicitly marked deprecated here
                       Local<String> NewExternal(
                                     ^
In file included from ../src/main.cc:2:
In file included from ../node_modules/nan/nan.h:111:
In file included from ../node_modules/nan/nan_new.h:191:
../node_modules/nan/nan_implementation_12_inl.h:237:30: warning: 'CompileUnbound' is deprecated
      [-Wdeprecated-declarations]
  return v8::ScriptCompiler::CompileUnbound(v8::Isolate::GetCurrent(), &src);
                             ^
~/.node-gyp/7.5.0/include/node/v8.h:1301:45: note: 'CompileUnbound' has been explicitly marked deprecated here
                       Local<UnboundScript> CompileUnbound(
                                            ^
In file included from ../src/main.cc:2:
In file included from ../node_modules/nan/nan.h:111:
In file included from ../node_modules/nan/nan_new.h:191:
../node_modules/nan/nan_implementation_12_inl.h:244:30: warning: 'CompileUnbound' is deprecated
      [-Wdeprecated-declarations]
  return v8::ScriptCompiler::CompileUnbound(v8::Isolate::GetCurrent(), &src);
                             ^
~/.node-gyp/7.5.0/include/node/v8.h:1301:45: note: 'CompileUnbound' has been explicitly marked deprecated here
                       Local<UnboundScript> CompileUnbound(
                                            ^
In file included from ../src/main.cc:2:
../node_modules/nan/nan.h:324:27: error: redefinition of 'NanEnsureHandleOrPersistent'
  NAN_INLINE v8::Local<T> NanEnsureHandleOrPersistent(const v8::Local<T> &val) {
                          ^
../node_modules/nan/nan.h:319:17: note: previous definition is here
  v8::Handle<T> NanEnsureHandleOrPersistent(const v8::Handle<T> &val) {
                ^
../node_modules/nan/nan.h:344:27: error: redefinition of 'NanEnsureLocal'
  NAN_INLINE v8::Local<T> NanEnsureLocal(const v8::Handle<T> &val) {
                          ^
../node_modules/nan/nan.h:334:27: note: previous definition is here
  NAN_INLINE v8::Local<T> NanEnsureLocal(const v8::Local<T> &val) {
                          ^
../node_modules/nan/nan.h:374:39: warning: 'IdleNotification' is deprecated [-Wdeprecated-declarations]
    return v8::Isolate::GetCurrent()->IdleNotification(idle_time_in_ms);
                                      ^
~/.node-gyp/7.5.0/include/node/v8.h:6290:22: note: 'IdleNotification' has been explicitly marked deprecated
      here
                bool IdleNotification(int idle_time_in_ms));
                     ^
In file included from ../src/main.cc:2:
../node_modules/nan/nan.h:560:20: error: no type named 'GCEpilogueCallback' in 'v8::Isolate'
      v8::Isolate::GCEpilogueCallback callback
      ~~~~~~~~~~~~~^
../node_modules/nan/nan.h:566:20: error: no type named 'GCEpilogueCallback' in 'v8::Isolate'
      v8::Isolate::GCEpilogueCallback callback) {
      ~~~~~~~~~~~~~^
../node_modules/nan/nan.h:571:20: error: no type named 'GCPrologueCallback' in 'v8::Isolate'
      v8::Isolate::GCPrologueCallback callback
      ~~~~~~~~~~~~~^
../node_modules/nan/nan.h:577:20: error: no type named 'GCPrologueCallback' in 'v8::Isolate'
      v8::Isolate::GCPrologueCallback callback) {
      ~~~~~~~~~~~~~^
../node_modules/nan/nan.h:659:15: error: no type named 'WeakCallbackData' in namespace 'v8'
    const v8::WeakCallbackData<T, _NanWeakCallbackInfo<T, P> > &data) {
          ~~~~^
../node_modules/nan/nan.h:659:31: error: expected ')'
    const v8::WeakCallbackData<T, _NanWeakCallbackInfo<T, P> > &data) {
                              ^
../node_modules/nan/nan.h:658:41: note: to match this '('
  static void _NanWeakCallbackDispatcher(
                                        ^
../node_modules/nan/nan.h:660:42: error: use of undeclared identifier 'data'
      _NanWeakCallbackInfo<T, P> *info = data.GetParameter();
                                         ^
../node_modules/nan/nan.h:757:13: error: no member named 'smalloc' in namespace 'node'
    , node::smalloc::FreeCallback callback
      ~~~~~~^
../node_modules/nan/nan.h:768:12: error: no matching function for call to 'New'
    return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
           ^~~~~~~~~~~~~~~~~
~/.node-gyp/7.5.0/include/node/node_buffer.h:46:40: note: candidate function not viable: 2nd argument
      ('const char *') would lose const qualifier
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
~/.node-gyp/7.5.0/include/node/node_buffer.h:34:40: note: candidate function not viable: no known conversion
      from 'const char *' to 'v8::Local<v8::String>' for 2nd argument
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
~/.node-gyp/7.5.0/include/node/node_buffer.h:31:40: note: candidate function not viable: requires 2 arguments,
      but 3 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate, size_t length);
                                       ^
~/.node-gyp/7.5.0/include/node/node_buffer.h:39:40: note: candidate function not viable: requires 5 arguments,
      but 3 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
In file included from ../src/main.cc:2:
../node_modules/nan/nan.h:772:12: error: no viable conversion from returned value of type 'v8::MaybeLocal<v8::Object>'
      to function return type 'v8::Local<v8::Object>'
    return node::Buffer::New(v8::Isolate::GetCurrent(), size);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~/.node-gyp/7.5.0/include/node/v8.h:219:7: note: candidate constructor (the implicit copy constructor) not
      viable: no known conversion from 'v8::MaybeLocal<v8::Object>' to 'const v8::Local<v8::Object> &' for 1st argument
class Local {
      ^
~/.node-gyp/7.5.0/include/node/v8.h:219:7: note: candidate constructor (the implicit move constructor) not
      viable: no known conversion from 'v8::MaybeLocal<v8::Object>' to 'v8::Local<v8::Object> &&' for 1st argument
~/.node-gyp/7.5.0/include/node/v8.h:223:13: note: candidate template ignored: could not match 'Local' against
      'MaybeLocal'
  V8_INLINE Local(Local<S> that)
            ^
In file included from ../src/main.cc:2:
../node_modules/nan/nan.h:779:26: error: no member named 'Use' in namespace 'node::Buffer'
    return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size);
           ~~~~~~~~~~~~~~^
../node_modules/nan/nan.h:806:32: warning: 'Compile' is deprecated [-Wdeprecated-declarations]
    return v8::ScriptCompiler::Compile(v8::Isolate::GetCurrent(), &source);
                               ^
~/.node-gyp/7.5.0/include/node/v8.h:1321:21: note: 'Compile' has been explicitly marked deprecated here
      Local<Script> Compile(Isolate* isolate, Source* source,
                    ^
In file included from ../src/main.cc:2:
../node_modules/nan/nan.h:813:32: warning: 'Compile' is deprecated [-Wdeprecated-declarations]
    return v8::ScriptCompiler::Compile(v8::Isolate::GetCurrent(), &source);
                               ^
~/.node-gyp/7.5.0/include/node/v8.h:1321:21: note: 'Compile' has been explicitly marked deprecated here
      Local<Script> Compile(Isolate* isolate, Source* source,
                    ^
~/.node-gyp/7.5.0/include/node/v8.h:230:5: error: assigning to 'v8::Primitive *volatile' from incompatible
      type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
~/.node-gyp/7.5.0/include/node/v8.h:189:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:501:12: note: in instantiation of function template specialization
      'v8::Local<v8::Primitive>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(v8::Undefined(v8::Isolate::GetCurrent())));
           ^
../node_modules/nan/nan.h:483:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(Nan::imp::NanEnsureLocal(val))
                             ^
In file included from ../src/main.cc:1:
In file included from ~/.node-gyp/7.5.0/include/node/node.h:42:
~/.node-gyp/7.5.0/include/node/v8.h:230:5: error: assigning to 'v8::Boolean *volatile' from incompatible type
      'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
~/.node-gyp/7.5.0/include/node/v8.h:189:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:511:12: note: in instantiation of function template specialization
      'v8::Local<v8::Boolean>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(v8::True(v8::Isolate::GetCurrent())));
           ^
../node_modules/nan/nan.h:483:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(Nan::imp::NanEnsureLocal(val))
                             ^
In file included from ../src/main.cc:1:
In file included from ~/.node-gyp/7.5.0/include/node/node.h:42:
~/.node-gyp/7.5.0/include/node/v8.h:230:5: error: assigning to 'v8::Function *volatile' from incompatible type
      'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
~/.node-gyp/7.5.0/include/node/v8.h:189:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:1645:12: note: in instantiation of function template specialization
      'v8::Local<v8::Function>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(handle)->Get(kCallbackIndex)
           ^
../node_modules/nan/nan.h:483:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(Nan::imp::NanEnsureLocal(val))
                             ^
In file included from ../src/main.cc:1:
In file included from ~/.node-gyp/7.5.0/include/node/node.h:42:
~/.node-gyp/7.5.0/include/node/v8.h:230:5: error: assigning to 'v8::Object *volatile' from incompatible type
      'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
~/.node-gyp/7.5.0/include/node/v8.h:189:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:1776:12: note: in instantiation of function template specialization
      'v8::Local<v8::Object>::Local<v8::Value>' requested here
    return NanEscapeScope(
           ^
../node_modules/nan/nan.h:483:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(Nan::imp::NanEnsureLocal(val))
                             ^
12 warnings and 17 errors generated.
make: *** [Release/obj.target/native/src/main.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276:23)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:192:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
gyp ERR! System Darwin 15.6.0
gyp ERR! command "/usr/local/Cellar/node/7.5.0/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd ~/project/node_modules/ecc-qj
gyp ERR! node -v v7.5.0
gyp ERR! node-gyp -v v3.5.0
gyp ERR! not ok
npm ERR! Darwin 15.6.0
npm ERR! argv "/usr/local/Cellar/node/7.5.0/bin/node" "/usr/local/bin/npm" "install" "git+https://github.com/rynomad/ecc.git"
npm ERR! node v7.5.0
npm ERR! npm  v4.1.2
npm ERR! code ELIFECYCLE

npm ERR! ecc-qj@0.0.1 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the ecc-qj@0.0.1 install script 'node-gyp rebuild'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the ecc-qj 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 information on how to open an issue for this project with:
npm ERR!     npm bugs ecc-qj
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls ecc-qj
npm ERR! There is likely additional logging output above.

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