eclipse / mraa

Linux Library for low speed IO Communication in C with bindings for C++, Python, Node.js & Java. Supports generic io platforms, as well as Intel Edison, Intel Joule, Raspberry Pi and many more.
http://mraa.io
MIT License
1.37k stars 614 forks source link

mraa not properly installing on Edison running node 0.12.27+ #357

Closed mikaye closed 8 years ago

mikaye commented 8 years ago

After upgrading my edison to node 0.12.27, mraa@0.8.1 fails to npm install. I double checked that npm install works fine for mraa@0.8.0.

tingleby commented 8 years ago

How does it fail, Could you provide the output from NPM perhaps.

mikaye commented 8 years ago

Console - make: *\ [Release/obj.target/mraa/src/mraajsJAVASCRIPT_wrap.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:269: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.10.17-poky-edison+ gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /home/root/tmp/node_modules/mraa gyp ERR! node -v v0.12.7 gyp ERR! node-gyp -v v2.0.1 gyp ERR! not ok npm ERR! Linux 3.10.17-poky-edison+ npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "mraa" npm ERR! node v0.12.7 npm ERR! npm v2.11.3 npm ERR! code ELIFECYCLE

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

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

npm-debug.log 0 info it worked if it ends with ok 1 verbose cli [ '/usr/local/bin/node', '/usr/local/bin/npm', 'install', 'mraa' ] 2 info using npm@2.11.3 3 info using node@v0.12.7 4 verbose install initial load of /home/root/tmp/package.json 5 verbose installManyTop reading scoped package data from /home/root/tmp/nodemodules/mraa/package.json 6 info package.json mraa@0.8.1 No repository field. 7 verbose readDependencies loading dependencies from /home/root/tmp/package.json 8 verbose install mraa is installed as 0.8.1 9 silly cache add args [ 'mraa', null ] 10 verbose cache add spec mraa 11 silly cache add parsed spec { raw: 'mraa', 11 silly cache add scope: null, 11 silly cache add name: 'mraa', 11 silly cache add rawSpec: '', 11 silly cache add spec: '', 11 silly cache add type: 'range' } 12 silly addNamed mraa@ 13 verbose addNamed "" is a valid semver range for mraa 14 silly addNameRange { name: 'mraa', range: '', hasData: false } 15 silly mapToRegistry name mraa 16 silly mapToRegistry using default registry 17 silly mapToRegistry registry https://registry.npmjs.org/ 18 silly mapToRegistry uri https://registry.npmjs.org/mraa 19 verbose addNameRange registry:https://registry.npmjs.org/mraa not in flight; fetching 20 verbose request uri https://registry.npmjs.org/mraa 21 verbose request no auth needed 22 info attempt registry request try #1 at 17:36:48 23 verbose request id d0700a5389408431 24 verbose etag "A8U7CZY0M62W8UVVJADPI2K4J" 25 http request GET https://registry.npmjs.org/mraa 26 http 304 https://registry.npmjs.org/mraa 27 silly get cb [ 304, 27 silly get { date: 'Mon, 09 Nov 2015 17:36:48 GMT', 27 silly get via: '1.1 varnish', 27 silly get 'cache-control': 'max-age=60', 27 silly get etag: '"A8U7CZY0M62W8UVVJADPI2K4J"', 27 silly get age: '0', 27 silly get connection: 'keep-alive', 27 silly get 'x-served-by': 'cache-sjc3122-SJC', 27 silly get 'x-cache': 'MISS', 27 silly get 'x-cache-hits': '0', 27 silly get 'x-timer': 'S1447090608.509139,VS0,VE335', 27 silly get vary: 'Accept' } ] 28 verbose etag https://registry.npmjs.org/mraa from cache 29 verbose get saving mraa to /home/root/.npm/registry.npmjs.org/mraa/.cache.json 30 silly addNameRange number 2 { name: 'mraa', range: '', hasData: true } 31 silly addNameRange versions [ 'mraa', 31 silly addNameRange [ '0.5.2-46-gd4552fd', 31 silly addNameRange '0.5.2-47-ga38c07f', 31 silly addNameRange '0.5.2-48-g0ca4b10', 31 silly addNameRange '0.5.2-49-gabd538d', 31 silly addNameRange '0.5.2-50-g8be861a', 31 silly addNameRange '0.5.2-51-g276b0a8', 31 silly addNameRange '0.5.2-62-g0289c63', 31 silly addNameRange '0.5.2-63-gd1185ef', 31 silly addNameRange '0.5.3', 31 silly addNameRange '0.5.3-2-g9684915', 31 silly addNameRange '0.5.3-3-g36e24ba', 31 silly addNameRange '0.5.3-4-g14f4567', 31 silly addNameRange '0.5.3-5-g1b059c1', 31 silly addNameRange '0.5.3-6-g7ad78d0', 31 silly addNameRange '0.5.3-7-gacc3476', 31 silly addNameRange '0.5.4', 31 silly addNameRange '0.5.4-2-g8aa2ccc', 31 silly addNameRange '0.5.4-1-ged1fc6c', 31 silly addNameRange '0.5.4-2-gffdd828', 31 silly addNameRange '0.5.4-5-g1ee0548', 31 silly addNameRange '0.5.4-6-gcf1a864', 31 silly addNameRange '0.5.4-14-gaff8811', 31 silly addNameRange '0.5.4-20-g82eee9b', 31 silly addNameRange '0.5.4-21-g71913b9', 31 silly addNameRange '0.5.4-22-gbd16ecc', 31 silly addNameRange '0.5.4-24-g2c5e749', 31 silly addNameRange '0.5.4-25-g0c086d8', 31 silly addNameRange '0.5.4-26-gda15fdb', 31 silly addNameRange '0.5.4-27-g643bb99', 31 silly addNameRange '0.5.4-28-g4944f42', 31 silly addNameRange '0.5.4-29-gf277e7d', 31 silly addNameRange '0.5.4-30-gf6a05b1', 31 silly addNameRange '0.5.4-31-gf7256f1', 31 silly addNameRange '0.5.4-32-g71118af', 31 silly addNameRange '0.5.4-34-g4d8b82e', 31 silly addNameRange '0.5.4-36-ge5835fa', 31 silly addNameRange '0.5.4-37-g3c4742c', 31 silly addNameRange '0.5.4-38-gd58adef', 31 silly addNameRange '0.5.4-41-g2574efd', 31 silly addNameRange '0.5.4-42-ge7649db', 31 silly addNameRange '0.5.4-45-gbc05ce7', 31 silly addNameRange '0.5.4-46-g74d172c', 31 silly addNameRange '0.5.4-63-gec5c09f', 31 silly addNameRange '0.5.4-64-g3efb7a0', 31 silly addNameRange '0.5.4-65-ga76061a', 31 silly addNameRange '0.5.4-66-g44d6ebf', 31 silly addNameRange '0.5.4-66-g62c3264', 31 silly addNameRange '0.5.4-71-g17ee0c9', 31 silly addNameRange '0.5.4-76-g5af1197', 31 silly addNameRange '0.5.4-78-g21962f4', 31 silly addNameRange '0.5.4-79-gc3e43e5', 31 silly addNameRange '0.5.4-80-g50ca84b', 31 silly addNameRange '0.5.4-81-g5daad72', 31 silly addNameRange '0.5.4-82-g66eb476', 31 silly addNameRange '0.5.4-83-g20d2291', 31 silly addNameRange '0.5.4-84-ged4c68e', 31 silly addNameRange '0.5.4-85-g9cfbc87', 31 silly addNameRange '0.5.4-86-g97d5a3e', 31 silly addNameRange '0.5.4-88-g4e59917', 31 silly addNameRange '0.5.4-89-gc3980c2', 31 silly addNameRange '0.5.4-90-ge23325d', 31 silly addNameRange '0.5.4-91-g456646c', 31 silly addNameRange '0.5.4-92-g067487f', 31 silly addNameRange '0.5.4-94-ge8bc227', 31 silly addNameRange '0.5.4-95-gfb54307', 31 silly addNameRange '0.5.4-96-g94dd44a', 31 silly addNameRange '0.5.4-97-g212be29', 31 silly addNameRange '0.5.4-98-gd88da13', 31 silly addNameRange '0.5.4-100-g6c73a8a', 31 silly addNameRange '0.5.4-101-g82bb1c5', 31 silly addNameRange '0.5.4-102-ge68546a', 31 silly addNameRange '0.5.4-103-g4d81fec', 31 silly addNameRange '0.5.4-104-g019b0a5', 31 silly addNameRange '0.5.4-105-gbaa1a0a', 31 silly addNameRange '0.5.4-106-gdbc64fb', 31 silly addNameRange '0.5.4-107-gcd6701d', 31 silly addNameRange '0.5.4-108-ge7c3c17', 31 silly addNameRange '0.5.4-109-g8ccefe9', 31 silly addNameRange '0.5.4-110-g459ecc0', 31 silly addNameRange '0.5.4-112-g2dc79dd', 31 silly addNameRange '0.5.4-115-g403424e', 31 silly addNameRange '0.5.4-118-g818e1a8', 31 silly addNameRange '0.5.4-121-g2965665', 31 silly addNameRange '0.5.4-126-g989566b', 31 silly addNameRange '0.5.4-127-gcd36880', 31 silly addNameRange '0.5.4-134-gd6891e8', 31 silly addNameRange '0.5.4-135-gdd80730', 31 silly addNameRange '0.5.4-137-g9d80b12', 31 silly addNameRange '0.5.4-138-g163a40e', 31 silly addNameRange '0.5.4-139-gefdbf4b', 31 silly addNameRange '0.5.4-140-g797b137', 31 silly addNameRange '0.5.4-141-ga2220e3', 31 silly addNameRange '0.6.1', 31 silly addNameRange '0.6.1-2-ga747c80', 31 silly addNameRange '0.6.1-5-g3b3b940', 31 silly addNameRange '0.6.1-6-g10f450b', 31 silly addNameRange '0.6.1-7-g76ffa35', 31 silly addNameRange '0.6.1-8-g2c74ba7', 31 silly addNameRange '0.6.1-9-g677af12', 31 silly addNameRange '0.6.1-10-gf33880c', 31 silly addNameRange '0.6.1-11-g7375146', 31 silly addNameRange '0.6.1-12-gf854a2b', 31 silly addNameRange '0.6.1-14-g0dd0395', 31 silly addNameRange '0.6.1-15-g228b7b6', 31 silly addNameRange '0.6.1-16-gc621fad', 31 silly addNameRange '0.6.1-17-g805d22f', 31 silly addNameRange '0.6.1-18-g62213fa', 31 silly addNameRange '0.6.1-21-g8b0b9f1', 31 silly addNameRange '0.6.1-22-ge03eec3', 31 silly addNameRange '0.6.1-31-g2174ee1', 31 silly addNameRange '0.6.1-32-gffcf3d7', 31 silly addNameRange '0.6.1-33-g2388fb9', 31 silly addNameRange '0.6.1-34-g52c5376', 31 silly addNameRange '0.6.1-36-gbe4312e', 31 silly addNameRange '0.6.2', 31 silly addNameRange '0.7.0', 31 silly addNameRange '0.7.1', 31 silly addNameRange '0.7.2', 31 silly addNameRange '0.7.3', 31 silly addNameRange '0.7.4', 31 silly addNameRange '0.7.5', 31 silly addNameRange '0.8.0', 31 silly addNameRange '0.8.1' ] ] 32 silly addNamed mraa@0.8.1 33 verbose addNamed "0.8.1" is a plain semver version for mraa 34 silly cache afterAdd mraa@0.8.1 35 verbose afterAdd /home/root/.npm/mraa/0.8.1/package/package.json not in flight; writing 36 verbose afterAdd /home/root/.npm/mraa/0.8.1/package/package.json written 37 silly install resolved [ { name: 'mraa', 37 silly install resolved description: 'IO library that helps you use I2c, SPI, gpio, uart, pwm, analog inputs (aio) and more on a number of platforms such as the Intel galileo, the Intel edison and others', 37 silly install resolved keywords: 37 silly install resolved [ 'gpio', 37 silly install resolved 'edison', 37 silly install resolved 'galileo', 37 silly install resolved 'io', 37 silly install resolved 'mraajs', 37 silly install resolved 'spi', 37 silly install resolved 'i2c', 37 silly install resolved 'minnow', 37 silly install resolved 'intel' ], 37 silly install resolved homepage: 'http://github.com/intel-iot-devkit/mraa', 37 silly install resolved main: './build/Release/mraa.node', 37 silly install resolved engines: { node: '>= 0.10.x' }, 37 silly install resolved bugs: { url: 'http://github.com/intel-iot-devkit/mraa/issues' }, 37 silly install resolved license: 'MIT', 37 silly install resolved version: '0.8.1', 37 silly install resolved authors: 'See github.com/intel-iot-devkit/mraa/graphs/contributors', 37 silly install resolved scripts: { install: 'node-gyp rebuild' }, 37 silly install resolved gypfile: true, 37 silly install resolved readme: 'libmraa - Low Level Skeleton Library for Communication on GNU/Linux platforms\n==============\n\nLibmraa is a C/C++ library with bindings to javascript & python to interface\nwith the IO on Galileo, Edison & other platforms, with a structured and sane\nAPI where port names/numbering matches the board that you are on. Use of\nlibmraa does not tie you to specific hardware with board detection done at\nruntime you can create portable code that will work across the supported\nplatforms.\n\nThe intent is to make it easier for developers and sensor manufacturers to map\ntheir sensors & actuators on top of supported hardware and to allow control of\nlow level communication protocol by high level languages & constructs.\n\nSupported Boards\n================\n\nX86\n---\n_ Galileo Gen 1 - Rev D\n* Galileo Gen 2 - Rev H\n* Edison\n* Intel DE3815\n* Minnowboard Max\n* NUC 5th generation\n\nARM\n---\n* Raspberry Pi\n* Bannana Pi\n* Beaglebone Black\n\nUSB\n---\n* FT4222\n\nInstalling on your board\n========\n\nSee the section below on compiling or use our repository to install on an\neglibc based yocto poky image that supports opkg. Adding this repository is as\nsimple as and you\'ll have the latest stable tagged build of mraa installed!\n\nbash\necho "src mraa-upm http://iotdk.intel.com/repos/2.0/intelgalactic" > /etc/opkg/mraa-upm.conf\nopkg update\nopkg install libmraa0\n\n\nIf you would like to get the latest & greatest builds from master HEAD you can\nuse our -dev repository\n\nbash\necho "src mraa-upm http://iotdk.intel.com/repos/2.0/intelgalactic-dev" > /etc/opkg/mraa-upm.conf\nopkg update\nopkg install libmraa0\n\n\nYou can also install just the node.js mraa module by using npm. You will need a\nC++ compiler and the node development headers, however it\'s not required to\nhave SWIG installed.\n\nbash\nnpm install mraa\n\n\nCompiling\n=========\n\nSee documentation on building\n\nExamples\n========\n\nSee the examples available for various languages\n\nDebugging\n=========\n\nSometimes it just doesn\'t want to work, let us try and help you, you can file\nissues in github or join us in #mraa on freenode IRC, hang around for a little\nwhile because we\'re not necessarily on 24/7, but we\'ll get back to you! Have a\nglance at our debugging page too.\n\nC/C++ API Documentation\n===========\n\nThe C/C++ documentation is available here\n\nPython API Documentation\n===========\n\nThe Python documentation is available here\n\nNodeJS API documentation\n===========\n\nThe Javascript documention is available here\n', 37 silly install resolved readmeFilename: 'README.md', 37 silly install resolved _id: 'mraa@0.8.1', 37 silly install resolved _shasum: 'f7bb356971542eac9f14b9a65582d41c54334981', 37 silly install resolved _from: 'mraa@*', 37 silly install resolved _resolved: 'https://registry.npmjs.org/mraa/-/mraa-0.8.1.tgz' } ] 38 info install mraa@0.8.1 into /home/root/tmp 39 info installOne mraa@0.8.1 40 verbose installOne of mraa to /home/root/tmp not in flight; installing 41 verbose lock using /home/root/.npm/_locks/mraa-696f484cad6906af.lock for /home/root/tmp/node_modules/mraa 42 silly install write writing mraa 0.8.1 to /home/root/tmp/node_modules/mraa 43 verbose unbuild node_modules/mraa 44 info preuninstall mraa@0.8.1 45 info uninstall mraa@0.8.1 46 verbose unbuild rmStuff mraa@0.8.1 from /home/root/tmp/node_modules 47 info postuninstall mraa@0.8.1 48 silly gentlyRm /home/root/tmp/node_modules/mraa is being purged from base /home/root/tmp 49 verbose gentlyRm don't care about contents; nuking /home/root/tmp/node_modules/mraa 50 silly vacuum-fs purging /home/root/tmp/node_modules/mraa 51 silly vacuum-fs removing /home/root/tmp/node_modules 52 silly vacuum-fs finished vacuuming up to /home/root/tmp 53 verbose tar unpack /home/root/.npm/mraa/0.8.1/package.tgz 54 verbose tar unpacking to /home/root/tmp/node_modules/mraa 55 silly gentlyRm /home/root/tmp/node_modules/mraa is being purged 56 verbose gentlyRm don't care about contents; nuking /home/root/tmp/node_modules/mraa 57 silly gunzTarPerm modes [ '755', '644' ] 58 silly gunzTarPerm extractEntry 59 silly gunzTarPerm extractEntry .clang-format 60 silly gunzTarPerm extractEntry src/ 61 silly gunzTarPerm extractEntry src/version.c 62 silly gunzTarPerm extractEntry src/uart/ 63 silly gunzTarPerm extractEntry src/uart/uart.c 64 silly gunzTarPerm extractEntry src/doxy2swig.py 65 silly gunzTarPerm extractEntry src/gpio/ 66 silly gunzTarPerm extractEntry src/gpio/gpio.c 67 silly gunzTarPerm extractEntry src/mraa.i 68 silly gunzTarPerm extractEntry src/aio/ 69 silly gunzTarPerm extractEntry src/aio/aio.c 70 silly gunzTarPerm extractEntry src/arm/ 71 silly gunzTarPerm extractEntry src/arm/beaglebone.c 72 silly gunzTarPerm extractEntry src/arm/raspberry_pi.c 73 silly gunzTarPerm extractEntry src/arm/CMakeLists.txt 74 silly gunzTarPerm extractEntry src/arm/arm.c 75 silly gunzTarPerm extractEntry src/arm/banana.c 76 silly gunzTarPerm extractEntry src/i2c/ 77 silly gunzTarPerm extractEntry src/i2c/LICENSE 78 silly gunzTarPerm extractEntry src/i2c/i2c.c 79 silly gunzTarPerm extractEntry src/python/ 80 silly gunzTarPerm extractEntry src/python/mraa.i 81 silly gunzTarPerm extractEntry src/python/docs/ 82 silly gunzTarPerm extractEntry src/python/docs/example.rst 83 silly gunzTarPerm extractEntry src/python/docs/mraa.rst 84 silly gunzTarPerm extractEntry src/python/docs/conf.py.in 85 silly gunzTarPerm extractEntry src/python/docs/index.rst 86 silly gunzTarPerm extractEntry src/python/docs/CMakeLists.txt 87 silly gunzTarPerm extractEntry src/python/CMakeLists.txt 88 silly gunzTarPerm extractEntry src/x86/ 89 silly gunzTarPerm extractEntry src/x86/intel_galileo_rev_g.c 90 silly gunzTarPerm extractEntry src/x86/intel_galileo_rev_d.c 91 silly gunzTarPerm extractEntry src/x86/intel_minnow_byt_compatible.c 92 silly gunzTarPerm extractEntry src/x86/intel_de3815.c 93 silly gunzTarPerm extractEntry src/x86/CMakeLists.txt 94 silly gunzTarPerm extractEntry src/x86/intel_nuc5.c 95 silly gunzTarPerm extractEntry src/x86/intel_edison_fab_c.c 96 silly gunzTarPerm extractEntry src/x86/x86.c 97 silly gunzTarPerm extractEntry src/javascript/ 98 silly gunzTarPerm extractEntry src/javascript/mraajs.i 99 silly gunzTarPerm extractEntry src/javascript/doxygen2jsdoc_custom.json 100 silly gunzTarPerm extractEntry src/javascript/CMakeLists.txt 101 silly gunzTarPerm extractEntry src/javascript/binding.gyp.cmake 102 silly gunzTarPerm extractEntry src/javascript/package.json.cmake 103 silly gunzTarPerm extractEntry src/java/ 104 silly gunzTarPerm extractEntry src/java/CMakeLists.txt 105 silly gunzTarPerm extractEntry src/java/mraajava.i 106 silly gunzTarPerm extractEntry src/usb/ 107 silly gunzTarPerm extractEntry src/usb/usb.c 108 silly gunzTarPerm extractEntry src/usb/ftdi_ft4222.c 109 silly gunzTarPerm extractEntry src/usb/CMakeLists.txt 110 silly gunzTarPerm extractEntry src/spi/ 111 silly gunzTarPerm extractEntry src/spi/spi.c 112 silly gunzTarPerm extractEntry src/pwm/ 113 silly gunzTarPerm extractEntry src/pwm/pwm.c 114 silly gunzTarPerm extractEntry src/CMakeLists.txt 115 silly gunzTarPerm extractEntry src/mraajsJAVASCRIPT_wrap.cxx 116 silly gunzTarPerm extractEntry src/mraa.c 117 silly gunzTarPerm extractEntry src/mraa.pc.cmake 118 silly gunzTarPerm extractEntry examples/ 119 silly gunzTarPerm extractEntry examples/hellomraa.c 120 silly gunzTarPerm extractEntry examples/analogin_a0.c 121 silly gunzTarPerm extractEntry examples/mraa-i2c.c 122 silly gunzTarPerm extractEntry examples/blink-io.c 123 silly gunzTarPerm extractEntry examples/mmap-io2.c 124 silly gunzTarPerm extractEntry examples/samples.mapping.txt 125 silly gunzTarPerm extractEntry examples/python/ 126 silly gunzTarPerm extractEntry examples/python/blink-io8.py 127 silly gunzTarPerm extractEntry examples/python/rgblcd.py 128 silly gunzTarPerm extractEntry examples/python/hello_isr.py 129 silly gunzTarPerm extractEntry examples/python/cycle-pwm3.py 130 silly gunzTarPerm extractEntry examples/python/spi.py 131 silly gunzTarPerm extractEntry examples/python/uart.py 132 silly gunzTarPerm extractEntry examples/python/aio.py 133 silly gunzTarPerm extractEntry examples/python/bmp85.py 134 silly gunzTarPerm extractEntry examples/python/hello_gpio.py 135 silly gunzTarPerm extractEntry examples/javascript/ 136 silly gunzTarPerm extractEntry examples/javascript/spi.js 137 silly gunzTarPerm extractEntry examples/javascript/bmp85.js 138 silly gunzTarPerm extractEntry examples/javascript/rgblcd.js 139 silly gunzTarPerm extractEntry examples/javascript/GPIO_DigitalWrite.js 140 silly gunzTarPerm extractEntry examples/javascript/isr.js 141 silly gunzTarPerm extractEntry examples/javascript/Blink-IO.js 142 silly gunzTarPerm extractEntry examples/javascript/GPIO_DigitalRead.js 143 silly gunzTarPerm extractEntry examples/javascript/AioA0.js 144 silly gunzTarPerm extractEntry examples/javascript/uart.js 145 silly gunzTarPerm extractEntry examples/uart.c 146 silly gunzTarPerm extractEntry examples/mraa-gpio.c 147 silly gunzTarPerm extractEntry examples/java/ 148 silly gunzTarPerm extractEntry examples/java/UartExample.java 149 silly gunzTarPerm extractEntry examples/java/HelloEdison.java 150 silly gunzTarPerm extractEntry examples/java/BlinkIO.java 151 silly gunzTarPerm extractEntry examples/java/I2cCompass.java 152 silly gunzTarPerm extractEntry examples/java/AioA0.java 153 silly gunzTarPerm extractEntry examples/java/Isr.java 154 silly gunzTarPerm extractEntry examples/java/SpiMAX7219.java 155 silly gunzTarPerm extractEntry examples/java/Bmp85.java 156 silly gunzTarPerm extractEntry examples/java/GpioMmapped.java 157 silly gunzTarPerm extractEntry examples/java/BlinkOnboard.java 158 silly gunzTarPerm extractEntry examples/java/SpiMCP4261.java 159 silly gunzTarPerm extractEntry examples/java/GpioRead6.java 160 silly gunzTarPerm extractEntry examples/java/CyclePwm3.java 161 silly gunzTarPerm extractEntry examples/java/Example.java 162 silly gunzTarPerm extractEntry examples/cycle-pwm3.c 163 silly gunzTarPerm extractEntry examples/gpio_read6.c 164 silly gunzTarPerm extractEntry examples/i2c_HMC5883L.c 165 silly gunzTarPerm extractEntry examples/c++/ 166 silly gunzTarPerm extractEntry examples/c++/Pwm3-cycle.cpp 167 silly gunzTarPerm extractEntry examples/c++/Uart-example.cpp 168 silly gunzTarPerm extractEntry examples/c++/I2c-compass.cpp 169 silly gunzTarPerm extractEntry examples/c++/Isr-pin6.cpp 170 silly gunzTarPerm extractEntry examples/c++/Spi-pot.cpp 171 silly gunzTarPerm extractEntry examples/c++/AioA0.cpp 172 silly gunzTarPerm extractEntry examples/c++/CMakeLists.txt 173 silly gunzTarPerm extractEntry examples/c++/Blink-IO.cpp 174 silly gunzTarPerm extractEntry examples/CMakeLists.txt 175 silly gunzTarPerm extractEntry examples/blink_onboard.c 176 silly gunzTarPerm extractEntry examples/spi_max7219.c 177 silly gunzTarPerm extractEntry examples/helloedison.c 178 silly gunzTarPerm extractEntry examples/isr_pin6.c 179 silly gunzTarPerm extractEntry examples/spi_mcp4261.c 180 silly gunzTarPerm extractEntry cmake/ 181 silly gunzTarPerm extractEntry cmake/Toolchains/ 182 silly gunzTarPerm extractEntry cmake/Toolchains/oe-sdk_cross.cmake 183 silly gunzTarPerm extractEntry cmake/modules/ 184 silly gunzTarPerm extractEntry cmake/modules/TargetArch.cmake 185 silly gunzTarPerm extractEntry cmake/modules/GetGitRevisionDescription.cmake.in 186 silly gunzTarPerm extractEntry cmake/modules/LICENSE_1_0.txt 187 silly gunzTarPerm extractEntry cmake/modules/version.c.in 188 silly gunzTarPerm extractEntry cmake/modules/CPackDeb.cmake 189 silly gunzTarPerm extractEntry cmake/modules/FindSphinx.cmake 190 silly gunzTarPerm extractEntry cmake/modules/LICENSE.LGPL 191 silly gunzTarPerm extractEntry cmake/modules/FindFtd4222.cmake 192 silly gunzTarPerm extractEntry cmake/modules/FindFtd2xx.cmake 193 silly gunzTarPerm extractEntry cmake/modules/Copyright.txt 194 silly gunzTarPerm extractEntry cmake/modules/COPYING-CMAKE-SCRIPTS 195 silly gunzTarPerm extractEntry cmake/modules/FindNodejs.cmake 196 silly gunzTarPerm extractEntry cmake/modules/GetGitRevisionDescription.cmake 197 silly gunzTarPerm extractEntry cmake/modules/FindYuidoc.cmake 198 silly gunzTarPerm extractEntry READMEFIRST 199 silly gunzTarPerm extractEntry tests/ 200 silly gunzTarPerm extractEntry tests/CMakeLists.txt 201 silly gunzTarPerm extractEntry tests/general_checks.py 202 silly gunzTarPerm extractEntry tests/gpio_checks.py 203 silly gunzTarPerm extractEntry tests/platform_checks.py 204 silly gunzTarPerm extractEntry package.json 205 silly gunzTarPerm extractEntry COPYING 206 silly gunzTarPerm extractEntry binding.gyp 207 silly gunzTarPerm extractEntry doxygen2jsdoc/ 208 silly gunzTarPerm extractEntry Doxyfile.java.in 209 silly gunzTarPerm extractEntry .travis.yml 210 silly gunzTarPerm extractEntry DoxygenLayout.xml 211 silly gunzTarPerm extractEntry README.md 212 silly gunzTarPerm extractEntry api/ 213 silly gunzTarPerm extractEntry api/mraa/ 214 silly gunzTarPerm extractEntry api/mraa/types.hpp 215 silly gunzTarPerm extractEntry api/mraa/types.h 216 silly gunzTarPerm extractEntry api/mraa/aio.hpp 217 silly gunzTarPerm extractEntry api/mraa/spi.hpp 218 silly gunzTarPerm extractEntry api/mraa/gpio.h 219 silly gunzTarPerm extractEntry api/mraa/gpio.hpp 220 silly gunzTarPerm extractEntry api/mraa/aio.h 221 silly gunzTarPerm extractEntry api/mraa/uart.hpp 222 silly gunzTarPerm extractEntry api/mraa/common.hpp 223 silly gunzTarPerm extractEntry api/mraa/i2c.h 224 silly gunzTarPerm extractEntry api/mraa/pwm.h 225 silly gunzTarPerm extractEntry api/mraa/spi.h 226 silly gunzTarPerm extractEntry api/mraa/i2c.hpp 227 silly gunzTarPerm extractEntry api/mraa/common.h 228 silly gunzTarPerm extractEntry api/mraa/uart.h 229 silly gunzTarPerm extractEntry api/mraa/pwm.hpp 230 silly gunzTarPerm extractEntry api/mraa.h 231 silly gunzTarPerm extractEntry api/mraa.hpp 232 silly gunzTarPerm extractEntry docs/ 233 silly gunzTarPerm extractEntry docs/edison.md 234 silly gunzTarPerm extractEntry docs/testing.md 235 silly gunzTarPerm extractEntry docs/index.md 236 silly gunzTarPerm extractEntry docs/i2c.txt 237 silly gunzTarPerm extractEntry docs/beaglebone.md 238 silly gunzTarPerm extractEntry docs/raspberry_pi.md 239 silly gunzTarPerm extractEntry docs/galileorevd.md 240 silly gunzTarPerm extractEntry docs/internals.md 241 silly gunzTarPerm extractEntry docs/minnow_max.md 242 silly gunzTarPerm extractEntry docs/platform-hooks.md 243 silly gunzTarPerm extractEntry docs/galileorevh.md 244 silly gunzTarPerm extractEntry docs/contributing.md 245 silly gunzTarPerm extractEntry docs/intel_nuc5.md 246 silly gunzTarPerm extractEntry docs/intel_de3815.md 247 silly gunzTarPerm extractEntry docs/ftdi_ft4222.md 248 silly gunzTarPerm extractEntry docs/banana_pi.md 249 silly gunzTarPerm extractEntry docs/npm.md 250 silly gunzTarPerm extractEntry docs/index.java.md 251 silly gunzTarPerm extractEntry docs/debugging.md 252 silly gunzTarPerm extractEntry Doxyfile.in 253 silly gunzTarPerm extractEntry CMakeLists.txt 254 silly gunzTarPerm extractEntry include/ 255 silly gunzTarPerm extractEntry include/arm/ 256 silly gunzTarPerm extractEntry include/arm/banana.h 257 silly gunzTarPerm extractEntry include/arm/raspberry_pi.h 258 silly gunzTarPerm extractEntry include/arm/beaglebone.h 259 silly gunzTarPerm extractEntry include/linux/ 260 silly gunzTarPerm extractEntry include/linux/i2c-dev.h 261 silly gunzTarPerm extractEntry include/linux/types.h 262 silly gunzTarPerm extractEntry include/linux/posix_types.h 263 silly gunzTarPerm extractEntry include/linux/README 264 silly gunzTarPerm extractEntry include/linux/compiler.h 265 silly gunzTarPerm extractEntry include/x86/ 266 silly gunzTarPerm extractEntry include/x86/intel_de3815.h 267 silly gunzTarPerm extractEntry include/x86/intel_nuc5.h 268 silly gunzTarPerm extractEntry include/x86/intel_minnow_byt_compatible.h 269 silly gunzTarPerm extractEntry include/x86/intel_galileo_rev_g.h 270 silly gunzTarPerm extractEntry include/x86/intel_galileo_rev_d.h 271 silly gunzTarPerm extractEntry include/x86/intel_edison_fab_c.h 272 silly gunzTarPerm extractEntry include/usb/ 273 silly gunzTarPerm extractEntry include/usb/ftdi_ft4222.h 274 silly gunzTarPerm extractEntry include/mraa_adv_func.h 275 silly gunzTarPerm extractEntry include/mraa_internal.h 276 silly gunzTarPerm extractEntry include/mraa_internal_types.h 277 silly gunzTarPerm extractEntry include/mraa_func.h 278 silly gunzTarPerm extractEntry include/version.h 279 silly gunzTarPerm extractEntry .gitmodules 280 verbose write writing to /home/root/tmp/node_modules/mraa/package.json 281 info preinstall mraa@0.8.1 282 verbose readDependencies loading dependencies from /home/root/tmp/node_modules/mraa/package.json 283 verbose readDependencies loading dependencies from /home/root/tmp/node_modules/mraa/package.json 284 silly install resolved [] 285 verbose about to build /home/root/tmp/node_modules/mraa 286 info build /home/root/tmp/node_modules/mraa 287 info linkStuff mraa@0.8.1 288 silly linkStuff mraa@0.8.1 has /home/root/tmp/node_modules as its parent node_modules 289 verbose linkBins mraa@0.8.1 290 verbose linkMans mraa@0.8.1 291 verbose rebuildBundles mraa@0.8.1 292 info install mraa@0.8.1 293 verbose unsafe-perm in lifecycle false 294 info mraa@0.8.1 Failed to exec install script 295 verbose unlock done using /home/root/.npm/_locks/mraa-696f484cad6906af.lock for /home/root/tmp/node_modules/mraa 296 verbose stack Error: mraa@0.8.1 install: node-gyp rebuild 296 verbose stack Exit status 1 296 verbose stack at EventEmitter. (/usr/local/lib/node_modules/npm/lib/utils/lifecycle.js:213:16) 296 verbose stack at EventEmitter.emit (events.js:110:17) 296 verbose stack at ChildProcess. (/usr/local/lib/node_modules/npm/lib/utils/spawn.js:24:14) 296 verbose stack at ChildProcess.emit (events.js:110:17) 296 verbose stack at maybeClose (child_process.js:1015:16) 296 verbose stack at Process.ChildProcess._handle.onexit (child_process.js:1087:5) 297 verbose pkgid mraa@0.8.1 298 verbose cwd /home/root/tmp 299 error Linux 3.10.17-poky-edison+ 300 error argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "mraa" 301 error node v0.12.7 302 error npm v2.11.3 303 error code ELIFECYCLE 304 error mraa@0.8.1 install: node-gyp rebuild 304 error Exit status 1 305 error Failed at the mraa@0.8.1 install script 'node-gyp rebuild'. 305 error This is most likely a problem with the mraa package, 305 error not with npm itself. 305 error Tell the author that this fails on your system: 305 error node-gyp rebuild 305 error You can get their info via: 305 error npm owner ls mraa 305 error There is likely additional logging output above. 306 verbose exit [ 1, true ] 307 verbose unbuild node_modules/mraa 308 info preuninstall mraa@0.8.1 309 info uninstall mraa@0.8.1 310 verbose unbuild rmStuff mraa@0.8.1 from /home/root/tmp/node_modules 311 info postuninstall mraa@0.8.1 312 silly gentlyRm /home/root/tmp/node_modules/mraa is being purged from base /home/root/tmp 313 verbose gentlyRm don't care about contents; nuking /home/root/tmp/node_modules/mraa 314 silly vacuum-fs purging /home/root/tmp/node_modules/mraa 315 silly vacuum-fs removing /home/root/tmp/node_modules 316 silly vacuum-fs finished vacuuming up to /home/root/tmp

alext-mkrs commented 8 years ago

Looks like there's nothing specific in this log unfortunately aside from the fact that node-gyp rebuild failed. It mentions npm-debug.log, could you please post that one, if it has any additional information?

mikaye commented 8 years ago

The output from npm-debug.log is below the console output. The only other information is that it also failed when installing from npm node 5.0

FlippieCoetser commented 8 years ago

I also had endless trouble to update node. Ended up with a re flash of Yocto and just updated MRAA to 8.1. Would be great if there is a good walkthrough of both updating Node and MRAA on the latest Yocto image on Edison...

arfoll commented 8 years ago

Tbh node.js is seriously starting to get on my nerved, the v8 API keeps changing, v5.0.0 breaks more stuff.

I'll likely drop support for everything before v4 as that's the lastest LTS and we're starting to drag a bunch of untested code in leading to such bugs. Any objections?

arfoll commented 8 years ago

So I just managed to build this with node.js 0.12.7 using Arch. Can you try rebuild using cmake from master? I believe the latest fix for node v5.0.0 I just put in maybe have fixed this as well....

alext-mkrs commented 8 years ago

Any objections?

FWIW, I'd vote for that, recently there's a real spike in Node-related problems. I just wonder how it's going to work for Edison and Galileo, for which there are no official 5.0 packages. And as far as Galileo is concerned, building even 0.12.x for it proved to be a problem as all the libraries there are quite old.

ADDED LATER: and BTW, just as a data point, I've built mraa with Node.js 0.12 just fine when preparing packages for Edison, so I wonder if that's simply not a build environment problem. @mikaye, how did you get node 0.12.7 to your board in the first place?

mikaye commented 8 years ago

I'm for ignoring 5.0 until it stabilizes. I had to upgrade to 0.12.7 because 0.10.38 didn't support Promise. I followed these steps ( https://communities.intel.com/thread/80570?sr=stream ) to update it with the exception of step 1.

arfoll commented 8 years ago

isn't 5.0 stable? At least 4.x seems to be the 'LTS' so not sure why you'd chose 0.12.? This might be a very stupid question I'm really not that well versed in the versioning system of node. Tbh my test was quite quick, I'll do a better one tmrw and try make a travis test so that we can automate the builidng on multiple node.js versions as this has been a common source of pain.

I'll also make sure to write up better instructions on that forum for something more recent.

mikaye commented 8 years ago

Immediately after I started using 5, I was unable to debug with WebStorm IDE. Their support tech told me it was a problem with 5. I then noticed other problems appearing on the web with 5. Today, WebStorm released a new version that addresses the problem they had with 5. I'm sure these are just teething problems and I'll return to 5.x as soon as I decide it's worth the while. 4 probably would have been fine as well.

alext-mkrs commented 8 years ago

@arfoll, while not directly related, do you think we could setup building python3 bindings as well, alongside python2 ones? That was requested a couple of times and if we setup something for multiple node versions, multiple pythons would come in handy too :smiley:

xbolshe commented 8 years ago

V8 version translation creates a problem like this. See https://github.com/intel-iot-devkit/mraa/pull/363

rwaldron commented 8 years ago

FWIW, I'd vote for that, recently there's a real spike in Node-related problems. I just wonder how it's going to work for Edison and Galileo, for which there are no official 5.0 packages.

This is has been felt throughout the community for any project that depends on, or is, a compiled module. The good news is that all of this insane churn is over with; and there is no bad news. I recommend sticking with Node 4.2.1 and up, while dropping everything prior. I would also not rush on Node 5.0, mainly because there there isn't any reason to, which also means that it's totally ok to tell users that this project is on the LTS train. My recommendation is based on the advice here:

The general rule for deciding which version of Node.js to use is:

  • Stay on or upgrade to Node.js v4.2.x if you need stability and have a complex production environment, e.g. you are a medium or large enterprise.
  • Upgrade to Node.js v5.x if you have the ability to upgrade versions quickly and easily without distributing your environment and want to play with the latest features as they arrive.

Based on the discussion and general (shared) aversion to churn, I think this project should be allowed to follow the first rule.

xbolshe commented 8 years ago

On my Galileo boards both NodeJS 4.2.1/5.0.0 versions work with MRAA 0.8.1, sqlite3, etc. Do you know limitations of MRAA to work on NodeJS 4.x or 5.x only?

rwaldron commented 8 years ago

Do you know limitations of MRAA to work on NodeJS 4.x or 5.x only?

Different versions of V8 ship with different versions of Node, but that's not really the point: I was hoping to bolster support for @arfoll's proposal to drop support for pre-4.x versions.

alext-mkrs commented 8 years ago

Thanks @rwaldron, that's definitely useful input.

arfoll commented 8 years ago

@rwaldron thanks for opinion and advice on which version we should be on.

@xbolshe there are no limitations codewise about node.js 4.x or 5.x just that we can't test everything and we need a default to recommend. If people want to go outside of that it's fine and we encourage it but those users should expect the unexpected :) Thanks for your PR for converting versions to hex, I do wonder if that's the right approach considering the comments from the SWIG devs. It's good to know future v8 versions have this issue fixed.

alext-mkrs commented 8 years ago

the discussing went beyond the original issue, but just to let everyone know - @arfoll fixed the 0.12.x-related problem with commit c2681dc78c5 and I've just tested it to work ok on node.js 0.12.7 (the version I have in my repo).

Not sure if we'd want to close this issue, @arfoll?

alext-mkrs commented 8 years ago

@arfoll, ping

I would vote for closing this one, as the original problem is long solved and if we'd want to tackle the side thread of making Node 4.x or 5.x the only officially supported Node version, we'd rather open a new issue/do it outside of issue tracker at all.

What do you think?

arfoll commented 8 years ago

Agreed. Actually travis now builds for node 0.10/0.12/4 & 5 so this type of issue is hopefully gone. Still need to implement an npm check though.

mikaye commented 8 years ago

I agree as well. It should be closed.

Mike

On Sat, Feb 6, 2016, 11:05 PM Brendan Le Foll notifications@github.com wrote:

Agreed. Actually travis now builds for node 0.10/0.12/4 & 5 so this type of issue is hopefully gone. Still need to implement an npm check though.

— Reply to this email directly or view it on GitHub https://github.com/intel-iot-devkit/mraa/issues/357#issuecomment-180965420 .