Setting up X-Carve on wifi with Raspberry Pi -- build error

Hi all! I am setting up my X-Carve to run wirelessly with Raspberry Pi (using this tutorial) and am getting the error message pasted below (image of error followed by full text). Installing “forever” and “forever-service” work fine but when I try to install “xcarve-server” I get the error.

I am running a Raspberry Pi 2 Model B V 1.1, Raspbian Jessie v 4.4 (May 27, 2016 release), and node.js v 4.0.0.

Any help would be greatly appreciated, thanks so much!



pi@raspberrypi:~ npm install -g xcarve-server

epoll@0.1.19 install /usr/local/lib/node_modules/xcarve-server/node_modules/onoff/node_modules/epoll
node-gyp rebuild

make: Entering directory ‘/usr/local/lib/node_modules/xcarve-server/node_modules/onoff/node_modules/epoll/build’
CXX(target) Release/obj.target/epoll/src/epoll.o
SOLINK_MODULE(target) Release/obj.target/epoll.node
COPY Release/epoll.node
make: Leaving directory ‘/usr/local/lib/node_modules/xcarve-server/node_modules/onoff/node_modules/epoll/build’

bufferutil@1.2.1 install /usr/local/lib/node_modules/xcarve-server/node_modules/socket.io/node_modules/engine.io/node_modules/ws/node_modules/bufferutil
node-gyp rebuild

make: Entering directory ‘/usr/local/lib/node_modules/xcarve-server/node_modules/socket.io/node_modules/engine.io/node_modules/ws/node_modules/bufferutil/build’
CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
SOLINK_MODULE(target) Release/obj.target/bufferutil.node
COPY Release/bufferutil.node
make: Leaving directory ‘/usr/local/lib/node_modules/xcarve-server/node_modules/socket.io/node_modules/engine.io/node_modules/ws/node_modules/bufferutil/build’

utf-8-validate@1.2.1 install /usr/local/lib/node_modules/xcarve-server/node_modules/socket.io/node_modules/engine.io/node_modules/ws/node_modules/utf-8-validate
node-gyp rebuild

make: Entering directory ‘/usr/local/lib/node_modules/xcarve-server/node_modules/socket.io/node_modules/engine.io/node_modules/ws/node_modules/utf-8-validate/build’
CXX(target) Release/obj.target/validation/src/validation.o
SOLINK_MODULE(target) Release/obj.target/validation.node
COPY Release/validation.node
make: Leaving directory ‘/usr/local/lib/node_modules/xcarve-server/node_modules/socket.io/node_modules/engine.io/node_modules/ws/node_modules/utf-8-validate/build’

utf-8-validate@1.2.1 install /usr/local/lib/node_modules/xcarve-server/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/utf-8-validate
node-gyp rebuild

make: Entering directory ‘/usr/local/lib/node_modules/xcarve-server/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/utf-8-validate/build’
CXX(target) Release/obj.target/validation/src/validation.o
SOLINK_MODULE(target) Release/obj.target/validation.node
COPY Release/validation.node
make: Leaving directory ‘/usr/local/lib/node_modules/xcarve-server/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/utf-8-validate/build’

bufferutil@1.2.1 install /usr/local/lib/node_modules/xcarve-server/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/bufferutil
node-gyp rebuild

make: Entering directory ‘/usr/local/lib/node_modules/xcarve-server/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/bufferutil/build’
CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
SOLINK_MODULE(target) Release/obj.target/bufferutil.node
COPY Release/bufferutil.node
make: Leaving directory ‘/usr/local/lib/node_modules/xcarve-server/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/bufferutil/build’

serialport@1.7.4 install /usr/local/lib/node_modules/xcarve-server/node_modules/serialport
node-pre-gyp install --fallback-to-build

