简体   繁体   中英

Fails to npm install nanomsg

I try to install nanomsg on a linux machine so I do

npm install nanomsg --python=python2.7

I use --python=python2.7 option, because I have two different versions of python. However that command fails with this kind of error message

make: Entering directory `/qt_home/{my_username}/node_modules/nanomsg/build'
  CC(target) Release/obj.target/nanomsg/deps/nanomsg/src/aio/ctx.o
cc1: error: unrecognized command line option "-Wno-maybe-uninitialized"
make: *** [Release/obj.target/nanomsg/deps/nanomsg/src/aio/ctx.o] Error 1
make: Leaving directory `/qt_home/{my_username}/node_modules/nanomsg/build'
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:204:12)
gyp ERR! System Linux 2.6.18-409.el5
gyp ERR! command "/usr/local/bin/node" "/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /qt_home/{my_username}/node_modules/nanomsg
gyp ERR! node -v v6.2.2
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok 
npm ERR! Linux 2.6.18-409.el5
npm ERR! argv "/bin/node" "/bin/npm" "install" "nanomsg" "--python=python2.7"
npm ERR! node v4.2.1
npm ERR! npm  v2.14.7
npm ERR! code ELIFECYCLE

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

npm ERR! Please include the following file with any support request:
npm ERR!     /qt_home/{my_username}/npm-debug.log

I searched about this on the internet, but couldn't find anything helpful. I have found this link so far, but it didn't help me.

My node js version is 6.2.2 and npm version is 2.14.7.

Any ideas or suggestions?

Have you tried, using sudo for the install. Sometimes it requires it for certain parts.

sudo npm install nanomsg --python=python2.7

Also im not too familiar with Python but can you add the direct path instead of python2.7

sudo npm install nanomsg --python=/usr/bin/python2.7

The error message

cc1: error: unrecognized command line option "-Wno-maybe-uninitialized"

indicate that your compiler doesnot support the option -Wno-maybe-uninitialized .

The compiler option use to build de nanomsg librairie are defined in linux.gypi .

'cflags': [
'-O3', '-Wall', '-Wextra', '-Wno-sign-compare', '-Wno-strict-aliasing',
'-Wno-unused', '-Wno-char-subscripts', '-Wno-maybe-uninitialized',
'-Wno-implicit-function-declaration', '-lpthread',
],

In order to use the nanomsg configure to build it according your compiler, you could proceed like this :

git clone https://github.com/nanomsg/nanomsg
cd nanomsg
./configure
cmake .
make 
sudo make install
sudo cp /usr/local/lib/pkgconfig/naming.pc /usr/local/lib/pkgconfig/libnaming.pc 

Next you should be able to run :

npm install nanomsg --use_system_libnanomsg=true

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM