Is Node.js 4.x supported? I'm trying to use this tool called Calipers, and I encounter this error when installing its dependencies. The poppler-simple dependency fails to build. Related issue is here.
I have installed the poppler library using Homebrew. I'm on OS X 10.11 with Xcode 7.0.1 and Node.js 4.1.2, if that helps. Here is the error encountered, I hope it is helpful:
Aneeshs-MacBook-Pro:calipers aneeshneelam$ npm install
npm WARN engine poppler-simple@0.1.10: wanted: {"node":">=0.8.0 <0.14.0"} (current: {"node":"4.1.2","npm":"2.14.6"})
> poppler-simple@0.1.10 preinstall /Users/aneeshneelam/Developer/GitHub/aneesh-neelam/calipers/node_modules/poppler-simple
> ((npm install nan) && (node-gyp configure)) || (exit 0)
npm WARN package.json poppler-simple@0.1.10 No license field.
nan@1.9.0 node_modules/nan
> poppler-simple@0.1.10 install /Users/aneeshneelam/Developer/GitHub/aneesh-neelam/calipers/node_modules/poppler-simple
> (node-gyp rebuild) || (exit 0)
CXX(target) Release/obj.target/poppler/src/poppler.o
In file included from ../src/poppler.cc:2:
In file included from ../src/NodePopplerDocument.h:3:
../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/aneeshneelam/.node-gyp/4.1.2/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/aneeshneelam/.node-gyp/4.1.2/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/aneeshneelam/.node-gyp/4.1.2/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/aneeshneelam/.node-gyp/4.1.2/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/poppler.cc:2:
In file included from ../src/NodePopplerDocument.h:3:
../node_modules/nan/nan.h:772:12: error: no viable conversion from 'v8::MaybeLocal<v8::Object>' to 'v8::Local<v8::Object>'
return node::Buffer::New(v8::Isolate::GetCurrent(), size);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/aneeshneelam/.node-gyp/4.1.2/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/aneeshneelam/.node-gyp/4.1.2/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/aneeshneelam/.node-gyp/4.1.2/include/node/v8.h:214:13: note: candidate template ignored: could not match 'Local' against 'MaybeLocal'
V8_INLINE Local(Local<S> that)
^
/Users/aneeshneelam/.node-gyp/4.1.2/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/poppler.cc:2:
In file included from ../src/NodePopplerDocument.h:3:
../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/poppler.cc:2:
../src/NodePopplerDocument.h:7:10: fatal error: 'poppler/PDFDoc.h' file not found
#include <poppler/PDFDoc.h>
^
7 errors generated.
make: *** [Release/obj.target/poppler/src/poppler.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: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.0.0
gyp ERR! command "/usr/local/Cellar/node/4.1.2/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/aneeshneelam/Developer/GitHub/aneesh-neelam/calipers/node_modules/poppler-simple
gyp ERR! node -v v4.1.2
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok
bluebird@2.10.2 node_modules/bluebird
poppler-simple@0.1.10 node_modules/poppler-simple
Is Node.js 4.x supported? I'm trying to use this tool called Calipers, and I encounter this error when installing its dependencies. The
poppler-simple
dependency fails to build. Related issue is here.I have installed the
poppler
library using Homebrew. I'm on OS X 10.11 with Xcode 7.0.1 and Node.js 4.1.2, if that helps. Here is the error encountered, I hope it is helpful: