redis / hiredis-node

Node wrapper for hiredis
BSD 3-Clause "New" or "Revised" License
305 stars 84 forks source link

Failing on install #113

Closed JnMik closed 8 years ago

JnMik commented 8 years ago

Hello guys, having issue with hiredis with latest node

Any cues ?

System info :

node v5.6.0 npm 3.7.3 Python 2.6.6 node-gyp v3.0.3

gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/root/.nvm/versions/node/v5.6.0/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276:23)
gyp ERR! stack     at emitTwo (events.js:100:13)
gyp ERR! stack     at ChildProcess.emit (events.js:185:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Linux 2.6.32-431.3.1.el6.x86_64
gyp ERR! command "/root/.nvm/versions/node/v5.6.0/bin/node" "/root/.nvm/versions/node/v5.6.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /www/someproject/node_modules/hiredis
gyp ERR! node -v v5.6.0
gyp ERR! node-gyp -v v3.2.1
gyp ERR! not ok
npm verb lifecycle hiredis@0.4.1~install: unsafe-perm in lifecycle false
npm verb lifecycle hiredis@0.4.1~install: PATH: /root/.nvm/versions/node/v5.6.0/lib/node_modules/npm/bin/node-gyp-bin:/www/someproject/node_modules/hiredis/node_modules/.bin:/www/someproject/node_modules/.bin:/root/.nvm/versions/node/v5.6.0/bin:/root/.nvm/versions/node/v5.6.0/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
npm verb lifecycle hiredis@0.4.1~install: CWD: /www/someproject/node_modules/hiredis
npm info lifecycle hiredis@0.4.1~install: Failed to exec install script
npm verb unlock done using /root/.npm/_locks/staging-49aada97cfd564a9.lock for /www/someproject/node_modules/.staging
npm WARN ThumbsClickTracking@2.0.0 No repository field.
npm WARN ThumbsClickTracking@2.0.0 No license field.
npm verb stack Error: hiredis@0.4.1 install: `node-gyp rebuild`
npm verb stack Exit status 1
npm verb stack     at EventEmitter.<anonymous> (/root/.nvm/versions/node/v5.6.0/lib/node_modules/npm/lib/utils/lifecycle.js:239:16)
npm verb stack     at emitTwo (events.js:100:13)
npm verb stack     at EventEmitter.emit (events.js:185:7)
npm verb stack     at ChildProcess.<anonymous> (/root/.nvm/versions/node/v5.6.0/lib/node_modules/npm/lib/utils/spawn.js:24:14)
npm verb stack     at emitTwo (events.js:100:13)
npm verb stack     at ChildProcess.emit (events.js:185:7)
npm verb stack     at maybeClose (internal/child_process.js:827:16)
npm verb stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)
npm verb pkgid hiredis@0.4.1
npm verb cwd /www/someproject
npm ERR! Linux 2.6.32-431.3.1.el6.x86_64
npm ERR! argv "/root/.nvm/versions/node/v5.6.0/bin/node" "/root/.nvm/versions/node/v5.6.0/bin/npm" "install" "--loglevel=verbose" "hiredis"
npm ERR! node v5.6.0
npm ERR! npm  v3.7.3
npm ERR! code ELIFECYCLE

npm ERR! hiredis@0.4.1 install: `node-gyp rebuild`
npm ERR! Exit status 1
badboy commented 8 years ago

The log is, as always, inconclusive again. Can you provide the log of an npm install --loglevel verbose (or --loglevel silly)?

badboy commented 8 years ago

Maybe even posting the full log at normal loglevel already helps.

JnMik commented 8 years ago

Sorry, hope it helps

npm install hiredis --no-bin-links --loglevel verbose

npm info it worked if it ends with ok
npm verb cli [ '/usr/local/bin/node',
npm verb cli   '/usr/local/bin/npm',
npm verb cli   'install',
npm verb cli   'hiredis',
npm verb cli   '--no-bin-links',
npm verb cli   '--loglevel',
npm verb cli   'verbose' ]
npm info using npm@3.4.0
npm info using node@v4.0.0
npm verb request uri https://registry.npmjs.org/hiredis
npm verb request no auth needed
npm info attempt registry request try #1 at 11:44:55 AM
npm verb request id df37df97acb66b9c
npm verb etag "DZ9Y9UR1ZE0XKKCEZ8I6EYVOB"
npm http request GET https://registry.npmjs.org/hiredis
npm http 304 https://registry.npmjs.org/hiredis
npm verb headers { date: 'Mon, 15 Feb 2016 16:44:55 GMT',
npm verb headers   via: '1.1 varnish',
npm verb headers   'cache-control': 'max-age=300',
npm verb headers   etag: '"DZ9Y9UR1ZE0XKKCEZ8I6EYVOB"',
npm verb headers   age: '288',
npm verb headers   connection: 'keep-alive',
npm verb headers   'x-served-by': 'cache-atl6235-ATL',
npm verb headers   'x-cache': 'HIT',
npm verb headers   'x-cache-hits': '1',
npm verb headers   'x-timer': 'S1455554695.513165,VS0,VE0',
npm verb headers   vary: 'Accept' }
npm verb etag https://registry.npmjs.org/hiredis from cache
npm verb get saving hiredis to /root/.npm/registry.npmjs.org/hiredis/.cache.json
npm verb cache add spec hiredis@0.4.1
npm verb addNamed "0.4.1" is a plain semver version for hiredis
npm verb addNameVersion registry:https://registry.npmjs.org/hiredis not in flight; fetching
npm verb get https://registry.npmjs.org/hiredis not expired, no request
npm verb afterAdd /root/.npm/hiredis/0.4.1/package/package.json not in flight; writing
npm verb afterAdd /root/.npm/hiredis/0.4.1/package/package.json written
npm verb request uri https://registry.npmjs.org/bindings
npm verb request no auth needed
npm info attempt registry request try #1 at 11:44:56 AM
npm verb etag "1LLBF9OH58DLBEL4629U6032D"
npm http request GET https://registry.npmjs.org/bindings
npm verb request uri https://registry.npmjs.org/nan
npm verb request no auth needed
npm info attempt registry request try #1 at 11:44:56 AM
npm verb etag "7Y2U1A5TWU1O0YTKGMD4FB8ZN"
npm http request GET https://registry.npmjs.org/nan
npm http 304 https://registry.npmjs.org/bindings
npm verb headers { date: 'Mon, 15 Feb 2016 16:44:55 GMT',
npm verb headers   via: '1.1 varnish',
npm verb headers   'cache-control': 'max-age=300',
npm verb headers   etag: '"1LLBF9OH58DLBEL4629U6032D"',
npm verb headers   age: '195',
npm verb headers   connection: 'keep-alive',
npm verb headers   'x-served-by': 'cache-atl6239-ATL',
npm verb headers   'x-cache': 'HIT',
npm verb headers   'x-cache-hits': '3',
npm verb headers   'x-timer': 'S1455554695.829501,VS0,VE0',
npm verb headers   vary: 'Accept' }
npm verb etag https://registry.npmjs.org/bindings from cache
npm verb get saving bindings to /root/.npm/registry.npmjs.org/bindings/.cache.json
npm http 304 https://registry.npmjs.org/nan
npm verb headers { date: 'Mon, 15 Feb 2016 16:44:55 GMT',
npm verb headers   via: '1.1 varnish',
npm verb headers   'cache-control': 'max-age=300',
npm verb headers   etag: '"7Y2U1A5TWU1O0YTKGMD4FB8ZN"',
npm verb headers   age: '83',
npm verb headers   connection: 'keep-alive',
npm verb headers   'x-served-by': 'cache-atl6228-ATL',
npm verb headers   'x-cache': 'HIT',
npm verb headers   'x-cache-hits': '2',
npm verb headers   'x-timer': 'S1455554695.828753,VS0,VE0',
npm verb headers   vary: 'Accept' }
npm verb etag https://registry.npmjs.org/nan from cache
npm verb get saving nan to /root/.npm/registry.npmjs.org/nan/.cache.json
npm verb cache add spec bindings@*
npm verb addNamed "*" is a valid semver range for bindings
npm verb addNameRange registry:https://registry.npmjs.org/bindings not in flight; fetching
npm verb cache add spec nan@^2.0.5
npm verb addNamed ">=2.0.5 <3.0.0" is a valid semver range for nan
npm verb addNameRange registry:https://registry.npmjs.org/nan not in flight; fetching
npm verb get https://registry.npmjs.org/bindings not expired, no request
npm verb addNamed "1.2.1" is a plain semver version for bindings
npm verb get https://registry.npmjs.org/nan not expired, no request
npm verb addNamed "2.2.0" is a plain semver version for nan
npm verb afterAdd /root/.npm/bindings/1.2.1/package/package.json not in flight; writing
npm verb afterAdd /root/.npm/nan/2.2.0/package/package.json not in flight; writing
npm verb afterAdd /root/.npm/bindings/1.2.1/package/package.json written
npm verb afterAdd /root/.npm/nan/2.2.0/package/package.json written
npm verb lock using /root/.npm/_locks/staging-49aada97cfd564a9.lock for /www/someproject/node_modules/.staging
npm verb unbuild node_modules/.staging/bindings-456b9c498de7fbf12bead7a6a6fcacd3
npm verb unbuild node_modules/.staging/nan-e9f5787542b6d88c53a465178f341d66
npm verb unbuild node_modules/.staging/hiredis-2690cc1cb8b2f82e137f012247ef2b28
npm verb gentlyRm don't care about contents; nuking /www/someproject/node_modules/.staging/bindings-456b9c498de7fbf12bead7a6a6fcacd3
npm verb gentlyRm don't care about contents; nuking /www/someproject/node_modules/.staging/nan-e9f5787542b6d88c53a465178f341d66
npm verb gentlyRm don't care about contents; nuking /www/someproject/node_modules/.staging/hiredis-2690cc1cb8b2f82e137f012247ef2b28
npm verb tar unpack /root/.npm/bindings/1.2.1/package.tgz
npm verb tar unpacking to /www/someproject/node_modules/.staging/bindings-456b9c498de7fbf12bead7a6a6fcacd3
npm verb tar unpack /root/.npm/nan/2.2.0/package.tgz
npm verb tar unpacking to /www/someproject/node_modules/.staging/nan-e9f5787542b6d88c53a465178f341d66
npm verb tar unpack /root/.npm/hiredis/0.4.1/package.tgz
npm verb tar unpacking to /www/someproject/node_modules/.staging/hiredis-2690cc1cb8b2f82e137f012247ef2b28
npm verb gentlyRm don't care about contents; nuking /www/someproject/node_modules/.staging/bindings-456b9c498de7fbf12bead7a6a6fcacd3
npm verb gentlyRm don't care about contents; nuking /www/someproject/node_modules/.staging/nan-e9f5787542b6d88c53a465178f341d66
npm verb gentlyRm don't care about contents; nuking /www/someproject/node_modules/.staging/hiredis-2690cc1cb8b2f82e137f012247ef2b28
npm info lifecycle bindings@1.2.1~preinstall: bindings@1.2.1
npm info lifecycle nan@2.2.0~preinstall: nan@2.2.0
npm info lifecycle hiredis@0.4.1~preinstall: hiredis@0.4.1
npm info lifecycle bindings@1.2.1~install: bindings@1.2.1
npm info lifecycle nan@2.2.0~install: nan@2.2.0
npm info lifecycle hiredis@0.4.1~install: hiredis@0.4.1

> hiredis@0.4.1 install /www/someproject/node_modules/hiredis
> node-gyp rebuild

gyp info it worked if it ends with ok
gyp verb cli [ '/usr/local/bin/node',
gyp verb cli   '/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js',
gyp verb cli   'rebuild' ]
gyp info using node-gyp@3.0.3
gyp info using node@4.0.0 | linux | x64
gyp verb command rebuild []
gyp verb command clean []
gyp verb clean removing "build" directory
gyp verb command configure []
gyp verb check python checking for Python executable "python2" in the PATH
gyp verb `which` succeeded python2 /usr/bin/python2
gyp verb check python version `python2 -c "import platform; print(platform.python_version());"` returned: "2.6.6\n"
gyp verb get node dir no --target version specified, falling back to host node version: 4.0.0
gyp verb command install [ '4.0.0' ]
gyp verb install input version string "4.0.0"
gyp verb install installing version: 4.0.0
gyp verb install --ensure was passed, so won't reinstall if already installed
gyp verb install version is already installed, need to check "installVersion"
gyp verb got "installVersion" 9
gyp verb needs "installVersion" 9
gyp verb install version is good
gyp verb get node dir target node version installed: 4.0.0
gyp verb build dir attempting to create "build" dir: /www/someproject/node_modules/hiredis/build
gyp verb build dir "build" dir needed to be created? /www/someproject/node_modules/hiredis/build
gyp verb build/config.gypi creating config file
gyp verb build/config.gypi writing out config file: /www/someproject/node_modules/hiredis/build/config.gypi
gyp verb config.gypi checking for gypi file: /www/someproject/node_modules/hiredis/config.gypi
gyp verb common.gypi checking for gypi file: /www/someproject/node_modules/hiredis/common.gypi
gyp verb gyp gyp format was not specified; forcing "make"
gyp info spawn python2
gyp info spawn args [ '/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'make',
gyp info spawn args   '-I',
gyp info spawn args   '/www/someproject/node_modules/hiredis/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/usr/local/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/root/.node-gyp/4.0.0/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=/root/.node-gyp/4.0.0',
gyp info spawn args   '-Dnode_gyp_dir=/usr/local/lib/node_modules/npm/node_modules/node-gyp',
gyp info spawn args   '-Dnode_lib_file=node.lib',
gyp info spawn args   '-Dmodule_root_dir=/www/someproject/node_modules/hiredis',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'build',
gyp info spawn args   '-Goutput_dir=.' ]
gyp verb command build []
gyp verb build type Release
gyp verb architecture x64
gyp verb node dev dir /root/.node-gyp/4.0.0
gyp verb `which` succeeded for `make` /usr/bin/make
gyp info spawn make
gyp info spawn args [ 'V=1', 'BUILDTYPE=Release', '-C', 'build' ]
make: Entering directory `/www/someproject/node_modules/hiredis/build'
make: Warning: File `hiredis.target.mk' has modification time 0.33 s in the future
  cc '-DNODE_GYP_MODULE_NAME=hiredis-c' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' -I/root/.node-gyp/4.0.0/include/node -I/root/.node-gyp/4.0.0/src -I/root/.node-gyp/4.0.0/deps/uv/include -I/root/.node-gyp/4.0.0/deps/v8/include  -fPIC -pthread -Wall -Wextra -Wno-unused-parameter -m64 -O3 -ffunction-sections -fdata-sections -fno-omit-frame-pointer  -MMD -MF ./Release/.deps/Release/obj.target/hiredis-c/deps/hiredis/sds.o.d.raw  -c -o Release/obj.target/hiredis-c/deps/hiredis/sds.o ../deps/hiredis/sds.c
  cc '-DNODE_GYP_MODULE_NAME=hiredis-c' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' -I/root/.node-gyp/4.0.0/include/node -I/root/.node-gyp/4.0.0/src -I/root/.node-gyp/4.0.0/deps/uv/include -I/root/.node-gyp/4.0.0/deps/v8/include  -fPIC -pthread -Wall -Wextra -Wno-unused-parameter -m64 -O3 -ffunction-sections -fdata-sections -fno-omit-frame-pointer  -MMD -MF ./Release/.deps/Release/obj.target/hiredis-c/deps/hiredis/read.o.d.raw  -c -o Release/obj.target/hiredis-c/deps/hiredis/read.o ../deps/hiredis/read.c
  rm -f Release/obj.target/deps/hiredis-c.a && ar crs Release/obj.target/deps/hiredis-c.a Release/obj.target/hiredis-c/deps/hiredis/sds.o Release/obj.target/hiredis-c/deps/hiredis/read.o
  rm -rf "Release/hiredis-c.a" && cp -af "Release/obj.target/deps/hiredis-c.a" "Release/hiredis-c.a"
  g++ '-DNODE_GYP_MODULE_NAME=hiredis' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-D_GNU_SOURCE' '-DBUILDING_NODE_EXTENSION' -I/root/.node-gyp/4.0.0/include/node -I/root/.node-gyp/4.0.0/src -I/root/.node-gyp/4.0.0/deps/uv/include -I/root/.node-gyp/4.0.0/deps/v8/include -I../../nan -I../deps  -fPIC -pthread -Wall -Wextra -Wno-unused-parameter -m64 -Wall -O3 -O3 -ffunction-sections -fdata-sections -fno-omit-frame-pointer -fno-rtti -fno-exceptions -std=gnu++0x -MMD -MF ./Release/.deps/Release/obj.target/hiredis/src/hiredis.o.d.raw  -c -o Release/obj.target/hiredis/src/hiredis.o ../src/hiredis.cc
In file included from ../src/reader.h:1,
                 from ../src/hiredis.cc:1:
../../nan/nan.h:41:3: error: #error This version of node/NAN/v8 requires a C++11 compiler
In file included from /root/.node-gyp/4.0.0/src/node.h:42,
                 from ../../nan/nan.h:45,
                 from ../src/reader.h:1,
                 from ../src/hiredis.cc:1:
/root/.node-gyp/4.0.0/deps/v8/include/v8.h:336: error: expected unqualified-id before ‘using’
/root/.node-gyp/4.0.0/deps/v8/include/v8.h: In constructor ‘v8::MaybeLocal<T>::MaybeLocal()’:
/root/.node-gyp/4.0.0/deps/v8/include/v8.h:353: error: ‘nullptr’ was not declared in this scope
/root/.node-gyp/4.0.0/deps/v8/include/v8.h: In member function ‘bool v8::MaybeLocal<T>::IsEmpty() const’:
/root/.node-gyp/4.0.0/deps/v8/include/v8.h:360: error: ‘nullptr’ was not declared in this scope
/root/.node-gyp/4.0.0/deps/v8/include/v8.h: In member function ‘bool v8::MaybeLocal<T>::ToLocal(v8::Local<S>*) const’:
/root/.node-gyp/4.0.0/deps/v8/include/v8.h:364: error: ‘nullptr’ was not declared in this scope
/root/.node-gyp/4.0.0/deps/v8/include/v8.h: In member function ‘bool v8::WeakCallbackInfo<T>::IsFirstPass() const’:
/root/.node-gyp/4.0.0/deps/v8/include/v8.h:430: error: ‘nullptr’ was not declared in this scope
/root/.node-gyp/4.0.0/deps/v8/include/v8.h: At global scope:
/root/.node-gyp/4.0.0/deps/v8/include/v8.h:469: error: expected unqualified-id before ‘using’
/root/.node-gyp/4.0.0/deps/v8/include/v8.h: In constructor ‘v8::Global<T>::Global()’:
/root/.node-gyp/4.0.0/deps/v8/include/v8.h:790: error: ‘nullptr’ was not declared in this scope
/root/.node-gyp/4.0.0/deps/v8/include/v8.h: In constructor ‘v8::Global<T>::Global(v8::Global<T>&&)’:
/root/.node-gyp/4.0.0/deps/v8/include/v8.h:815: error: ‘nullptr’ was not declared in this scope
/root/.node-gyp/4.0.0/deps/v8/include/v8.h: In member function ‘v8::Global<T>& v8::Global<T>::operator=(v8::Global<S>&&)’:
/root/.node-gyp/4.0.0/deps/v8/include/v8.h:827: error: ‘nullptr’ was not declared in this scope
/root/.node-gyp/4.0.0/deps/v8/include/v8.h: At global scope:
/root/.node-gyp/4.0.0/deps/v8/include/v8.h:852: error: expected unqualified-id before ‘using’
/root/.node-gyp/4.0.0/deps/v8/include/v8.h:1089: error: ‘nullptr’ was not declared in this scope
/root/.node-gyp/4.0.0/deps/v8/include/v8.h:1095: error: ‘nullptr’ was not declared in this scope
/root/.node-gyp/4.0.0/deps/v8/include/v8.h: In member function ‘v8::MaybeLocal<v8::Object> v8::Function::NewInstance(v8::Local<v8::Context>) const’:
/root/.node-gyp/4.0.0/deps/v8/include/v8.h:3205: error: ‘nullptr’ was not declared in this scope
/root/.node-gyp/4.0.0/deps/v8/include/v8.h: In member function ‘v8::Local<T> v8::MaybeLocal<T>::ToLocalChecked()’:
/root/.node-gyp/4.0.0/deps/v8/include/v8.h:7151: error: ‘nullptr’ was not declared in this scope
In file included from ../../nan/nan.h:194,
                 from ../src/reader.h:1,
                 from ../src/hiredis.cc:1:
../../nan/nan_maybe_43_inl.h: At global scope:
../../nan/nan_maybe_43_inl.h:13: error: expected unqualified-id before ‘using’
../../nan/nan_maybe_43_inl.h:16: error: expected unqualified-id before ‘using’
../../nan/nan_maybe_43_inl.h:19: error: expected initializer before ‘<’ token
../../nan/nan_maybe_43_inl.h:24: error: expected initializer before ‘<’ token
../../nan/nan_maybe_43_inl.h:31: error: expected initializer before ‘<’ token
../../nan/nan_maybe_43_inl.h:36: error: expected initializer before ‘<’ token
../../nan/nan_maybe_43_inl.h:41: error: expected initializer before ‘<’ token
../../nan/nan_maybe_43_inl.h:46: error: expected initializer before ‘<’ token
../../nan/nan_maybe_43_inl.h:51: error: expected initializer before ‘<’ token
../../nan/nan_maybe_43_inl.h:59: error: expected initializer before ‘<’ token
../../nan/nan_maybe_43_inl.h:64: error: expected initializer before ‘<’ token
../../nan/nan_maybe_43_inl.h:69: error: expected initializer before ‘<’ token
../../nan/nan_maybe_43_inl.h:76: error: expected initializer before ‘<’ token
../../nan/nan_maybe_43_inl.h:83: error: expected initializer before ‘<’ token
../../nan/nan_maybe_43_inl.h:91: error: expected initializer before ‘<’ token
../../nan/nan_maybe_43_inl.h:98: error: expected initializer before ‘<’ token
../../nan/nan_maybe_43_inl.h:108: error: expected initializer before ‘<’ token
../../nan/nan_maybe_43_inl.h:114: error: expected initializer before ‘<’ token
../../nan/nan_maybe_43_inl.h:118: error: expected initializer before ‘<’ token
../../nan/nan_maybe_43_inl.h:125: error: expected initializer before ‘<’ token
../../nan/nan_maybe_43_inl.h:130: error: expected initializer before ‘<’ token
../../nan/nan_maybe_43_inl.h:135: error: expected initializer before ‘<’ token
../../nan/nan_maybe_43_inl.h:139: error: expected initializer before ‘<’ token
../../nan/nan_maybe_43_inl.h:145: error: expected initializer before ‘<’ token
../../nan/nan_maybe_43_inl.h:150: error: expected initializer before ‘<’ token
../../nan/nan_maybe_43_inl.h:156: error: expected initializer before ‘<’ token
../../nan/nan_maybe_43_inl.h:162: error: expected initializer before ‘<’ token
../../nan/nan_maybe_43_inl.h:168: error: expected initializer before ‘<’ token
../../nan/nan_maybe_43_inl.h:174: error: expected initializer before ‘<’ token
../../nan/nan_maybe_43_inl.h:180: error: expected initializer before ‘<’ token
../../nan/nan_maybe_43_inl.h:186: error: expected initializer before ‘<’ token
../../nan/nan_maybe_43_inl.h:194: error: expected initializer before ‘<’ token
../../nan/nan_maybe_43_inl.h:201: error: expected initializer before ‘<’ token
../../nan/nan_maybe_43_inl.h:205: error: expected initializer before ‘<’ token
../../nan/nan_maybe_43_inl.h:209: error: expected initializer before ‘<’ token
../../nan/nan_maybe_43_inl.h:213: error: expected initializer before ‘<’ token
../../nan/nan_maybe_43_inl.h:217: error: expected initializer before ‘<’ token
../../nan/nan_maybe_43_inl.h:223: error: expected initializer before ‘<’ token
In file included from ../../nan/nan.h:199,
                 from ../src/reader.h:1,
                 from ../src/hiredis.cc:1:
../../nan/nan_converters.h:14: error: ISO C++ forbids declaration of ‘MaybeLocal’ with no type
../../nan/nan_converters.h:14: error: expected ‘;’ before ‘<’ token
../../nan/nan_converters.h:16: error: ISO C++ forbids declaration of ‘Maybe’ with no type
../../nan/nan_converters.h:16: error: expected ‘;’ before ‘<’ token
../../nan/nan_converters.h:26: error: ‘return_t’ does not name a type
../../nan/nan_converters.h:27: error: ‘return_t’ does not name a type
../../nan/nan_converters.h:28: error: ‘return_t’ does not name a type
../../nan/nan_converters.h:29: error: ‘return_t’ does not name a type
../../nan/nan_converters.h:30: error: ‘return_t’ does not name a type
../../nan/nan_converters.h:31: error: ‘return_t’ does not name a type
../../nan/nan_converters.h:32: error: ‘return_t’ does not name a type
../../nan/nan_converters.h:42: error: ‘return_t’ does not name a type
../../nan/nan_converters.h:43: error: ‘return_t’ does not name a type
../../nan/nan_converters.h:44: error: ‘return_t’ does not name a type
../../nan/nan_converters.h:45: error: ‘return_t’ does not name a type
../../nan/nan_converters.h:46: error: ‘return_t’ does not name a type
In file included from ../../nan/nan_converters.h:59,
                 from ../../nan/nan.h:199,
                 from ../src/reader.h:1,
                 from ../src/hiredis.cc:1:
../../nan/nan_converters_43_inl.h:18: error: ‘return_t’ in class ‘Nan::imp::ToFactory<v8::Boolean>’ does not name a type
../../nan/nan_converters_43_inl.h:19: error: ‘return_t’ in class ‘Nan::imp::ToFactory<v8::Number>’ does not name a type
../../nan/nan_converters_43_inl.h:20: error: ‘return_t’ in class ‘Nan::imp::ToFactory<v8::String>’ does not name a type
../../nan/nan_converters_43_inl.h:21: error: ‘return_t’ in class ‘Nan::imp::ToFactory<v8::Object>’ does not name a type
../../nan/nan_converters_43_inl.h:22: error: ‘return_t’ in class ‘Nan::imp::ToFactory<v8::Integer>’ does not name a type
../../nan/nan_converters_43_inl.h:23: error: ‘return_t’ in class ‘Nan::imp::ToFactory<v8::Uint32>’ does not name a type
../../nan/nan_converters_43_inl.h:24: error: ‘return_t’ in class ‘Nan::imp::ToFactory<v8::Int32>’ does not name a type
../../nan/nan_converters_43_inl.h:34: error: ‘return_t’ in class ‘Nan::imp::ToFactory<bool>’ does not name a type
../../nan/nan_converters_43_inl.h:35: error: ‘return_t’ in class ‘Nan::imp::ToFactory<double>’ does not name a type
../../nan/nan_converters_43_inl.h:36: error: ‘return_t’ in class ‘Nan::imp::ToFactory<long int>’ does not name a type
../../nan/nan_converters_43_inl.h:37: error: ‘return_t’ in class ‘Nan::imp::ToFactory<unsigned int>’ does not name a type
../../nan/nan_converters_43_inl.h:38: error: ‘return_t’ in class ‘Nan::imp::ToFactory<int>’ does not name a type
In file included from ../../nan/nan.h:200,
                 from ../src/reader.h:1,
                 from ../src/hiredis.cc:1:
../../nan/nan_new.h: In function ‘v8::Local<T> Nan::imp::To(v8::Local<v8::Integer>) [with T = v8::Integer]’:
../../nan/nan_new.h:21: error: no matching function for call to ‘To(v8::Local<v8::Integer>&)’
../../nan/nan_new.h: In function ‘v8::Local<T> Nan::imp::To(v8::Local<v8::Integer>) [with T = v8::Int32]’:
../../nan/nan_new.h:28: error: no matching function for call to ‘To(v8::Local<v8::Integer>&)’
../../nan/nan_new.h: In function ‘v8::Local<T> Nan::imp::To(v8::Local<v8::Integer>) [with T = v8::Uint32]’:
../../nan/nan_new.h:35: error: no matching function for call to ‘To(v8::Local<v8::Integer>&)’
../../nan/nan_new.h: At global scope:
../../nan/nan_new.h:43: error: ISO C++ forbids declaration of ‘MaybeLocal’ with no type
../../nan/nan_new.h:43: error: expected ‘;’ before ‘<’ token
../../nan/nan_new.h:75: error: ‘return_t’ does not name a type
../../nan/nan_new.h:141: error: ‘return_t’ does not name a type
../../nan/nan_new.h:147: error: ‘return_t’ does not name a type
../../nan/nan_new.h:148: error: ‘return_t’ does not name a type
../../nan/nan_new.h:160: error: ‘return_t’ does not name a type
../../nan/nan_new.h:161: error: ‘return_t’ does not name a type
../../nan/nan_new.h:162: error: ‘return_t’ does not name a type
../../nan/nan_new.h:163: error: ‘return_t’ does not name a type
../../nan/nan_new.h:165: error: ‘return_t’ does not name a type
../../nan/nan_new.h:166: error: ‘return_t’ does not name a type
../../nan/nan_new.h:182: error: ‘return_t’ does not name a type
../../nan/nan_new.h:183: error: ‘return_t’ does not name a type
In file included from ../../nan/nan_new.h:189,
                 from ../../nan/nan.h:200,
                 from ../src/reader.h:1,
                 from ../src/hiredis.cc:1:
../../nan/nan_implementation_12_inl.h:56: error: ‘return_t’ in class ‘Nan::imp::Factory<v8::Date>’ does not name a type
../../nan/nan_implementation_12_inl.h: In static member function ‘static v8::Local<v8::Function> Nan::imp::Factory<v8::Function>::New(void (*)(const Nan::FunctionCallbackInfo<v8::Value>&), v8::Local<v8::Value>)’:
../../nan/nan_implementation_12_inl.h:90: error: ‘NewInstance’ was not declared in this scope
../../nan/nan_implementation_12_inl.h: In static member function ‘static v8::Local<v8::FunctionTemplate> Nan::imp::Factory<v8::FunctionTemplate>::New(void (*)(const Nan::FunctionCallbackInfo<v8::Value>&), v8::Local<v8::Value>, v8::Local<v8::Signature>)’:
../../nan/nan_implementation_12_inl.h:118: error: ‘NewInstance’ was not declared in this scope
../../nan/nan_implementation_12_inl.h: At global scope:
../../nan/nan_implementation_12_inl.h:197: error: ‘return_t’ in class ‘Nan::imp::Factory<v8::RegExp>’ does not name a type
../../nan/nan_implementation_12_inl.h:216: error: ‘return_t’ in class ‘Nan::imp::Factory<v8::Script>’ does not name a type
../../nan/nan_implementation_12_inl.h:222: error: ‘return_t’ in class ‘Nan::imp::Factory<v8::Script>’ does not name a type
../../nan/nan_implementation_12_inl.h:254: error: ‘return_t’ in class ‘Nan::imp::Factory<v8::String>’ does not name a type
../../nan/nan_implementation_12_inl.h:262: error: ‘return_t’ in class ‘Nan::imp::Factory<v8::String>’ does not name a type
../../nan/nan_implementation_12_inl.h:268: error: ‘return_t’ in class ‘Nan::imp::Factory<v8::String>’ does not name a type
../../nan/nan_implementation_12_inl.h:275: error: ‘return_t’ in class ‘Nan::imp::Factory<v8::String>’ does not name a type
../../nan/nan_implementation_12_inl.h:281: error: ‘return_t’ in class ‘Nan::imp::Factory<v8::String>’ does not name a type
../../nan/nan_implementation_12_inl.h:286: error: ‘return_t’ in class ‘Nan::imp::Factory<v8::String>’ does not name a type
../../nan/nan_implementation_12_inl.h:347: error: ‘return_t’ in class ‘Nan::imp::Factory<v8::UnboundScript>’ does not name a type
../../nan/nan_implementation_12_inl.h:354: error: ‘return_t’ in class ‘Nan::imp::Factory<v8::UnboundScript>’ does not name a type
In file included from ../../nan/nan.h:200,
                 from ../src/reader.h:1,
                 from ../src/hiredis.cc:1:
../../nan/nan_new.h:293: error: ‘return_t’ in class ‘Nan::imp::Factory<v8::String>’ does not name a type
../../nan/nan_new.h:299: error: ‘return_t’ in class ‘Nan::imp::Factory<v8::String>’ does not name a type
../../nan/nan_new.h:305: error: ‘return_t’ in class ‘Nan::imp::Factory<v8::String>’ does not name a type
../../nan/nan_new.h:311: error: ‘return_t’ in class ‘Nan::imp::Factory<v8::String>’ does not name a type
../../nan/nan_new.h:317: error: ‘return_t’ in class ‘Nan::imp::Factory<v8::String>’ does not name a type
../../nan/nan_new.h:323: error: ‘return_t’ in class ‘Nan::imp::Factory<v8::String>’ does not name a type
../../nan/nan_new.h:329: error: ‘return_t’ in class ‘Nan::imp::Factory<v8::String>’ does not name a type
../../nan/nan_new.h:335: error: ‘return_t’ in class ‘Nan::imp::Factory<v8::RegExp>’ does not name a type
In file included from ../src/reader.h:1,
                 from ../src/hiredis.cc:1:
../../nan/nan.h: In function ‘v8::Local<v8::Value> Nan::Error(const char*)’:
../../nan/nan.h:659: error: ‘class v8::Local<v8::Boolean>’ has no member named ‘ToLocalChecked’
../../nan/nan.h: In function ‘void Nan::ThrowError(const char*)’:
../../nan/nan.h:659: error: ‘class v8::Local<v8::Boolean>’ has no member named ‘ToLocalChecked’
../../nan/nan.h: In function ‘v8::Local<v8::Value> Nan::RangeError(const char*)’:
../../nan/nan.h:660: error: ‘class v8::Local<v8::Boolean>’ has no member named ‘ToLocalChecked’
../../nan/nan.h: In function ‘void Nan::ThrowRangeError(const char*)’:
../../nan/nan.h:660: error: ‘class v8::Local<v8::Boolean>’ has no member named ‘ToLocalChecked’
../../nan/nan.h: In function ‘v8::Local<v8::Value> Nan::ReferenceError(const char*)’:
../../nan/nan.h:661: error: ‘class v8::Local<v8::Boolean>’ has no member named ‘ToLocalChecked’
../../nan/nan.h: In function ‘void Nan::ThrowReferenceError(const char*)’:
../../nan/nan.h:661: error: ‘class v8::Local<v8::Boolean>’ has no member named ‘ToLocalChecked’
../../nan/nan.h: In function ‘v8::Local<v8::Value> Nan::SyntaxError(const char*)’:
../../nan/nan.h:662: error: ‘class v8::Local<v8::Boolean>’ has no member named ‘ToLocalChecked’
../../nan/nan.h: In function ‘void Nan::ThrowSyntaxError(const char*)’:
../../nan/nan.h:662: error: ‘class v8::Local<v8::Boolean>’ has no member named ‘ToLocalChecked’
../../nan/nan.h: In function ‘v8::Local<v8::Value> Nan::TypeError(const char*)’:
../../nan/nan.h:663: error: ‘class v8::Local<v8::Boolean>’ has no member named ‘ToLocalChecked’
../../nan/nan.h: In function ‘void Nan::ThrowTypeError(const char*)’:
../../nan/nan.h:663: error: ‘class v8::Local<v8::Boolean>’ has no member named ‘ToLocalChecked’
../../nan/nan.h: At global scope:
../../nan/nan.h:671: error: expected initializer before ‘<’ token
../../nan/nan.h:693: error: expected initializer before ‘<’ token
../../nan/nan.h:709: error: expected initializer before ‘<’ token
../../nan/nan.h:722: error: expected initializer before ‘<’ token
../../nan/nan.h:739: error: expected initializer before ‘<’ token
../../nan/nan.h:745: error: expected initializer before ‘<’ token
../../nan/nan.h:753: error: expected initializer before ‘<’ token
../../nan/nan.h:760: error: expected initializer before ‘<’ token
../../nan/nan.h:766: error: expected initializer before ‘<’ token
/root/.node-gyp/4.0.0/deps/v8/include/v8.h: In member function ‘void Nan::Callback::SetFunction(const v8::Local<v8::Function>&)’:
/root/.node-gyp/4.0.0/deps/v8/include/v8.h:3021: error: argument dependent lookup finds ‘class v8::Set’
../../nan/nan.h:1402: error:   in call to ‘Set’
../../nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(const char*, const v8::Local<v8::Value>&)’:
../../nan/nan.h:1524: error: ‘class v8::Local<v8::Boolean>’ has no member named ‘ToLocalChecked’
../../nan/nan.h: In member function ‘v8::Local<v8::Value> Nan::AsyncWorker::GetFromPersistent(const char*) const’:
../../nan/nan.h:1542: error: ‘class v8::Local<v8::Boolean>’ has no member named ‘ToLocalChecked’
../../nan/nan.h: In member function ‘virtual void Nan::AsyncWorker::HandleErrorCallback()’:
../../nan/nan.h:1576: error: no matching function for call to ‘New(const char*)’
../../nan/nan.h: In function ‘void Nan::SetMethod(const T&, const char*, void (*)(const Nan::FunctionCallbackInfo<v8::Value>&))’:
../../nan/nan.h:1865: error: there are no arguments to ‘GetFunction’ that depend on a template parameter, so a declaration of ‘GetFunction’ must be available
../../nan/nan.h:1865: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
../../nan/nan.h:1866: error: ‘class v8::Local<v8::Boolean>’ has no member named ‘ToLocalChecked’
../../nan/nan.h: In function ‘void Nan::SetPrototypeMethod(v8::Local<v8::FunctionTemplate>, const char*, void (*)(const Nan::FunctionCallbackInfo<v8::Value>&))’:
../../nan/nan.h:1878: error: ‘GetFunction’ was not declared in this scope
../../nan/nan.h:1879: error: ‘class v8::Local<v8::Boolean>’ has no member named ‘ToLocalChecked’
../../nan/nan.h: In function ‘void Nan::SetAccessor(v8::Local<v8::ObjectTemplate>, v8::Local<v8::String>, void (*)(v8::Local<v8::String>, const Nan::PropertyCallbackInfo<v8::Value>&), void (*)(v8::Local<v8::String>, v8::Local<v8::Value>, const Nan::PropertyCallbackInfo<void>&), v8::Local<v8::Value>, v8::AccessControl, v8::PropertyAttribute, Nan::imp::Sig)’:
../../nan/nan.h:1904: error: ‘NewInstance’ was not declared in this scope
../../nan/nan.h: In function ‘bool Nan::SetAccessor(v8::Local<v8::Object>, v8::Local<v8::String>, void (*)(v8::Local<v8::String>, const Nan::PropertyCallbackInfo<v8::Value>&), void (*)(v8::Local<v8::String>, v8::Local<v8::Value>, const Nan::PropertyCallbackInfo<void>&), v8::Local<v8::Value>, v8::AccessControl, v8::PropertyAttribute)’:
../../nan/nan.h:1947: error: ‘NewInstance’ was not declared in this scope
../../nan/nan.h: In function ‘void Nan::SetNamedPropertyHandler(v8::Local<v8::ObjectTemplate>, void (*)(v8::Local<v8::String>, const Nan::PropertyCallbackInfo<v8::Value>&), void (*)(v8::Local<v8::String>, v8::Local<v8::Value>, const Nan::PropertyCallbackInfo<v8::Value>&), void (*)(v8::Local<v8::String>, const Nan::PropertyCallbackInfo<v8::Integer>&), void (*)(v8::Local<v8::String>, const Nan::PropertyCallbackInfo<v8::Boolean>&), void (*)(const Nan::PropertyCallbackInfo<v8::Array>&), v8::Local<v8::Value>)’:
../../nan/nan.h:1995: error: ‘NewInstance’ was not declared in this scope
../../nan/nan.h: In function ‘void Nan::SetIndexedPropertyHandler(v8::Local<v8::ObjectTemplate>, void (*)(uint32_t, const Nan::PropertyCallbackInfo<v8::Value>&), void (*)(uint32_t, v8::Local<v8::Value>, const Nan::PropertyCallbackInfo<v8::Value>&), void (*)(uint32_t, const Nan::PropertyCallbackInfo<v8::Integer>&), void (*)(uint32_t, const Nan::PropertyCallbackInfo<v8::Boolean>&), void (*)(const Nan::PropertyCallbackInfo<v8::Array>&), v8::Local<v8::Value>)’:
../../nan/nan.h:2065: error: ‘NewInstance’ was not declared in this scope
../../nan/nan.h: In function ‘void Nan::SetCallHandler(v8::Local<v8::FunctionTemplate>, void (*)(const Nan::FunctionCallbackInfo<v8::Value>&), v8::Local<v8::Value>)’:
../../nan/nan.h:2120: error: ‘NewInstance’ was not declared in this scope
../../nan/nan.h: In function ‘void Nan::SetCallAsFunctionHandler(v8::Local<v8::ObjectTemplate>, void (*)(const Nan::FunctionCallbackInfo<v8::Value>&), v8::Local<v8::Value>)’:
../../nan/nan.h:2142: error: ‘NewInstance’ was not declared in this scope
In file included from ../src/reader.h:1,
                 from ../src/hiredis.cc:1:
../../nan/nan.h: In function ‘void Nan::Export(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE, const char*, void (*)(const Nan::FunctionCallbackInfo<v8::Value>&))’:
../../nan/nan.h:2169: error: no matching function for call to ‘New(const char*&)’
../../nan/nan.h:2170: error: ‘GetFunction’ was not declared in this scope
/root/.node-gyp/4.0.0/deps/v8/include/v8.h:3021: error: argument dependent lookup finds ‘class v8::Set’
../../nan/nan.h:2170: error:   in call to ‘Set’
../../nan/nan.h: In constructor ‘Nan::Tap::Tap(v8::Local<v8::Value>)’:
../../nan/nan.h:2177: error: no matching function for call to ‘To(v8::Local<v8::Value>&)’
../../nan/nan.h: In member function ‘void Nan::Tap::ok(bool, const char*)’:
../../nan/nan.h:2190: error: ‘class v8::Local<v8::Boolean>’ has no member named ‘ToLocalChecked’
../../nan/nan.h: In member function ‘void Nan::Tap::pass(const char*)’:
../../nan/nan.h:2196: error: ‘class v8::Local<v8::Boolean>’ has no member named ‘ToLocalChecked’
../../nan/nan.h: At global scope:
../../nan/nan.h:2220: error: ISO C++ forbids declaration of ‘MaybeLocal’ with no type
../../nan/nan.h:2220: error: expected ‘;’ before ‘<’ token
../../nan/nan.h:2223: error: expected ‘;’ before ‘}’ token
../../nan/nan.h:2225: error: ‘MaybeLocal’ was not declared in this scope
../../nan/nan.h:2225: error: template argument 1 is invalid
../../nan/nan.h:2225: error: expected unqualified-id before ‘>’ token
../../nan/nan.h:2234: error: expected constructor, destructor, or type conversion before ‘<’ token
make: *** [Release/obj.target/hiredis/src/hiredis.o] Error 1
make: Leaving directory `/www/someproject/node_modules/hiredis/build'
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 Linux 2.6.32-431.3.1.el6.x86_64
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /www/someproject/node_modules/hiredis
gyp ERR! node -v v4.0.0
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok
npm verb lifecycle hiredis@0.4.1~install: unsafe-perm in lifecycle false
npm verb lifecycle hiredis@0.4.1~install: PATH: /usr/local/lib/node_modules/npm/bin/node-gyp-bin:/www/someproject/node_modules/hiredis/node_modules/.bin:/www/someproject/node_modules/.bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
npm verb lifecycle hiredis@0.4.1~install: CWD: /www/someproject/node_modules/hiredis
npm info lifecycle hiredis@0.4.1~install: Failed to exec install script
npm verb unlock done using /root/.npm/_locks/staging-49aada97cfd564a9.lock for /www/someproject/node_modules/.staging
npm WARN EPACKAGEJSON ThumbsClickTracking@2.0.0 No repository field.
npm WARN EPACKAGEJSON ThumbsClickTracking@2.0.0 No license field.
npm verb stack Error: hiredis@0.4.1 install: `node-gyp rebuild`
npm verb stack Exit status 1
npm verb stack     at EventEmitter.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/lifecycle.js:232:16)
npm verb stack     at emitTwo (events.js:87:13)
npm verb stack     at EventEmitter.emit (events.js:172:7)
npm verb stack     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/spawn.js:24:14)
npm verb stack     at emitTwo (events.js:87:13)
npm verb stack     at ChildProcess.emit (events.js:172:7)
npm verb stack     at maybeClose (internal/child_process.js:817:16)
npm verb stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)
npm verb pkgid hiredis@0.4.1
npm verb cwd /www/someproject
npm ERR! Linux 2.6.32-431.3.1.el6.x86_64
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "hiredis" "--no-bin-links" "--loglevel" "verbose"
npm ERR! node v4.0.0
npm ERR! npm  v3.4.0
npm ERR! code ELIFECYCLE

npm ERR! hiredis@0.4.1 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the hiredis@0.4.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 hiredis 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 hiredis
npm ERR! There is likely additional logging output above.
npm verb exit [ 1, true ]

npm ERR! Please include the following file with any support request:
npm ERR!     /www/someproject/npm-debug.log
badboy commented 8 years ago

Your C++ compiler is too old. Node >=v4 and hiredis require gcc/g++ 4.8 or newer.