NPM install error when trying to add zmq

Hi,

I was trying to add the NPM zmq package to work with a ZeroMQ subscription but the package failed to install. I know zqm needs to compile when installed, on my Windows laptop it require Python 2.7 to be in the path to do so but the error message there is somewhat different.

Searching for this error I found (Fails on node-gyp rebuild: binding.cc:28:17: fatal error: zmq.h: No such file or directory · Issue #456 · JustinTulloss/zeromq.node · GitHub) a possible solution in apt-get install libzmq3 libzmq3-dev and another one (fatal error: zmq.h: No such file or directory (ubuntu 12.04, node 0.10.26) · Issue #281 · JustinTulloss/zeromq.node · GitHub) that suggest yum install zeromq-devel.

What are the recommended steps to get this to work?

The project URL is https://hyperdev.com/#!/project/pyrite-rain

BTW It seems I am not able to view the contents of npm-debug.log

Thanks,
Maurice

package.json
{
“//1”: “describes your app and its dependencies”,
“//2”: “https://docs.npmjs.com/files/package.json”,
“//3”: “updating this file will download and update your packages”,
“name”: “my-hyperdev-app”,
“version”: “0.0.1”,
“description”: “What am I about?”,
“main”: “server.js”,
“scripts”: {
“start”: “node server.js”
},

"dependencies": {
	"express": "^4.12.4",
	"zmq": "^2.15.3"
},
"engines": {
	"node": "4.4.3"
},
"repository": {
	"type": "git",
	"url": "https://hyperdev.com/#!/project/welcome-project"
},
"keywords": [
	"node",
	"hyperdev",
	"express"
],
"license": "MIT"

}

Activity Log

Beginning install
8:55 AM
Checking archive for node package cache
8:55 AM
Archived node package cache not available
8:55 AM
[npm-cache] [INFO] using /app/.package_cache as cache directory
8:55 AM
[npm-cache] [INFO] [npm] config file exists
8:55 AM
[npm-cache] [INFO] [npm] cli exists
8:55 AM
[npm-cache] [INFO] [npm] hash of /app/src/package.json: b8986e6fe6952be909a1c4435cbc48b4
8:55 AM
[npm-cache] [INFO] [npm] running [npm install]…
8:55 AM

zmq@2.15.3 install /app/src/node_modules/zmq
node-gyp rebuild

8:55 AM
make: Entering directory ‘/app/src/node_modules/zmq/build’
8:55 AM
CXX(target) Release/obj.target/zmq/binding.o
8:55 AM
…/binding.cc:28:17: fatal error: zmq.h: No such file or directory
#include <zmq.h>
^
compilation terminated.
8:55 AM
zmq.target.mk:90: recipe for target ‘Release/obj.target/zmq/binding.o’ failed
8:55 AM
make: *** [Release/obj.target/zmq/binding.o] Error 1
8:55 AM
make: Leaving directory ‘/app/src/node_modules/zmq/build’
8:55 AM
gyp
8:55 AM

8:55 AM
ERR!
8:55 AM
build error
8:55 AM
gyp
8:55 AM
ERR!
8:55 AM
stack Error: make failed with exit code: 2
gyp
8:55 AM
ERR! stack at ChildProcess.onExit (/app/.nodejs/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276:23)
8:55 AM
gyp ERR!
8:55 AM

8:55 AM
stack at emitTwo (events.js:87:13)
gyp ERR! stack at ChildProcess.emit (events.js:172:7)
gyp ERR! stack
8:55 AM
at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
8:55 AM
gyp
8:55 AM
ERR!
8:55 AM
System Linux 4.4.8-fc
8:55 AM
gyp ERR!
8:55 AM
command “/app/.nodejs/bin/node” “/app/.nodejs/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js” “rebuild”
gyp ERR!
8:55 AM
cwd /app/src/node_modules/zmq
gyp
8:55 AM
ERR! node -v v4.4.3
8:55 AM
gyp ERR!
8:55 AM
node-gyp -v v3.3.1
gyp
8:55 AM
ERR! not ok
8:55 AM
npm
8:55 AM

8:55 AM
ERR!
8:55 AM
Linux 4.4.8-fc
8:55 AM
npm
8:55 AM

8:55 AM
ERR! argv “/app/.nodejs/bin/node” “/app/.nodejs/bin/npm” “install”
8:55 AM
npm
8:55 AM
ERR!
8:55 AM
node v4.4.3
8:55 AM
npm ERR!
8:55 AM
npm v2.15.1
8:55 AM
npm
8:55 AM
ERR! code ELIFECYCLE

8:55 AM
npm ERR! zmq@2.15.3 install: node-gyp rebuild
8:55 AM
npm ERR! Exit status 1
8:55 AM
npm
8:55 AM
ERR!
npm
8:55 AM
ERR!
8:55 AM
Failed at the zmq@2.15.3 install script ‘node-gyp rebuild’.
npm
8:55 AM
ERR!
8:55 AM
This is most likely a problem with the zmq package,
npm
8:55 AM
ERR!
8:55 AM
not with npm itself.
npm
8:55 AM
ERR!
8:55 AM
Tell the author that this fails on your system:
npm
8:55 AM

8:55 AM
ERR! node-gyp rebuild
npm
8:55 AM
ERR! You can get information on how to open an issue for this project with:
8:55 AM
npm ERR! npm bugs zmq
8:55 AM
npm ERR!
8:55 AM
Or if that isn’t available, you can get their info via:
npm ERR!
8:55 AM

npm ERR! npm owner ls zmq
8:55 AM
npm ERR! There is likely additional logging output above.
8:55 AM

8:55 AM
npm ERR! Please include the following file with any support request:
npm ERR! /app/src/npm-debug.log
8:55 AM
[npm-cache] [ERROR] [npm] error running npm install
8:55 AM
[npm-cache] [ERROR] error installing dependencies
8:55 AM
Install completed with errors
8:55 AM

You can only write to /tmp when the container is running. Prior to that, during preinstall, you can write to the filesystem, so you might be able to install the components you need then (FYI: the containers run Ubuntu Xenial). Frost-kicker for example, uses this technique to install and setup Python. Note though that the container is removed after 15 minutes.

Some back-end improvements that we’re working on will remove such limitations. We hope to have them available in a few weeks.

Doing an apt-get install zeromq-devel produces the following error

E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
1:50 PM

The lock file is there but it seems I can’t update it.

My Linux skills are not great so there might be something obvious I am not seeing here.

You need to preface commands that require root with ‘sudo’.

Did try that but sudo isn’t a known command.

./install/setup-project.sh: line 5: sudo: command not found

It looks like our base image may be missing some packages required for zmq. We’ll try and add them soon and update here when we do. Thanks for your patience!

1 Like