node java module isn't working for node version 0.11.x, 0.12.x or 4.0.0

185 views
Skip to first unread message

navdeep jain

unread,
Sep 15, 2015, 11:09:51 AM9/15/15
to node-java
Whenever I try to run "npm install java" for nodejs version above 0.10.36, I get error. 

It is related to NAN module dependency and v8 dependency. 

Is there any way to get "java" module working for latest version of nodjes (i.e. 4.0.0).

Below is error I get for node v 4.0.0:

../node_modules/nan/nan_implementation_12_inl.h:181:66: error: too many arguments to function call, expected at most

      2, have 4

  return v8::Signature::New(v8::Isolate::GetCurrent(), receiver, argc, argv);

         ~~~~~~~~~~~~~~~~~~                                      ^~~~~~~~~~

/Users/e/.node-gyp/4.0.0/include/node/v8.h:4675:3: note: 'New' declared here

  static Local<Signature> New(

  ^

In file included from ../src/java.cpp:1:

In file included from ../src/java.h:9:

../node_modules/nan/nan.h:165:25: error: redefinition of '_NanEnsureLocal'

NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Local<T> val) {

                        ^

../node_modules/nan/nan.h:160:25: note: previous definition is here

NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Handle<T> val) {

                        ^

../node_modules/nan/nan.h:310:12: error: no matching function for call to '_NanEnsureLocal'

    return NanEscapeScope(NanNew(v8::Undefined(v8::Isolate::GetCurrent())));

           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

../node_modules/nan/nan.h:296:43: note: expanded from macro 'NanEscapeScope'

# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))

                                          ^~~~~~~~~~~~~~~

../node_modules/nan/nan.h:165:25: note: candidate template ignored: substitution failure [with T = v8::Primitive]

NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Local<T> val) {

                        ^

../node_modules/nan/nan.h:315:12: error: no matching function for call to '_NanEnsureLocal'

    return NanEscapeScope(NanNew(v8::Null(v8::Isolate::GetCurrent())));

           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

../node_modules/nan/nan.h:296:43: note: expanded from macro 'NanEscapeScope'

# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))

                                          ^~~~~~~~~~~~~~~

../node_modules/nan/nan.h:165:25: note: candidate template ignored: substitution failure [with T = v8::Primitive]

NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Local<T> val) {

                        ^

../node_modules/nan/nan.h:320:12: error: no matching function for call to '_NanEnsureLocal'

    return NanEscapeScope(NanNew(v8::True(v8::Isolate::GetCurrent())));

           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

../node_modules/nan/nan.h:296:43: note: expanded from macro 'NanEscapeScope'

# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))

                                          ^~~~~~~~~~~~~~~

../node_modules/nan/nan.h:165:25: note: candidate template ignored: substitution failure [with T = v8::Boolean]

NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Local<T> val) {

                        ^

../node_modules/nan/nan.h:325:12: error: no matching function for call to '_NanEnsureLocal'

    return NanEscapeScope(NanNew(v8::False(v8::Isolate::GetCurrent())));

           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

../node_modules/nan/nan.h:296:43: note: expanded from macro 'NanEscapeScope'

# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))

                                          ^~~~~~~~~~~~~~~

../node_modules/nan/nan.h:165:25: note: candidate template ignored: substitution failure [with T = v8::Boolean]

NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Local<T> val) {

                        ^

../node_modules/nan/nan.h:557:13: error: no member named 'smalloc' in namespace 'node'

    , node::smalloc::FreeCallback callback

      ~~~~~~^

../node_modules/nan/nan.h:568:12: error: no matching function for call to 'New'

    return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);

           ^~~~~~~~~~~~~~~~~

/Users/e/.node-gyp/4.0.0/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::MaybeLocal<v8::Object> New(v8::Isolate* isolate,

                                       ^

/Users/e/.node-gyp/4.0.0/include/node/node_buffer.h:43:40: note: candidate function not viable: 2nd argument

      ('const char *') would lose const qualifier

NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,

                                       ^

/Users/e/.node-gyp/4.0.0/include/node/node_buffer.h:28: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);

                                       ^

/Users/e/.node-gyp/4.0.0/include/node/node_buffer.h:36: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/java.cpp:1:

In file included from ../src/java.h:9:

../node_modules/nan/nan.h:572:12: error: no viable conversion from 'v8::MaybeLocal<v8::Object>' to

      'v8::Local<v8::Object>'

    return node::Buffer::New(v8::Isolate::GetCurrent(), size);

           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/Users/e/.node-gyp/4.0.0/include/node/v8.h:210: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 {

      ^

/Users/e/.node-gyp/4.0.0/include/node/v8.h:210: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

class Local {

      ^

/Users/e/.node-gyp/4.0.0/include/node/v8.h:214:13: note: candidate template ignored: could not match 'Local' against

      'MaybeLocal'

  V8_INLINE Local(Local<S> that)

            ^

/Users/e/.node-gyp/4.0.0/include/node/v8.h:326:13: note: candidate template ignored: could not match 'S *' against

      'v8::MaybeLocal<v8::Object>'

  V8_INLINE Local(S* that)

            ^

In file included from ../src/java.cpp:1:

In file included from ../src/java.h:9:

../node_modules/nan/nan.h:579:26: error: no member named 'Use' in namespace 'node::Buffer'

    return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size);

           ~~~~~~~~~~~~~~^

../node_modules/nan/nan.h:1396:12: error: no matching function for call to '_NanEnsureLocal'

    return NanEscapeScope(NanNew(handle)->Get(kCallbackIndex)

           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

../node_modules/nan/nan.h:296:43: note: expanded from macro 'NanEscapeScope'

# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))

                                          ^~~~~~~~~~~~~~~

../node_modules/nan/nan.h:165:25: note: candidate template ignored: substitution failure [with T = v8::Function]

NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Local<T> val) {

                        ^

../node_modules/nan/nan.h:1411:12: error: no matching function for call to '_NanEnsureLocal'

    return NanEscapeScope(node::MakeCallback(

           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

../node_modules/nan/nan.h:296:43: note: expanded from macro 'NanEscapeScope'

# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))

                                          ^~~~~~~~~~~~~~~

../node_modules/nan/nan.h:165:25: note: candidate template ignored: substitution failure [with T = v8::Value]

NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Local<T> val) {

                        ^

../node_modules/nan/nan.h:1484:12: error: no matching function for call to '_NanEnsureLocal'

    return NanEscapeScope(handle->Get(NanNew(key)).As<v8::Object>());

           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

../node_modules/nan/nan.h:296:43: note: expanded from macro 'NanEscapeScope'

# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))

                                          ^~~~~~~~~~~~~~~

../node_modules/nan/nan.h:165:25: note: candidate template ignored: substitution failure [with T = v8::Object]

NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Local<T> val) {

                        ^

../node_modules/nan/nan.h:1848:10: error: no matching function for call to 'Encode'

  return node::Encode(

         ^~~~~~~~~~~~

/Users/e/.node-gyp/4.0.0/include/node/node.h:288:34: note: candidate function not viable: cannot convert argument of

      incomplete type 'const void *' to 'const char *'

NODE_EXTERN v8::Local<v8::Value> Encode(v8::Isolate* isolate,

                                 ^

/Users/e/.node-gyp/4.0.0/include/node/node.h:294:34: note: candidate function not viable: requires 3 arguments, but

      4 were provided

NODE_EXTERN v8::Local<v8::Value> Encode(v8::Isolate* isolate,

                                 ^

/Users/e/.node-gyp/4.0.0/include/node/node.h:299:45: note: candidate function not viable: requires at most 3

      arguments, but 4 were provided

                inline v8::Local<v8::Value> Encode(

                                            ^

/Users/e/.node-gyp/4.0.0/include/node/node.h:66:42: note: expanded from macro 'NODE_DEPRECATED'

    __attribute__((deprecated(message))) declarator

                                         ^

14 errors generated.

make: *** [Release/obj.target/nodejavabridge_bindings/src/java.o] Error 1

gyp ERR! build error 

Joe Ferner

unread,
Sep 15, 2015, 11:11:53 AM9/15/15
to node-java

navdeep jain

unread,
Sep 16, 2015, 10:10:07 AM9/16/15
to node-java
Hi Joe,

It works, thanks a ton. Yesterday I tried with Nan 2.0.7, but it failed.

Thanks,
Navdeep

navdeep jain

unread,
Oct 27, 2015, 5:34:04 PM10/27/15
to node-java
Hi Joe,

I am using this module to consume JMS messages. Any time a message comes I get following error: 

FATAL ERROR: v8::HandleScope::CreateHandle() Cannot create a handle without a HandleScope


Do you know any solution around it. I tried this https://github.com/nodejs/nan/issues/440 in node-java module, but to no avail.

Thanks,
Navdeep

--
You received this message because you are subscribed to a topic in the Google Groups "node-java" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/node-java/rvqDFlnxvH4/unsubscribe.
To unsubscribe from this group and all its topics, send an email to node-java+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Regards,
Navdeep Jain

navdeep jain

unread,
Oct 27, 2015, 5:34:41 PM10/27/15
to node-java, joe.m....@gmail.com
++ joe
--
Regards,
Navdeep Jain
Reply all
Reply to author
Forward
0 new messages