make: Entering directory ‘/usr/local/lib/node_modules/xcarve-server/node_modules/serialport/build’
CXX(target) Release/obj.target/serialport/src/serialport.o
In file included from …/src/serialport.h:5:0,
from …/src/serialport.cpp:3:
…/node_modules/nan/nan.h:261:25: error: redefinition of ‘template v8::Local _NanEnsureLocal(v8::Local)’
NAN_INLINE v8::Local _NanEnsureLocal(v8::Local val) {
^
…/node_modules/nan/nan.h:256:25: note: ‘template v8::Local _NanEnsureLocal(v8::Handle)’ previously declared here
NAN_INLINE v8::Local _NanEnsureLocal(v8::Handle val) {
^
…/node_modules/nan/nan.h:661:13: error: ‘node::smalloc’ has not been declared
, node::smalloc::FreeCallback callback
^
…/node_modules/nan/nan.h:661:35: error: expected ‘,’ or ‘…’ before ‘callback’
, node::smalloc::FreeCallback callback
^
…/node_modules/nan/nan.h: In function ‘v8::Localv8::Object NanNewBufferHandle(char*, size_t, int)’:
…/node_modules/nan/nan.h:665:50: error: ‘callback’ was not declared in this scope
v8::Isolate::GetCurrent(), data, length, callback, hint);
^
…/node_modules/nan/nan.h:665:60: error: ‘hint’ was not declared in this scope
v8::Isolate::GetCurrent(), data, length, callback, hint);
^
…/node_modules/nan/nan.h: In function ‘v8::Localv8::Object NanNewBufferHandle(const char*, uint32_t)’:
…/node_modules/nan/nan.h:672:67: error: call of overloaded ‘New(v8::Isolate*, const char*&, uint32_t&)’ is ambiguous
return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
^
…/node_modules/nan/nan.h:672:67: note: candidates are:
In file included from …/node_modules/nan/nan.h:25:0,
from …/src/serialport.h:5,
from …/src/serialport.cpp:3:
/home/pi/.node-gyp/4.0.0/include/node/node_buffer.h:31:40: note: v8::MaybeLocalv8::Object node::Buffer::New(v8::Isolate*, v8::Localv8::String, node::encoding)
NODE_EXTERN v8::MaybeLocalv8::Object New(v8::Isolate* isolate,
^
/home/pi/.node-gyp/4.0.0/include/node/node_buffer.h:31:40: note: no known conversion for argument 3 from ‘uint32_t {aka unsigned int}’ to ‘node::encoding’
/home/pi/.node-gyp/4.0.0/include/node/node_buffer.h:43:40: note: v8::MaybeLocalv8::Object node::Buffer::New(v8::Isolate*, char*, size_t)
NODE_EXTERN v8::MaybeLocalv8::Object New(v8::Isolate* isolate,
^
/home/pi/.node-gyp/4.0.0/include/node/node_buffer.h:43:40: note: no known conversion for argument 2 from ‘const char*’ to ‘char*’
In file included from …/src/serialport.h:5:0,
from …/src/serialport.cpp:3:
…/node_modules/nan/nan.h: In function ‘v8::Localv8::Object NanNewBufferHandle(uint32_t)’:
…/node_modules/nan/nan.h:676:61: error: could not convert ‘node::Buffer::New(v8::Isolate::GetCurrent(), size)’ from ‘v8::MaybeLocalv8::Object’ to ‘v8::Localv8::Object
return node::Buffer::New(v8::Isolate::GetCurrent(), size);
^
…/node_modules/nan/nan.h: In function ‘v8::Localv8::Object NanBufferUse(char*, uint32_t)’:
…/node_modules/nan/nan.h:683:12: error: ‘Use’ is not a member of ‘node::Buffer’
return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size);
^
serialport.target.mk:90: recipe for target ‘Release/obj.target/serialport/src/serialport.o’ failed
make: *** [Release/obj.target/serialport/src/serialport.o] Error 1
make: Leaving directory ‘/usr/local/lib/node_modules/xcarve-server/node_modules/serialport/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 4.4.11-v7+
gyp ERR! command “/usr/local/bin/node” “/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js” “build” “–fallback-to-build” “–module=/usr/local/lib/node_modules/xcarve-server/node_modules/serialport/build/serialport/v1.7.4/Release/node-v46-linux-arm/serialport.node” “–module_name=serialport” “–module_path=/usr/local/lib/node_modules/xcarve-server/node_modules/serialport/build/serialport/v1.7.4/Release/node-v46-linux-arm”
gyp ERR! cwd /usr/local/lib/node_modules/xcarve-server/node_modules/serialport
gyp ERR! node -v v4.0.0
gyp ERR! node-gyp -v v3.0.1
gyp ERR! not ok
node-pre-gyp ERR! build error
node-pre-gyp ERR! stack Error: Failed to execute ‘/usr/local/bin/node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/usr/local/lib/node_modules/xcarve-server/node_modules/serialport/build/serialport/v1.7.4/Release/node-v46-linux-arm/serialport.node --module_name=serialport --module_path=/usr/local/lib/node_modules/xcarve-server/node_modules/serialport/build/serialport/v1.7.4/Release/node-v46-linux-arm’ (1)
node-pre-gyp ERR! stack at ChildProcess. (/usr/local/lib/node_modules/xcarve-server/node_modules/serialport/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:817:16)
node-pre-gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)
node-pre-gyp ERR! System Linux 4.4.11-v7+
node-pre-gyp ERR! command “/usr/local/bin/node” “/usr/local/lib/node_modules/xcarve-server/node_modules/serialport/node_modules/.bin/node-pre-gyp” “install” “–fallback-to-build”
node-pre-gyp ERR! cwd /usr/local/lib/node_modules/xcarve-server/node_modules/serialport
node-pre-gyp ERR! node -v v4.0.0
node-pre-gyp ERR! node-pre-gyp -v v0.6.7
node-pre-gyp ERR! not ok
Failed to execute ‘/usr/local/bin/node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/usr/local/lib/node_modules/xcarve-server/node_modules/serialport/build/serialport/v1.7.4/Release/node-v46-linux-arm/serialport.node --module_name=serialport --module_path=/usr/local/lib/node_modules/xcarve-server/node_modules/serialport/build/serialport/v1.7.4/Release/node-v46-linux-arm’ (1)
npm ERR! Linux 4.4.11-v7+
npm ERR! argv “/usr/local/bin/node” “/usr/local/bin/npm” “install” “-g” “xcarve-server”
npm ERR! node v4.0.0
npm ERR! npm v2.14.2
npm ERR! code ELIFECYCLE

npm ERR! serialport@1.7.4 install: node-pre-gyp install --fallback-to-build
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the serialport@1.7.4 install script ‘node-pre-gyp install --fallback-to-build’.
npm ERR! This is most likely a problem with the serialport 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 serialport
npm ERR! There is likely additional logging output above.

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


I have a small setup with my raspberry pi 3 with a touch screen, and i downloaded the json server on it and its been working for me pretty well, i havent tried anything huge that has alot of gcode in it… i just have ubuntu mate loaded with json server on it to boot at startup and i connect to it wirelessly from my laptop. Hope this helps