Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Global installs fail #10

Closed
goloroden opened this issue Feb 11, 2015 · 14 comments
Closed

Global installs fail #10

goloroden opened this issue Feb 11, 2015 · 14 comments

Comments

@goloroden
Copy link

When I run the container node:0.10 using

$ docker run -it node:0.10 bash

and then inside if the container run

# npm install -g pm2-web

I get an error message by node-gyp telling me that the user is undefined:

gyp WARN EACCES user "undefined" does not have permission to access the dev dir "/root/.node-gyp/0.10.36"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/local/lib/node_modules/pm2-web/node_modules/mdns2/.node-gyp"

How do I fix that?

@goloroden
Copy link
Author

I found out that using

# export USER=root && npm install -g pm2-web

at least sets the user to root instead of undefined. Nevertheless, the error is still there.

@chorrell
Copy link
Contributor

I believe that's a node-gyp/npm thing:

nodejs/node-gyp#454
nodejs/node-gyp#115 (comment)

You'll see a similar warning if you e.g install on a mac. On my mac (sudo npm install -g pm2-web) I get:

...
gyp WARN EACCES user "root" does not have permission to access the dev dir "/Users/christopher/.node-gyp/0.10.36"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/local/lib/node_modules/pm2-web/node_modules/mdns2/.node-gyp"
...

Also, I'm pretty sure the install will succeed since it's a warning and not an actual error. Did pm2-web actually install for you?

@chorrell
Copy link
Contributor

I tried this myself in a Docker container and the install does fail. Looks like something to do with the mdsn2 module

npm WARN optional dep failed, continuing mdns2@2.1.4

@chorrell
Copy link
Contributor

Here's the full error I get

make: Entering directory '/usr/local/lib/node_modules/pm2-web/node_modules/mdns2/build'
  CXX(target) Release/obj.target/dns_sd_bindings/src/dns_sd.o
In file included from ../src/dns_sd.cpp:1:0:
../src/mdns.hpp:31:20: fatal error: dns_sd.h: No such file or directory
 #include <dns_sd.h>
                    ^
compilation terminated.
dns_sd_bindings.target.mk:132: recipe for target 'Release/obj.target/dns_sd_bindings/src/dns_sd.o' failed
make: *** [Release/obj.target/dns_sd_bindings/src/dns_sd.o] Error 1
make: Leaving directory '/usr/local/lib/node_modules/pm2-web/node_modules/mdns2/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:267:23)
gyp ERR! stack     at ChildProcess.emit (events.js:98:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:820:12)
gyp ERR! System Linux 3.13.0-36-generic
gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /usr/local/lib/node_modules/pm2-web/node_modules/mdns2
gyp ERR! node -v v0.10.36
gyp ERR! node-gyp -v v1.0.2
gyp ERR! not ok 
npm WARN optional dep failed, continuing mdns2@2.1.4

@chorrell
Copy link
Contributor

Further update: The install doesn't fail entirely, just the installation of the mdns2 dependency fails:

npm WARN optional dep failed, continuing mdns2@2.1.4"

Looking up that error I found achingbrain/pm2-web#31

mdns requires you have libavahi-compat-libdnssd-dev installed

So, after I installed it:

apt-get update && apt-get install libavahi-compat-libdnssd-dev

I tied again (I'm not a fan of the npm spinner ;):

 export npm_config_loglevel=http; export npm_config_spin=false && npm install -g pm2-web

And it works!

Looks like you just need that missing package and you're all good.

@md5
Copy link

md5 commented Feb 11, 2015

@chorrell It looks like that doesn't work on node:0.12:

$ docker run --rm node:0.12 sh -c 'apt-get update && apt-get install -y libavahi-compat-libdnssd-dev && npm install -g mdns2'
Get:1 http://security.debian.org jessie/updates InRelease [84.1 kB]
Get:2 http://http.debian.net jessie InRelease [199 kB]
Get:3 http://http.debian.net jessie-updates InRelease [117 kB]
Get:4 http://security.debian.org jessie/updates/main amd64 Packages [20 B]
Get:5 http://http.debian.net jessie/main amd64 Packages [9051 kB]
Get:6 http://http.debian.net jessie-updates/main amd64 Packages [20 B]
Fetched 9451 kB in 11s (806 kB/s)
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
The following extra packages will be installed:
  avahi-daemon bind9-host geoip-database init-system-helpers
  libavahi-client-dev libavahi-common-dev libavahi-compat-libdnssd1
  libavahi-core7 libbind9-90 libdaemon0 libdbus-1-dev libdns100 libgeoip1
  libisc95 libisccc90 libisccfg90 liblwres90 libnss-mdns
Suggested packages:
  avahi-autoipd geoip-bin
The following NEW packages will be installed:
  avahi-daemon bind9-host geoip-database init-system-helpers
  libavahi-client-dev libavahi-common-dev libavahi-compat-libdnssd-dev
  libavahi-compat-libdnssd1 libavahi-core7 libbind9-90 libdaemon0
  libdbus-1-dev libdns100 libgeoip1 libisc95 libisccc90 libisccfg90 liblwres90
  libnss-mdns
0 upgraded, 19 newly installed, 0 to remove and 49 not upgraded.
Need to get 3345 kB of archives.
After this operation, 10.6 MB of additional disk space will be used.
Get:1 http://http.debian.net/debian/ jessie/main libavahi-compat-libdnssd1 amd64 0.6.31-4+b2 [45.3 kB]
Get:2 http://http.debian.net/debian/ jessie/main libavahi-core7 amd64 0.6.31-4+b2 [112 kB]
Get:3 http://http.debian.net/debian/ jessie/main libdaemon0 amd64 0.14-6 [17.5 kB]
Get:4 http://http.debian.net/debian/ jessie/main libgeoip1 amd64 1.6.2-4 [90.8 kB]
Get:5 http://http.debian.net/debian/ jessie/main init-system-helpers all 1.22 [14.0 kB]
Get:6 http://http.debian.net/debian/ jessie/main libisc95 amd64 1:9.9.5.dfsg-8 [168 kB]
Get:7 http://http.debian.net/debian/ jessie/main libdns100 amd64 1:9.9.5.dfsg-8 [679 kB]
Get:8 http://http.debian.net/debian/ jessie/main libisccc90 amd64 1:9.9.5.dfsg-8 [35.6 kB]
Get:9 http://http.debian.net/debian/ jessie/main libisccfg90 amd64 1:9.9.5.dfsg-8 [56.2 kB]
Get:10 http://http.debian.net/debian/ jessie/main libbind9-90 amd64 1:9.9.5.dfsg-8 [42.4 kB]
Get:11 http://http.debian.net/debian/ jessie/main liblwres90 amd64 1:9.9.5.dfsg-8 [52.1 kB]
Get:12 http://http.debian.net/debian/ jessie/main bind9-host amd64 1:9.9.5.dfsg-8 [66.7 kB]
Get:13 http://http.debian.net/debian/ jessie/main avahi-daemon amd64 0.6.31-4+b2 [87.4 kB]
Get:14 http://http.debian.net/debian/ jessie/main libnss-mdns amd64 0.10-6 [24.0 kB]
Get:15 http://http.debian.net/debian/ jessie/main geoip-database all 20141027-2 [1463 kB]
Get:16 http://http.debian.net/debian/ jessie/main libavahi-common-dev amd64 0.6.31-4+b2 [65.2 kB]
Get:17 http://http.debian.net/debian/ jessie/main libdbus-1-dev amd64 1.8.12-3 [206 kB]
Get:18 http://http.debian.net/debian/ jessie/main libavahi-client-dev amd64 0.6.31-4+b2 [59.2 kB]
Get:19 http://http.debian.net/debian/ jessie/main libavahi-compat-libdnssd-dev amd64 0.6.31-4+b2 [60.1 kB]
debconf: delaying package configuration, since apt-utils is not installed
Fetched 3345 kB in 8s (395 kB/s)
Selecting previously unselected package libavahi-compat-libdnssd1:amd64.
(Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 27867 files and directories currently installed.)
Preparing to unpack .../libavahi-compat-libdnssd1_0.6.31-4+b2_amd64.deb ...
Unpacking libavahi-compat-libdnssd1:amd64 (0.6.31-4+b2) ...
Selecting previously unselected package libavahi-core7:amd64.
Preparing to unpack .../libavahi-core7_0.6.31-4+b2_amd64.deb ...
Unpacking libavahi-core7:amd64 (0.6.31-4+b2) ...
Selecting previously unselected package libdaemon0:amd64.
Preparing to unpack .../libdaemon0_0.14-6_amd64.deb ...
Unpacking libdaemon0:amd64 (0.14-6) ...
Selecting previously unselected package libgeoip1:amd64.
Preparing to unpack .../libgeoip1_1.6.2-4_amd64.deb ...
Unpacking libgeoip1:amd64 (1.6.2-4) ...
Selecting previously unselected package init-system-helpers.
Preparing to unpack .../init-system-helpers_1.22_all.deb ...
Unpacking init-system-helpers (1.22) ...
Selecting previously unselected package libisc95.
Preparing to unpack .../libisc95_1%3a9.9.5.dfsg-8_amd64.deb ...
Unpacking libisc95 (1:9.9.5.dfsg-8) ...
Selecting previously unselected package libdns100.
Preparing to unpack .../libdns100_1%3a9.9.5.dfsg-8_amd64.deb ...
Unpacking libdns100 (1:9.9.5.dfsg-8) ...
Selecting previously unselected package libisccc90.
Preparing to unpack .../libisccc90_1%3a9.9.5.dfsg-8_amd64.deb ...
Unpacking libisccc90 (1:9.9.5.dfsg-8) ...
Selecting previously unselected package libisccfg90.
Preparing to unpack .../libisccfg90_1%3a9.9.5.dfsg-8_amd64.deb ...
Unpacking libisccfg90 (1:9.9.5.dfsg-8) ...
Selecting previously unselected package libbind9-90.
Preparing to unpack .../libbind9-90_1%3a9.9.5.dfsg-8_amd64.deb ...
Unpacking libbind9-90 (1:9.9.5.dfsg-8) ...
Selecting previously unselected package liblwres90.
Preparing to unpack .../liblwres90_1%3a9.9.5.dfsg-8_amd64.deb ...
Unpacking liblwres90 (1:9.9.5.dfsg-8) ...
Selecting previously unselected package bind9-host.
Preparing to unpack .../bind9-host_1%3a9.9.5.dfsg-8_amd64.deb ...
Unpacking bind9-host (1:9.9.5.dfsg-8) ...
Selecting previously unselected package avahi-daemon.
Preparing to unpack .../avahi-daemon_0.6.31-4+b2_amd64.deb ...
Unpacking avahi-daemon (0.6.31-4+b2) ...
Selecting previously unselected package libnss-mdns:amd64.
Preparing to unpack .../libnss-mdns_0.10-6_amd64.deb ...
Unpacking libnss-mdns:amd64 (0.10-6) ...
Selecting previously unselected package geoip-database.
Preparing to unpack .../geoip-database_20141027-2_all.deb ...
Unpacking geoip-database (20141027-2) ...
Selecting previously unselected package libavahi-common-dev.
Preparing to unpack .../libavahi-common-dev_0.6.31-4+b2_amd64.deb ...
Unpacking libavahi-common-dev (0.6.31-4+b2) ...
Selecting previously unselected package libdbus-1-dev:amd64.
Preparing to unpack .../libdbus-1-dev_1.8.12-3_amd64.deb ...
Unpacking libdbus-1-dev:amd64 (1.8.12-3) ...
Selecting previously unselected package libavahi-client-dev.
Preparing to unpack .../libavahi-client-dev_0.6.31-4+b2_amd64.deb ...
Unpacking libavahi-client-dev (0.6.31-4+b2) ...
Selecting previously unselected package libavahi-compat-libdnssd-dev.
Preparing to unpack .../libavahi-compat-libdnssd-dev_0.6.31-4+b2_amd64.deb ...
Unpacking libavahi-compat-libdnssd-dev (0.6.31-4+b2) ...
Processing triggers for dbus (1.8.12-3) ...
Setting up libavahi-compat-libdnssd1:amd64 (0.6.31-4+b2) ...
Setting up libavahi-core7:amd64 (0.6.31-4+b2) ...
Setting up libdaemon0:amd64 (0.14-6) ...
Setting up libgeoip1:amd64 (1.6.2-4) ...
Setting up init-system-helpers (1.22) ...
Setting up libisc95 (1:9.9.5.dfsg-8) ...
Setting up libdns100 (1:9.9.5.dfsg-8) ...
Setting up libisccc90 (1:9.9.5.dfsg-8) ...
Setting up libisccfg90 (1:9.9.5.dfsg-8) ...
Setting up libbind9-90 (1:9.9.5.dfsg-8) ...
Setting up liblwres90 (1:9.9.5.dfsg-8) ...
Setting up bind9-host (1:9.9.5.dfsg-8) ...
Setting up avahi-daemon (0.6.31-4+b2) ...
invoke-rc.d: policy-rc.d denied execution of force-reload.
update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults
invoke-rc.d: policy-rc.d denied execution of start.
Setting up geoip-database (20141027-2) ...
Setting up libavahi-common-dev (0.6.31-4+b2) ...
Setting up libdbus-1-dev:amd64 (1.8.12-3) ...
Setting up libavahi-client-dev (0.6.31-4+b2) ...
Setting up libavahi-compat-libdnssd-dev (0.6.31-4+b2) ...
Processing triggers for dbus (1.8.12-3) ...
Setting up libnss-mdns:amd64 (0.10-6) ...
First installation detected...
Checking NSS setup...
Processing triggers for libc-bin (2.19-13) ...

> mdns2@2.1.4 install /usr/local/lib/node_modules/mdns2
> node-gyp rebuild

gyp WARN EACCES user "undefined" does not have permission to access the dev dir "/root/.node-gyp/0.12.0"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/local/lib/node_modules/mdns2/.node-gyp"
child_process: customFds option is deprecated, use stdio instead.
make: Entering directory '/usr/local/lib/node_modules/mdns2/build'
  CXX(target) Release/obj.target/dns_sd_bindings/src/dns_sd.o
In file included from ../src/dns_sd.cpp:5:0:
../src/mdns_utils.hpp: In function 'v8::Handle<v8::Value> node_mdns::throwError(const char*)':
../src/mdns_utils.hpp:16:50: error: 'New' is not a member of 'v8::String'
     return ThrowException( v8::Exception::Error( v8::String::New( message )));
                                                  ^
../src/mdns_utils.hpp:16:77: error: 'ThrowException' was not declared in this scope
     return ThrowException( v8::Exception::Error( v8::String::New( message )));
                                                                             ^
../src/mdns_utils.hpp: In function 'v8::Handle<v8::Value> node_mdns::throwTypeError(const char*)':
../src/mdns_utils.hpp:22:54: error: 'New' is not a member of 'v8::String'
     return ThrowException( v8::Exception::TypeError( v8::String::New( message )));
                                                      ^
../src/mdns_utils.hpp:22:81: error: 'ThrowException' was not declared in this scope
     return ThrowException( v8::Exception::TypeError( v8::String::New( message )));
                                                                                 ^
../src/mdns_utils.hpp: In function 'v8::Handle<v8::Value> node_mdns::throwMdnsError(DNSServiceErrorType)':
../src/mdns_utils.hpp:28:53: error: 'ThrowException' was not declared in this scope
     return ThrowException(buildException(error_code));
                                                     ^
../src/mdns_utils.hpp: At global scope:
../src/mdns_utils.hpp:33:37: error: 'node_mdns::argumentCountMismatch' declared as an 'inline' variable
 argumentCountMismatch(v8::Arguments const& args, int expectedCount) {
                                     ^
../src/mdns_utils.hpp:33:23: error: 'Arguments' is not a member of 'v8'
 argumentCountMismatch(v8::Arguments const& args, int expectedCount) {
                       ^
../src/mdns_utils.hpp:33:23: note: suggested alternative:
In file included from /usr/local/lib/node_modules/mdns2/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/mdns.hpp:11,
                 from ../src/dns_sd.cpp:1:
/usr/local/lib/node_modules/mdns2/.node-gyp/0.12.0/deps/v8/include/v8.h:127:7: note:   'v8::internal::Arguments'
 class Arguments;
       ^
In file included from ../src/dns_sd.cpp:5:0:
../src/mdns_utils.hpp:33:50: error: expected primary-expression before 'int'
 argumentCountMismatch(v8::Arguments const& args, int expectedCount) {
                                                  ^
../src/mdns_utils.hpp:33:67: error: expression list treated as compound expression in initializer [-fpermissive]
 argumentCountMismatch(v8::Arguments const& args, int expectedCount) {
                                                                   ^
../src/mdns_utils.hpp:33:69: error: expected ',' or ';' before '{' token
 argumentCountMismatch(v8::Arguments const& args, int expectedCount) {
                                                                     ^
../src/mdns_utils.hpp:39:51: error: 'node_mdns::throwArgumentCountMismatchException' declared as an 'inline' variable
 throwArgumentCountMismatchException(v8::Arguments const& args, size_t expectedCount) {
                                                   ^
../src/mdns_utils.hpp:39:37: error: 'Arguments' is not a member of 'v8'
 throwArgumentCountMismatchException(v8::Arguments const& args, size_t expectedCount) {
                                     ^
../src/mdns_utils.hpp:39:37: note: suggested alternative:
In file included from /usr/local/lib/node_modules/mdns2/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/mdns.hpp:11,
                 from ../src/dns_sd.cpp:1:
/usr/local/lib/node_modules/mdns2/.node-gyp/0.12.0/deps/v8/include/v8.h:127:7: note:   'v8::internal::Arguments'
 class Arguments;
       ^
In file included from ../src/dns_sd.cpp:5:0:
../src/mdns_utils.hpp:39:71: error: expected primary-expression before 'expectedCount'
 throwArgumentCountMismatchException(v8::Arguments const& args, size_t expectedCount) {
                                                                       ^
../src/mdns_utils.hpp:39:86: error: expected ',' or ';' before '{' token
 throwArgumentCountMismatchException(v8::Arguments const& args, size_t expectedCount) {
                                                                                      ^
../src/mdns_utils.hpp: In function 'v8::Local<v8::Value> node_mdns::stringOrUndefined(const char*)':
../src/mdns_utils.hpp:49:44: error: 'New' is not a member of 'v8::String'
     return v8::Local<v8::Value>::New(str ? v8::String::New(str) : v8::Undefined());
                                            ^
../src/mdns_utils.hpp:49:81: error: too few arguments to function 'v8::Handle<v8::Primitive> v8::Undefined(v8::Isolate*)'
     return v8::Local<v8::Value>::New(str ? v8::String::New(str) : v8::Undefined());
                                                                                 ^
In file included from /usr/local/lib/node_modules/mdns2/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/mdns.hpp:11,
                 from ../src/dns_sd.cpp:1:
/usr/local/lib/node_modules/mdns2/.node-gyp/0.12.0/deps/v8/include/v8.h:305:28: note: declared here
   friend Handle<Primitive> Undefined(Isolate* isolate);
                            ^
In file included from ../src/dns_sd.cpp:6:0:
../src/dns_service_ref.hpp: At global scope:
../src/dns_service_ref.hpp:8:44: error: expected class-name before '{' token
 class ServiceRef : public node::ObjectWrap {
                                            ^
../src/dns_service_ref.hpp:14:52: error: 'Arguments' in namespace 'v8' does not name a type
         static v8::Handle<v8::Value> New(const v8::Arguments & args);
                                                    ^
../src/dns_service_ref.hpp:37:21: error: 'v8::AccessorInfo' has not been declared
                 v8::AccessorInfo const& info);
                     ^
../src/dns_service_ref.hpp:39:21: error: 'v8::AccessorInfo' has not been declared
                 v8::AccessorInfo const& info);
                     ^
In file included from ../src/dns_sd.cpp:7:0:
../src/txt_record_ref.hpp:6:46: error: expected class-name before '{' token
 class TxtRecordRef : public node::ObjectWrap {
                                              ^
../src/txt_record_ref.hpp:12:52: error: 'Arguments' in namespace 'v8' does not name a type
         static v8::Handle<v8::Value> New(const v8::Arguments & args);
                                                    ^
../src/txt_record_ref.hpp: In static member function 'static bool node_mdns::TxtRecordRef::HasInstance(v8::Handle<v8::Value>)':
../src/txt_record_ref.hpp:19:40: error: base operand of '->' has non-pointer type 'v8::Persistent<v8::FunctionTemplate>'
             return constructor_template->HasInstance( object );
                                        ^
In file included from ../src/dns_sd.cpp:9:0:
../src/socket_watcher.hpp: At global scope:
../src/socket_watcher.hpp:6:47: error: expected class-name before '{' token
 class SocketWatcher : public node::ObjectWrap {
                                               ^
../src/socket_watcher.hpp:13:9: error: 'uv_poll_t' does not name a type
         uv_poll_t* poll_;
         ^
../src/socket_watcher.hpp:17:52: error: 'Arguments' in namespace 'v8' does not name a type
         static v8::Handle<v8::Value> New(const v8::Arguments & args);
                                                    ^
../src/socket_watcher.hpp:18:52: error: 'Arguments' in namespace 'v8' does not name a type
         static v8::Handle<v8::Value> Set(const v8::Arguments & args);
                                                    ^
../src/socket_watcher.hpp:19:54: error: 'Arguments' in namespace 'v8' does not name a type
         static v8::Handle<v8::Value> Start(const v8::Arguments& args);
                                                      ^
../src/socket_watcher.hpp:20:53: error: 'Arguments' in namespace 'v8' does not name a type
         static v8::Handle<v8::Value> Stop(const v8::Arguments& args);
                                                     ^
../src/socket_watcher.hpp:24:30: error: 'uv_poll_t' has not been declared
         static void Callback(uv_poll_t *w, int status, int events);
                              ^
../src/dns_sd.cpp:18:34: error: 'Arguments' was not declared in this scope
 Handle<Value> DNSServiceRegister(Arguments const& args); 
                                  ^
../src/dns_sd.cpp:18:34: note: suggested alternative:
In file included from /usr/local/lib/node_modules/mdns2/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/mdns.hpp:11,
                 from ../src/dns_sd.cpp:1:
/usr/local/lib/node_modules/mdns2/.node-gyp/0.12.0/deps/v8/include/v8.h:127:7: note:   'v8::internal::Arguments'
 class Arguments;
       ^
../src/dns_sd.cpp:19:35: error: 'Arguments' was not declared in this scope
 Handle<Value> DNSServiceRefSockFD(Arguments const& args); 
                                   ^
../src/dns_sd.cpp:19:35: note: suggested alternative:
In file included from /usr/local/lib/node_modules/mdns2/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/mdns.hpp:11,
                 from ../src/dns_sd.cpp:1:
/usr/local/lib/node_modules/mdns2/.node-gyp/0.12.0/deps/v8/include/v8.h:127:7: note:   'v8::internal::Arguments'
 class Arguments;
       ^
../src/dns_sd.cpp:20:39: error: 'Arguments' was not declared in this scope
 Handle<Value> DNSServiceProcessResult(Arguments const& args); 
                                       ^
../src/dns_sd.cpp:20:39: note: suggested alternative:
In file included from /usr/local/lib/node_modules/mdns2/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/mdns.hpp:11,
                 from ../src/dns_sd.cpp:1:
/usr/local/lib/node_modules/mdns2/.node-gyp/0.12.0/deps/v8/include/v8.h:127:7: note:   'v8::internal::Arguments'
 class Arguments;
       ^
../src/dns_sd.cpp:21:32: error: 'Arguments' was not declared in this scope
 Handle<Value> DNSServiceBrowse(Arguments const& args); 
                                ^
../src/dns_sd.cpp:21:32: note: suggested alternative:
In file included from /usr/local/lib/node_modules/mdns2/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/mdns.hpp:11,
                 from ../src/dns_sd.cpp:1:
/usr/local/lib/node_modules/mdns2/.node-gyp/0.12.0/deps/v8/include/v8.h:127:7: note:   'v8::internal::Arguments'
 class Arguments;
       ^
../src/dns_sd.cpp:22:39: error: 'Arguments' was not declared in this scope
 Handle<Value> DNSServiceRefDeallocate(Arguments const& args); 
                                       ^
../src/dns_sd.cpp:22:39: note: suggested alternative:
In file included from /usr/local/lib/node_modules/mdns2/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/mdns.hpp:11,
                 from ../src/dns_sd.cpp:1:
/usr/local/lib/node_modules/mdns2/.node-gyp/0.12.0/deps/v8/include/v8.h:127:7: note:   'v8::internal::Arguments'
 class Arguments;
       ^
../src/dns_sd.cpp:23:33: error: 'Arguments' was not declared in this scope
 Handle<Value> DNSServiceResolve(Arguments const& args); 
                                 ^
../src/dns_sd.cpp:23:33: note: suggested alternative:
In file included from /usr/local/lib/node_modules/mdns2/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/mdns.hpp:11,
                 from ../src/dns_sd.cpp:1:
/usr/local/lib/node_modules/mdns2/.node-gyp/0.12.0/deps/v8/include/v8.h:127:7: note:   'v8::internal::Arguments'
 class Arguments;
       ^
../src/dns_sd.cpp:24:42: error: 'Arguments' was not declared in this scope
 Handle<Value> DNSServiceEnumerateDomains(Arguments const& args); 
                                          ^
../src/dns_sd.cpp:24:42: note: suggested alternative:
In file included from /usr/local/lib/node_modules/mdns2/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/mdns.hpp:11,
                 from ../src/dns_sd.cpp:1:
/usr/local/lib/node_modules/mdns2/.node-gyp/0.12.0/deps/v8/include/v8.h:127:7: note:   'v8::internal::Arguments'
 class Arguments;
       ^
../src/dns_sd.cpp:28:31: error: 'Arguments' was not declared in this scope
 Handle<Value> TXTRecordCreate(Arguments const& args); 
                               ^
../src/dns_sd.cpp:28:31: note: suggested alternative:
In file included from /usr/local/lib/node_modules/mdns2/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/mdns.hpp:11,
                 from ../src/dns_sd.cpp:1:
/usr/local/lib/node_modules/mdns2/.node-gyp/0.12.0/deps/v8/include/v8.h:127:7: note:   'v8::internal::Arguments'
 class Arguments;
       ^
../src/dns_sd.cpp:29:35: error: 'Arguments' was not declared in this scope
 Handle<Value> TXTRecordDeallocate(Arguments const& args); 
                                   ^
../src/dns_sd.cpp:29:35: note: suggested alternative:
In file included from /usr/local/lib/node_modules/mdns2/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/mdns.hpp:11,
                 from ../src/dns_sd.cpp:1:
/usr/local/lib/node_modules/mdns2/.node-gyp/0.12.0/deps/v8/include/v8.h:127:7: note:   'v8::internal::Arguments'
 class Arguments;
       ^
../src/dns_sd.cpp:31:33: error: 'Arguments' was not declared in this scope
 Handle<Value> TXTRecordSetValue(Arguments const& args); 
                                 ^
../src/dns_sd.cpp:31:33: note: suggested alternative:
In file included from /usr/local/lib/node_modules/mdns2/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/mdns.hpp:11,
                 from ../src/dns_sd.cpp:1:
/usr/local/lib/node_modules/mdns2/.node-gyp/0.12.0/deps/v8/include/v8.h:127:7: note:   'v8::internal::Arguments'
 class Arguments;
       ^
../src/dns_sd.cpp:32:34: error: 'Arguments' was not declared in this scope
 Handle<Value> TXTRecordGetLength(Arguments const& args); 
                                  ^
../src/dns_sd.cpp:32:34: note: suggested alternative:
In file included from /usr/local/lib/node_modules/mdns2/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/mdns.hpp:11,
                 from ../src/dns_sd.cpp:1:
/usr/local/lib/node_modules/mdns2/.node-gyp/0.12.0/deps/v8/include/v8.h:127:7: note:   'v8::internal::Arguments'
 class Arguments;
       ^
../src/dns_sd.cpp:36:30: error: 'Arguments' was not declared in this scope
 Handle<Value> if_nametoindex(Arguments const& args); 
                              ^
../src/dns_sd.cpp:36:30: note: suggested alternative:
In file included from /usr/local/lib/node_modules/mdns2/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/mdns.hpp:11,
                 from ../src/dns_sd.cpp:1:
/usr/local/lib/node_modules/mdns2/.node-gyp/0.12.0/deps/v8/include/v8.h:127:7: note:   'v8::internal::Arguments'
 class Arguments;
       ^
../src/dns_sd.cpp:37:30: error: 'Arguments' was not declared in this scope
 Handle<Value> if_indextoname(Arguments const& args); 
                              ^
../src/dns_sd.cpp:37:30: note: suggested alternative:
In file included from /usr/local/lib/node_modules/mdns2/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/mdns.hpp:11,
                 from ../src/dns_sd.cpp:1:
/usr/local/lib/node_modules/mdns2/.node-gyp/0.12.0/deps/v8/include/v8.h:127:7: note:   'v8::internal::Arguments'
 class Arguments;
       ^
../src/dns_sd.cpp:41:39: error: 'Arguments' was not declared in this scope
 Handle<Value> txtRecordBufferToObject(Arguments const& args); 
                                       ^
../src/dns_sd.cpp:41:39: note: suggested alternative:
In file included from /usr/local/lib/node_modules/mdns2/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/mdns.hpp:11,
                 from ../src/dns_sd.cpp:1:
/usr/local/lib/node_modules/mdns2/.node-gyp/0.12.0/deps/v8/include/v8.h:127:7: note:   'v8::internal::Arguments'
 class Arguments;
       ^
../src/dns_sd.cpp:42:31: error: 'Arguments' was not declared in this scope
 Handle<Value> exportConstants(Arguments const& args);
                               ^
../src/dns_sd.cpp:42:31: note: suggested alternative:
In file included from /usr/local/lib/node_modules/mdns2/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/mdns.hpp:11,
                 from ../src/dns_sd.cpp:1:
/usr/local/lib/node_modules/mdns2/.node-gyp/0.12.0/deps/v8/include/v8.h:127:7: note:   'v8::internal::Arguments'
 class Arguments;
       ^
../src/dns_sd.cpp:43:40: error: 'v8::Handle<v8::Value> node_mdns::buildException' redeclared as different kind of symbol
 Handle<Value> buildException(Arguments const& args);
                                        ^
In file included from ../src/dns_sd.cpp:5:0:
../src/mdns_utils.hpp:11:22: note: previous declaration 'v8::Local<v8::Value> node_mdns::buildException(DNSServiceErrorType)'
 v8::Local<v8::Value> buildException(DNSServiceErrorType error_code);
                      ^
../src/dns_sd.cpp:43:30: error: 'Arguments' was not declared in this scope
 Handle<Value> buildException(Arguments const& args);
                              ^
../src/dns_sd.cpp:43:30: note: suggested alternative:
In file included from /usr/local/lib/node_modules/mdns2/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/mdns.hpp:11,
                 from ../src/dns_sd.cpp:1:
/usr/local/lib/node_modules/mdns2/.node-gyp/0.12.0/deps/v8/include/v8.h:127:7: note:   'v8::internal::Arguments'
 class Arguments;
       ^
../src/dns_sd.cpp:46:63: error: 'InvocationCallback' has not been declared
 void defineFunction(Handle<Object> target, const char * name, InvocationCallback f);
                                                               ^
In file included from /usr/local/lib/node_modules/mdns2/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/mdns.hpp:11,
                 from ../src/dns_sd.cpp:1:
/usr/local/lib/node_modules/mdns2/.node-gyp/0.12.0/deps/v8/include/v8.h: In function 'void node_mdns::init(v8::Handle<v8::Object>)':
/usr/local/lib/node_modules/mdns2/.node-gyp/0.12.0/deps/v8/include/v8.h:816:13: error: 'v8::HandleScope::HandleScope()' is protected
   V8_INLINE HandleScope() {}
             ^
../src/dns_sd.cpp:51:17: error: within this context
     HandleScope scope;
                 ^
../src/dns_sd.cpp:59:68: error: cannot convert 'v8::Handle<v8::Value>' to 'int' for argument '3' to 'void node_mdns::defineFunction(v8::Handle<v8::Object>, const char*, int)'
     defineFunction(target, "DNSServiceRegister", DNSServiceRegister);
                                                                    ^
../src/dns_sd.cpp:60:70: error: cannot convert 'v8::Handle<v8::Value>' to 'int' for argument '3' to 'void node_mdns::defineFunction(v8::Handle<v8::Object>, const char*, int)'
     defineFunction(target, "DNSServiceRefSockFD", DNSServiceRefSockFD);
                                                                      ^
../src/dns_sd.cpp:61:78: error: cannot convert 'v8::Handle<v8::Value>' to 'int' for argument '3' to 'void node_mdns::defineFunction(v8::Handle<v8::Object>, const char*, int)'
     defineFunction(target, "DNSServiceProcessResult", DNSServiceProcessResult);
                                                                              ^
../src/dns_sd.cpp:62:64: error: cannot convert 'v8::Handle<v8::Value>' to 'int' for argument '3' to 'void node_mdns::defineFunction(v8::Handle<v8::Object>, const char*, int)'
     defineFunction(target, "DNSServiceBrowse", DNSServiceBrowse);
                                                                ^
../src/dns_sd.cpp:63:78: error: cannot convert 'v8::Handle<v8::Value>' to 'int' for argument '3' to 'void node_mdns::defineFunction(v8::Handle<v8::Object>, const char*, int)'
     defineFunction(target, "DNSServiceRefDeallocate", DNSServiceRefDeallocate);
                                                                              ^
../src/dns_sd.cpp:64:66: error: cannot convert 'v8::Handle<v8::Value>' to 'int' for argument '3' to 'void node_mdns::defineFunction(v8::Handle<v8::Object>, const char*, int)'
     defineFunction(target, "DNSServiceResolve", DNSServiceResolve);
                                                                  ^
../src/dns_sd.cpp:66:39: error: cannot convert 'v8::Handle<v8::Value>' to 'int' for argument '3' to 'void node_mdns::defineFunction(v8::Handle<v8::Object>, const char*, int)'
             DNSServiceEnumerateDomains);
                                       ^
../src/dns_sd.cpp:70:62: error: cannot convert 'v8::Handle<v8::Value>' to 'int' for argument '3' to 'void node_mdns::defineFunction(v8::Handle<v8::Object>, const char*, int)'
     defineFunction(target, "TXTRecordCreate", TXTRecordCreate);
                                                              ^
../src/dns_sd.cpp:71:70: error: cannot convert 'v8::Handle<v8::Value>' to 'int' for argument '3' to 'void node_mdns::defineFunction(v8::Handle<v8::Object>, const char*, int)'
     defineFunction(target, "TXTRecordDeallocate", TXTRecordDeallocate);
                                                                      ^
../src/dns_sd.cpp:73:66: error: cannot convert 'v8::Handle<v8::Value>' to 'int' for argument '3' to 'void node_mdns::defineFunction(v8::Handle<v8::Object>, const char*, int)'
     defineFunction(target, "TXTRecordSetValue", TXTRecordSetValue);
                                                                  ^
../src/dns_sd.cpp:74:68: error: cannot convert 'v8::Handle<v8::Value>' to 'int' for argument '3' to 'void node_mdns::defineFunction(v8::Handle<v8::Object>, const char*, int)'
     defineFunction(target, "TXTRecordGetLength", TXTRecordGetLength);
                                                                    ^
../src/dns_sd.cpp:77:60: error: cannot convert 'v8::Handle<v8::Value>' to 'int' for argument '3' to 'void node_mdns::defineFunction(v8::Handle<v8::Object>, const char*, int)'
     defineFunction(target, "if_nametoindex", if_nametoindex);
                                                            ^
../src/dns_sd.cpp:78:60: error: cannot convert 'v8::Handle<v8::Value>' to 'int' for argument '3' to 'void node_mdns::defineFunction(v8::Handle<v8::Object>, const char*, int)'
     defineFunction(target, "if_indextoname", if_indextoname);
                                                            ^
../src/dns_sd.cpp:81:78: error: cannot convert 'v8::Handle<v8::Value>' to 'int' for argument '3' to 'void node_mdns::defineFunction(v8::Handle<v8::Object>, const char*, int)'
     defineFunction(target, "txtRecordBufferToObject", txtRecordBufferToObject);
                                                                              ^
../src/dns_sd.cpp:82:60: error: invalid conversion from 'v8::Local<v8::Value> (*)(DNSServiceErrorType) {aka v8::Local<v8::Value> (*)(int)}' to 'int' [-fpermissive]
     defineFunction(target, "buildException", buildException);
                                                            ^
../src/dns_sd.cpp:46:6: note: initializing argument 3 of 'void node_mdns::defineFunction(v8::Handle<v8::Object>, const char*, int)'
 void defineFunction(Handle<Object> target, const char * name, InvocationCallback f);
      ^
../src/dns_sd.cpp:83:62: error: cannot convert 'v8::Handle<v8::Value>' to 'int' for argument '3' to 'void node_mdns::defineFunction(v8::Handle<v8::Object>, const char*, int)'
     defineFunction(target, "exportConstants", exportConstants);
                                                              ^
../src/dns_sd.cpp: At global scope:
../src/dns_sd.cpp:90:58: error: 'InvocationCallback' has not been declared
 defineFunction(Handle<Object> target, const char * name, InvocationCallback f) {
                                                          ^
../src/dns_sd.cpp: In function 'void node_mdns::defineFunction(v8::Handle<v8::Object>, const char*, int)':
../src/dns_sd.cpp:91:17: error: 'NewSymbol' is not a member of 'v8::String'
     target->Set(String::NewSymbol(name),
                 ^
../src/dns_sd.cpp:92:36: error: invalid conversion from 'int' to 'v8::Isolate*' [-fpermissive]
             FunctionTemplate::New(f)->GetFunction());
                                    ^
In file included from /usr/local/lib/node_modules/mdns2/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/mdns.hpp:11,
                 from ../src/dns_sd.cpp:1:
/usr/local/lib/node_modules/mdns2/.node-gyp/0.12.0/deps/v8/include/v8.h:3455:34: note: initializing argument 1 of 'static v8::Local<v8::FunctionTemplate> v8::FunctionTemplate::New(v8::Isolate*, v8::FunctionCallback, v8::Handle<v8::Value>, v8::Handle<v8::Signature>, int)'
   static Local<FunctionTemplate> New(
                                  ^
../src/dns_sd.cpp: At global scope:
../src/dns_sd.cpp:96:26: error: 'v8::Handle<v8::Value> node_mdns::buildException' redeclared as different kind of symbol
 buildException(Arguments const& args) {
                          ^
In file included from ../src/dns_sd.cpp:5:0:
../src/mdns_utils.hpp:11:22: note: previous declaration 'v8::Local<v8::Value> node_mdns::buildException(DNSServiceErrorType)'
 v8::Local<v8::Value> buildException(DNSServiceErrorType error_code);
                      ^
../src/dns_sd.cpp:96:16: error: 'Arguments' was not declared in this scope
 buildException(Arguments const& args) {
                ^
../src/dns_sd.cpp:96:16: note: suggested alternative:
In file included from /usr/local/lib/node_modules/mdns2/.node-gyp/0.12.0/src/node.h:61:0,
                 from ../src/mdns.hpp:11,
                 from ../src/dns_sd.cpp:1:
/usr/local/lib/node_modules/mdns2/.node-gyp/0.12.0/deps/v8/include/v8.h:127:7: note:   'v8::internal::Arguments'
 class Arguments;
       ^
../src/dns_sd.cpp:321:45: error: expected '}' at end of input
 NODE_MODULE(dns_sd_bindings,node_mdns::init);
                                             ^
dns_sd_bindings.target.mk:134: recipe for target 'Release/obj.target/dns_sd_bindings/src/dns_sd.o' failed
make: Leaving directory '/usr/local/lib/node_modules/mdns2/build'
make: *** [Release/obj.target/dns_sd_bindings/src/dns_sd.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:267:23)
gyp ERR! stack     at ChildProcess.emit (events.js:110:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:1067:12)
gyp ERR! System Linux 3.16.7-tinycore64
gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /usr/local/lib/node_modules/mdns2
gyp ERR! node -v v0.12.0
gyp ERR! node-gyp -v v1.0.2
gyp ERR! not ok 
npm ERR! Linux 3.16.7-tinycore64
npm ERR! argv "node" "/usr/local/bin/npm" "install" "-g" "mdns2"
npm ERR! node v0.12.0
npm ERR! npm  v2.5.0
npm ERR! code ELIFECYCLE

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

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

@chorrell
Copy link
Contributor

I would raise that here: https://github.com/Wizcorp/node_mdns/issues

Node 0.12.0 has a newer version of v8 and going by the errors, it looks like they are hitting something related to that.

@chorrell
Copy link
Contributor

And I get the same v8 related errors on iojs:1.1.0 too:

make: Entering directory '/usr/local/lib/node_modules/pm2-web/node_modules/mdns2/build'
  CXX(target) Release/obj.target/dns_sd_bindings/src/dns_sd.o
In file included from ../src/dns_sd.cpp:5:0:
../src/mdns_utils.hpp: In function 'v8::Handle<v8::Value> node_mdns::throwError(const char*)':
../src/mdns_utils.hpp:16:50: error: 'New' is not a member of 'v8::String'
     return ThrowException( v8::Exception::Error( v8::String::New( message )));
                                                  ^
../src/mdns_utils.hpp:16:77: error: 'ThrowException' was not declared in this scope
     return ThrowException( v8::Exception::Error( v8::String::New( message )));
                                                                             ^
../src/mdns_utils.hpp: In function 'v8::Handle<v8::Value> node_mdns::throwTypeError(const char*)':
../src/mdns_utils.hpp:22:54: error: 'New' is not a member of 'v8::String'
     return ThrowException( v8::Exception::TypeError( v8::String::New( message )));
                                                      ^

etc.

@md5
Copy link

md5 commented Feb 11, 2015

I'm just commenting from the peanut gallery here (sorry).

I took a quick look at https://github.com/Wizcorp/node_mdns and it looks like they're recommending people switch back to https://github.com/agnat/node_mdns, i.e. switching from the mdns2 fork back to the now-maintained mdns. When I tried to npm install -g mdns under node:0.12 (and iojs:1.1.0), it worked fine.

So I guess the fix for anyone reading this is that pm2-web should be updated to use mdns instead of mdns2.

@chorrell
Copy link
Contributor

Oh, interesting. Yeah, worth someone raising with pm2-web I guess (rather than an issue about v8 compat)

@chorrell
Copy link
Contributor

Closing this out.

The main issue was a missing dependency (install libavahi-compat-libdnssd-dev) and the module requires the version of v8 that comes with 0.10.*

@lucaspottersky
Copy link

I've got a similar error while trying to run npm install -g sails.

It worked when I switched from Node 4.0 to Node 0.11

@chorrell
Copy link
Contributor

@lucaspottersky Seems like 4.0.0 support is an open issue? balderdashy/sails#3211

@eschwartz
Copy link

I've had this same issue trying to install npm packages which rely on node-gyp, from inside a docker container. Specifically, I haven't been able to install node-sharp or node-mbtiles.

Here's what I did to fix it (from inside my container):

$ export USER=root
$ export HOME=/tmp
$ sudo npm install mbtiles

I was surprised to have to use sudo, but without it I got the following error:

gyp ERR! configure error 
gyp ERR! stack Error: EACCES: permission denied, mkdir '/opt/map-api/node_modules/mbtiles/node_modules/sqlite3/build'
gyp ERR! stack     at Error (native)
gyp ERR! System Linux 4.0.9-boot2docker
gyp ERR! command "/opt/nodejs/node-v4.2.2-linux-x64/bin/node" "/opt/nodejs/node-v4.2.2-linux-x64/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "--fallback-to-build" "--module=/opt/map-api/node_modules/mbtiles/node_modules/sqlite3/lib/binding/node-v46-linux-x64/node_sqlite3.node" "--module_name=node_sqlite3" "--module_path=/opt/map-api/node_modules/mbtiles/node_modules/sqlite3/lib/binding/node-v46-linux-x64"
gyp ERR! cwd /opt/map-api/node_modules/mbtiles/node_modules/sqlite3
gyp ERR! node -v v4.2.2
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok 
node-pre-gyp ERR! build error 
node-pre-gyp ERR! stack Error: Failed to execute '/opt/nodejs/node-v4.2.2-linux-x64/bin/node /opt/nodejs/node-v4.2.2-linux-x64/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --module=/opt/map-api/node_modules/mbtiles/node_modules/sqlite3/lib/binding/node-v46-linux-x64/node_sqlite3.node --module_name=node_sqlite3 --module_path=/opt/map-api/node_modules/mbtiles/node_modules/sqlite3/lib/binding/node-v46-linux-x64' (1)
node-pre-gyp ERR! stack     at ChildProcess.<anonymous> (/opt/map-api/node_modules/mbtiles/node_modules/sqlite3/node_modules/node-pre-gyp/lib/util/compile.js:83:29)
node-pre-gyp ERR! stack     at emitTwo (events.js:87:13)
node-pre-gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
node-pre-gyp ERR! stack     at maybeClose (internal/child_process.js:818:16)
node-pre-gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)
node-pre-gyp ERR! System Linux 4.0.9-boot2docker
node-pre-gyp ERR! command "/opt/nodejs/node-v4.2.2-linux-x64/bin/node" "/opt/map-api/node_modules/mbtiles/node_modules/sqlite3/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build"
node-pre-gyp ERR! cwd /opt/map-api/node_modules/mbtiles/node_modules/sqlite3
node-pre-gyp ERR! node -v v4.2.2
node-pre-gyp ERR! node-pre-gyp -v v0.6.14
node-pre-gyp ERR! not ok 
Failed to execute '/opt/nodejs/node-v4.2.2-linux-x64/bin/node /opt/nodejs/node-v4.2.2-linux-x64/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --module=/opt/map-api/node_modules/mbtiles/node_modules/sqlite3/lib/binding/node-v46-linux-x64/node_sqlite3.node --module_name=node_sqlite3 --module_path=/opt/map-api/node_modules/mbtiles/node_modules/sqlite3/lib/binding/node-v46-linux-x64' (1)
npm ERR! Linux 4.0.9-boot2docker
npm ERR! argv "/opt/nodejs/node-v4.2.2-linux-x64/bin/node" "/usr/local/bin/npm" "install" "mbtiles"
npm ERR! node v4.2.2
npm ERR! npm  v2.14.7
npm ERR! code ELIFECYCLE

npm ERR! sqlite3@3.1.1 install: `node-pre-gyp install --fallback-to-build`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the sqlite3@3.1.1 install script 'node-pre-gyp install --fallback-to-build'.
npm ERR! This is most likely a problem with the sqlite3 package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-pre-gyp install --fallback-to-build
npm ERR! You can get their info via:
npm ERR!     npm owner ls sqlite3
npm ERR! There is likely additional logging output above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants