Closed abhayghatpande closed 9 years ago
It looks like zmq is an optional dependency for Mosca (https://github.com/mcollina/mosca/blob/master/package.json#L96). Did it still install for you?
Copying the author: @mcollina
zmq is optional, so it should not be an issue if it's not installed, just some bad errors on install.
I think it cropped up when I issued npm rebuild
. I was missing some headers on my system initially, dns_sd.h
and zmq.h
. So after getting those in place, I tried to rebuild. But looks like that was a bad idea, because now I'm getting a bunch of errors on geoip-lite
.
To solve the zmq issue, I used https://github.com/JustinTulloss/zeromq.node, sym-linked it to zmq, and changed the version to 2.8.0 in the package.json.
Please let me know if what I'm doing is not the way to go. I'm pretty much a noob at JS and Node.
geoip-lite is also an optional dependency. we use it to convert connected ip addresses to geocodes.
So is npm rebuild
not the way to go? Am I not using it correctly?
When I saw the initial errors for the missing headers, I stopped the npm install
process with a ctrl-c. Then used npm rebuild
. What if I want to install the optional modules, like zmq or geoip-lite? How can I request them to be installed?
We normally deploy to Linux and Mac and have the gcc C compiler installed on the machine. npm install does the trick. These errors are expected without a C compiler; however, npm should still install everything else including the fallbacks where possible leaving out the optional dependencies.
I did a fresh git clone and npm install and everything worked. So I'm going to close this issue. But I'm afraid that someone else may run into similar issues if they have missing header files like I did.
zeromq version used in code is old and breaks the build.