nwjs / nw-gyp

native addon build tool for node-webkit
MIT License
195 stars 50 forks source link

Error building node-serialport (Undefined variable module_name in binding.gyp) #69

Closed sweetim closed 9 years ago

sweetim commented 9 years ago

I am currently using Ubuntu 14.04 to build the node-serialport, but I have errors building them and I get the same errors using Windows 8.1 too:

Error: "Undefined variable module_name in binding.gyp"

Version number: Node-webkit = 0.12.2 Node = 0.12.4 Node-serialport = 1.7.1 Python = 2.7.6 nw-gyp = 0.12.4

These are the steps I used to build it. i) npm install serialport ii) cd node_modules/serialport iii) sudo nw-gyp configure --target=0.12.2

Undefined variable module_name in binding.gyp

iv) Saw this post (https://github.com/nwjs/nw.js/wiki/Build-native-modules-with-nw-gyp) and I tried node-pre-gyp build --runtime=node-webkit --target=0.12.2

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/nw-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:1074:12)
gyp ERR! System Linux 3.16.0-38-generic
gyp ERR! command "node" "/usr/local/bin/nw-gyp" "build" "--runtime=node-webkit" "--target=0.12.2" "--module=/home/tim/Project/node/webkit/node_modules/serialport/build/serialport/v1.7.1/Release/node-webkit-v0.12.2-linux-x64/serialport.node" "--module_name=serialport" "--module_path=/home/tim/Project/node/webkit/node_modules/serialport/build/serialport/v1.7.1/Release/node-webkit-v0.12.2-linux-x64"
gyp ERR! cwd /home/tim/Project/node/webkit/node_modules/serialport
gyp ERR! node -v v0.12.4
gyp ERR! nw-gyp -v v0.12.4
gyp ERR! not ok 
node-pre-gyp ERR! build error 
node-pre-gyp ERR! stack Error: Failed to execute 'nw-gyp build --runtime=node-webkit --target=0.12.2 --module=/home/tim/Project/node/webkit/node_modules/serialport/build/serialport/v1.7.1/Release/node-webkit-v0.12.2-linux-x64/serialport.node --module_name=serialport --module_path=/home/tim/Project/node/webkit/node_modules/serialport/build/serialport/v1.7.1/Release/node-webkit-v0.12.2-linux-x64' (1)
node-pre-gyp ERR! stack     at ChildProcess.<anonymous> (/home/tim/Project/node/webkit/node_modules/serialport/node_modules/node-pre-gyp/lib/util/compile.js:83:29)
node-pre-gyp ERR! stack     at ChildProcess.emit (events.js:110:17)
node-pre-gyp ERR! stack     at maybeClose (child_process.js:1015:16)
node-pre-gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:1087:5)
node-pre-gyp ERR! System Linux 3.16.0-38-generic
node-pre-gyp ERR! command "node" "/home/tim/Project/node/webkit/node_modules/serialport/node_modules/.bin/node-pre-gyp" "build" "--runtime=node-webkit" "--target=0.12.2"
node-pre-gyp ERR! cwd /home/tim/Project/node/webkit/node_modules/serialport
node-pre-gyp ERR! node -v v0.12.4
node-pre-gyp ERR! node-pre-gyp -v v0.6.7
node-pre-gyp ERR! not ok 
Failed to execute 'nw-gyp build --runtime=node-webkit --target=0.12.2 --module=/home/tim/Project/node/webkit/node_modules/serialport/build/serialport/v1.7.1/Release/node-webkit-v0.12.2-linux-x64/serialport.node --module_name=serialport --module_path=/home/tim/Project/node/webkit/node_modules/serialport/build/serialport/v1.7.1/Release/node-webkit-v0.12.2-linux-x64' (1)

any idea how to fix this?

sweetim commented 9 years ago

Run all these in Adminstrator mode

Switch to the serialport modul directory: cd node_modules\serialport

Make a clean: node-pre-gyp clean

Configure the build process: node-pre-gyp configure --runtime=node-webkit --target=0.12.2 Build the module for node-webkit: node-pre-gyp build --runtime=node-webkit --target=0.12.2

After all I have to change the directoryname from /node_modules/serialport/build/serialport/v1.6.3/Release/node-webkit-v0.12.0-win32-x64\ to /node_modules/serialport/build/serialport/v1.6.3/Release/node-webkit-v43-win32-x64\