Skip to content
This repository has been archived by the owner on Sep 25, 2020. It is now read-only.

npm install ringpop build error #287

Open
imjerryyang opened this issue Jun 17, 2016 · 3 comments
Open

npm install ringpop build error #287

imjerryyang opened this issue Jun 17, 2016 · 3 comments

Comments

@imjerryyang
Copy link

OS : MAC OS X EL
Node Version: v6.2.1, v4.4.5, v4.2.4, 0.12.9
Step to reproduce:
1 open terminal
2 npm install ringpop / npm install ringpop -save


> node-gyp rebuild

  CXX(target) Release/obj.target/toobusy/toobusy.o
../toobusy.cc:25:29: error: unknown type name 'Arguments'; did you mean 'v8::internal::Arguments'?
Handle<Value> TooBusy(const Arguments& args) {
                            ^~~~~~~~~
                            v8::internal::Arguments
/Users/xxxx/.node-gyp/4.2.4/include/node/v8.h:139:7: note: 'v8::internal::Arguments' declared here
class Arguments;
      ^
../toobusy.cc:37:20: error: no matching function for call to 'True'
    return block ? True() : False();
                   ^~~~
/Users/xxxx/.node-gyp/4.2.4/include/node/v8.h:8139:16: note: candidate function not viable: requires single argument 'isolate', but no arguments were provided
Local<Boolean> True(Isolate\* isolate) {
               ^
../toobusy.cc:37:29: error: no matching function for call to 'False'
    return block ? True() : False();
                            ^~~~~
/Users/xxxx/.node-gyp/4.2.4/include/node/v8.h:8148:16: note: candidate function not viable: requires single argument 'isolate', but no arguments were provided
Local<Boolean> False(Isolate\* isolate) {
               ^
../toobusy.cc:40:30: error: unknown type name 'Arguments'; did you mean 'v8::internal::Arguments'?
Handle<Value> ShutDown(const Arguments& args) {
                             ^~~~~~~~~
                             v8::internal::Arguments
/Users/xxxx/.node-gyp/4.2.4/include/node/v8.h:139:7: note: 'v8::internal::Arguments' declared here
class Arguments;
      ^
../toobusy.cc:45:12: error: no matching function for call to 'Undefined'
    return Undefined();
           ^~~~~~~~~
/Users/xxxx/.node-gyp/4.2.4/include/node/v8.h:315:27: note: candidate function not viable: requires single argument 'isolate', but no arguments were provided
  friend Local<Primitive> Undefined(Isolate\* isolate);
                          ^
../toobusy.cc:48:25: error: unknown type name 'Arguments'; did you mean 'v8::internal::Arguments'?
Handle<Value> Lag(const Arguments& args) {
                        ^~~~~~~~~
                        v8::internal::Arguments
/Users/xxxx/.node-gyp/4.2.4/include/node/v8.h:139:7: note: 'v8::internal::Arguments' declared here
class Arguments;
      ^
../toobusy.cc:49:17: error: calling a protected constructor of class 'v8::HandleScope'
    HandleScope scope;
                ^
/Users/xxxx/.node-gyp/4.2.4/include/node/v8.h:885:13: note: declared protected here
  V8_INLINE HandleScope() {}
            ^
../toobusy.cc:50:18: error: no member named 'Close' in 'v8::HandleScope'
    return scope.Close(Integer::New(s_currentLag));
           ~~~~~ ^
../toobusy.cc:50:49: error: too few arguments to function call, expected 2, have 1
    return scope.Close(Integer::New(s_currentLag));
                       ~~~~~~~~~~~~             ^
/Users/xxxx/.node-gyp/4.2.4/include/node/v8.h:2499:3: note: 'New' declared here
  static Local<Integer> New(Isolate\* isolate, int32_t value);
  ^
../toobusy.cc:53:35: error: unknown type name 'Arguments'; did you mean 'v8::internal::Arguments'?
Handle<Value> HighWaterMark(const Arguments& args) {
                                  ^~~~~~~~~
                                  v8::internal::Arguments
/Users/xxxx/.node-gyp/4.2.4/include/node/v8.h:139:7: note: 'v8::internal::Arguments' declared here
class Arguments;
      ^
../toobusy.cc:54:17: error: calling a protected constructor of class 'v8::HandleScope'
    HandleScope scope;
                ^
/Users/xxxx/.node-gyp/4.2.4/include/node/v8.h:885:13: note: declared protected here
  V8_INLINE HandleScope() {}
            ^
../toobusy.cc:56:13: error: member access into incomplete type 'const v8::internal::Arguments'
    if (args.Length() >= 1) {
            ^
/Users/xxxx/.node-gyp/4.2.4/include/node/v8.h:139:7: note: forward declaration of 'v8::internal::Arguments'
class Arguments;
      ^
../toobusy.cc:57:18: error: type 'const v8::internal::Arguments' does not provide a subscript operator
        if (!args[0]->IsNumber()) {
             ~~~~^~
../toobusy.cc:58:24: error: no member named 'ThrowException' in namespace 'v8'
            return v8::ThrowException(
                   ~~~~^
../toobusy.cc:60:33: error: no member named 'New' in 'v8::String'
                    v8::String::New("expected numeric first argument")));
                    ~~~~~~~~~~~~^
../toobusy.cc:62:23: error: type 'const v8::internal::Arguments' does not provide a subscript operator
        int hwm = args[0]->Int32Value();
                  ~~~~^~
../toobusy.cc:64:24: error: no member named 'ThrowException' in namespace 'v8'
            return v8::ThrowException(
                   ~~~~^
../toobusy.cc:66:33: error: no member named 'New' in 'v8::String'
                    v8::String::New("maximum lag should be greater than 10ms")));
                    ~~~~~~~~~~~~^
../toobusy.cc:71:18: error: no member named 'Close' in 'v8::HandleScope'
    return scope.Close(Number::New(HIGH_WATER_MARK_MS));
           ~~~~~ ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make: **\* [Release/obj.target/toobusy/toobusy.o] Error 1
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/Users/xxxx/.nvm/versions/node/v4.2.4/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Darwin 15.5.0
gyp ERR! command "/Users/xxxx/.nvm/versions/node/v4.2.4/bin/node" "/Users/xxxx/.nvm/versions/node/v4.2.4/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/xxxx/work/testing/node_modules/ringpop/node_modules/toobusy
gyp ERR! node -v v4.2.4
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok 

> [email protected] install /Users/xxxx/work/testing/node_modules/ringpop/node_modules/farmhash
> node-gyp rebuild

  CXX(target) Release/obj.target/farmhash/src/upstream/farmhash.o
../src/upstream/farmhash.cc:684:23: warning: unused function 'Shuffle2031' [-Wunused-function]
STATIC_INLINE __m128i Shuffle2031(__m128i x) {
                      ^
1 warning generated.
  CXX(target) Release/obj.target/farmhash/src/bindings.o
In file included from ../src/bindings.cc:4:
../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: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);
           ^~~~~~~~~~~~~~~~~
/Users/xxxx/.node-gyp/4.2.4/include/node/node_buffer.h:31:40: note: candidate function not viable: no known conversion from 'uint32_t' (aka 'unsigned int') to
      'enum encoding' for 3rd argument
NODE_EXTERN v8::MaybeLocalv8::Object New(v8::Isolate\* isolate,
                                       ^
/Users/xxxx/.node-gyp/4.2.4/include/node/node_buffer.h:43:40: note: candidate function not viable: 2nd argument ('const char _') would lose const qualifier
NODE_EXTERN v8::MaybeLocalv8::Object New(v8::Isolate_ isolate,
                                       ^
/Users/xxxx/.node-gyp/4.2.4/include/node/node_buffer.h:28:40: note: candidate function not viable: requires 2 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocalv8::Object New(v8::Isolate\* isolate, size_t length);
                                       ^
/Users/xxxx/.node-gyp/4.2.4/include/node/node_buffer.h:36:40: note: candidate function not viable: requires 5 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocalv8::Object New(v8::Isolate\* isolate,
                                       ^
In file included from ../src/bindings.cc:4:
../node_modules/nan/nan.h:772:12: error: no viable conversion from returned value of type 'v8::MaybeLocalv8::Object' to function return type 'v8::Localv8::Object'
    return node::Buffer::New(v8::Isolate::GetCurrent(), size);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/xxxx/.node-gyp/4.2.4/include/node/v8.h:210:7: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from
      'v8::MaybeLocalv8::Object' to 'const v8::Localv8::Object &' for 1st argument
class Local {
      ^
/Users/xxxx/.node-gyp/4.2.4/include/node/v8.h:210:7: note: candidate constructor (the implicit move constructor) not viable: no known conversion from
      'v8::MaybeLocalv8::Object' to 'v8::Localv8::Object &&' for 1st argument
/Users/xxxx/.node-gyp/4.2.4/include/node/v8.h:214:13: note: candidate template ignored: could not match 'Local' against 'MaybeLocal'
  V8_INLINE Local(Local<S> that)
            ^
/Users/xxxx/.node-gyp/4.2.4/include/node/v8.h:326:13: note: candidate template ignored: could not match 'S _' against 'v8::MaybeLocalv8::Object'
  V8_INLINE Local(S_ that)
            ^
In file included from ../src/bindings.cc:4:
../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);
           ~~~~~~~~~~~~~~^
In file included from ../src/bindings.cc:2:
In file included from /Users/xxxx/.node-gyp/4.2.4/include/node/node.h:42:
/Users/xxxx/.node-gyp/4.2.4/include/node/v8.h:221:5: error: assigning to 'v8::Primitive *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/xxxx/.node-gyp/4.2.4/include/node/v8.h:180: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::Localv8::Primitive::Localv8::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/bindings.cc:2:
In file included from /Users/xxxx/.node-gyp/4.2.4/include/node/node.h:42:
/Users/xxxx/.node-gyp/4.2.4/include/node/v8.h:221:5: error: assigning to 'v8::Boolean _volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/xxxx/.node-gyp/4.2.4/include/node/v8.h:180: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::Localv8::Boolean::Localv8::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/bindings.cc:2:
In file included from /Users/xxxx/.node-gyp/4.2.4/include/node/node.h:42:
/Users/xxxx/.node-gyp/4.2.4/include/node/v8.h:221:5: error: assigning to 'v8::Function _volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/xxxx/.node-gyp/4.2.4/include/node/v8.h:180: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::Localv8::Function::Localv8::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/bindings.cc:2:
In file included from /Users/xxxx/.node-gyp/4.2.4/include/node/node.h:42:
/Users/xxxx/.node-gyp/4.2.4/include/node/v8.h:221:5: error: assigning to 'v8::Object _volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/xxxx/.node-gyp/4.2.4/include/node/v8.h:180: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::Localv8::Object::Localv8::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))

                     ^

10 errors generated.
make: **\* [Release/obj.target/farmhash/src/bindings.o] Error 1
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/Users/xxxx/.nvm/versions/node/v4.2.4/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Darwin 15.5.0
gyp ERR! command "/Users/xxxx/.nvm/versions/node/v4.2.4/bin/node" "/Users/xxxx/.nvm/versions/node/v4.2.4/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/xxxx/work/testing/node_modules/ringpop/node_modules/farmhash
gyp ERR! node -v v4.2.4
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok 
npm ERR! Darwin 15.5.0
npm ERR! argv "/Users/xxxx/.nvm/versions/node/v4.2.4/bin/node" "/Users/xxxx/.nvm/versions/node/v4.2.4/bin/npm" "install" "ringpop" "--save"
npm ERR! node v4.2.4
npm ERR! npm  v2.14.12
npm ERR! code ELIFECYCLE

npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] install script 'node-gyp rebuild'.
npm ERR! This is most likely a problem with the toobusy 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 toobusy
npm ERR! There is likely additional logging output above.

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

We have tried on two different mac , we are still seeing this issue.

@dansimau
Copy link
Contributor

Hi @imjerryyang, ringpop-node has only been tested with node 0.10.x. Can you try downgrading and see if that works?

@imjerryyang
Copy link
Author

Hi @dansimau thanks for your reply! I just tested on v0.10.32. It seems working, but I saw a warning message when node-gyp was building the project.


## Password:

> [email protected] install /Users/xxxx/work/testing/node_modules/ringpop/node_modules/toobusy
> node-gyp rebuild

  CXX(target) Release/obj.target/toobusy/toobusy.o
  SOLINK_MODULE(target) Release/toobusy.node
  SOLINK_MODULE(target) Release/toobusy.node: Finished

> [email protected] install /Users/xxxx/work/testing/node_modules/ringpop/node_modules/farmhash
> node-gyp rebuild

  CXX(target) Release/obj.target/farmhash/src/upstream/farmhash.o
../src/upstream/farmhash.cc:684:23: warning: unused function 'Shuffle2031' [-Wunused-function]
STATIC_INLINE __m128i Shuffle2031(__m128i x) {
                      ^
1 warning generated.
  CXX(target) Release/obj.target/farmhash/src/bindings.o
  SOLINK_MODULE(target) Release/farmhash.node
  SOLINK_MODULE(target) Release/farmhash.node: Finished
[email protected] node_modules/ringpop
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected] ([email protected], [email protected], [email protected], [email protected])
├── [email protected] ([email protected], [email protected], [email protected], [email protected])
├── [email protected] ([email protected], [email protected], [email protected])
├── [email protected] ([email protected])
└── [email protected] ([email protected])

@sashahilton00
Copy link
Contributor

Have just submitted a PR that fixes this, though someone from Uber will need to take a look to make sure it doesn't screw up their production servers ;) #289

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants