rwaldron / galileo-io

Intel Galileo & Intel Edison IO Plugin for Johnny-Five
http://johnny-five.io
MIT License
101 stars 26 forks source link

[question] Any chance of supporting debian? #38

Closed Awk34 closed 8 years ago

Awk34 commented 9 years ago

I'm trying to run my Edison with Debian. Attempting to install fails when it tries to make opkg commands.

edison@ubilinux:~/$ sudo npm i -g galileo-io
\
> galileo-io@0.8.18 postinstall /usr/lib/node_modules/galileo-io
> node scripts/postinstall

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  Do not quit the program until npm completes the installation process.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
{ [Error: Command failed: /bin/sh -c opkg info libmraa0
/bin/sh: 1: opkg: not found
]
  killed: false,
  code: 127,
  signal: null,
  cmd: '/bin/sh -c opkg info libmraa0' }
npm ERR! Linux 3.10.17-yocto-standard-r2
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "i" "-g" "galileo-io"
npm ERR! node v0.12.5
npm ERR! npm  v2.11.2
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn

npm ERR! galileo-io@0.8.18 postinstall: `node scripts/postinstall`
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the galileo-io@0.8.18 postinstall script 'node scripts/post  stall'.
npm ERR! This is most likely a problem with the galileo-io package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node scripts/postinstall
npm ERR! You can get their info via:
npm ERR!     npm owner ls galileo-io
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/edison/mraa-0.7.2/build/npm-debug.log
ashishdatta commented 9 years ago

The reason this is failing is because the postinstall script is thinking you are using a Yocto based system and thus tries to execute opkg commands , whereas Ubilinx uses apt-get i believe.

I do not have a Ubilinx system but if you could run these commands I can submit a fix.

node (starts the repl) var os = require('os') console.log(os.release)

Please post the results of the console.log, thanks!

On Saturday, June 27, 2015, Andrew Koroluk notifications@github.com wrote:

I'm trying to run my Edison with Debian. Attempting to install fails when it tries to make opkg commands.

edison@ubilinux:~/$ sudo npm i -g galileo-io \

galileo-io@0.8.18 postinstall /usr/lib/node_modules/galileo-io node scripts/postinstall

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Do not quit the program until npm completes the installation process. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! { [Error: Command failed: /bin/sh -c opkg info libmraa0 /bin/sh: 1: opkg: not found ] killed: false, code: 127, signal: null, cmd: '/bin/sh -c opkg info libmraa0' } npm ERR! Linux 3.10.17-yocto-standard-r2 npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "i" "-g" "galileo-io" npm ERR! node v0.12.5 npm ERR! npm v2.11.2 npm ERR! file sh npm ERR! code ELIFECYCLE npm ERR! errno ENOENT npm ERR! syscall spawn

npm ERR! galileo-io@0.8.18 postinstall: node scripts/postinstall npm ERR! spawn ENOENT npm ERR! npm ERR! Failed at the galileo-io@0.8.18 postinstall script 'node scripts/post stall'. npm ERR! This is most likely a problem with the galileo-io package, npm ERR! not with npm itself. npm ERR! Tell the author that this fails on your system: npm ERR! node scripts/postinstall npm ERR! You can get their info via: npm ERR! npm owner ls galileo-io npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request: npm ERR! /home/edison/mraa-0.7.2/build/npm-debug.log

— Reply to this email directly or view it on GitHub https://github.com/rwaldron/galileo-io/issues/38.

Awk34 commented 9 years ago

For some strange reason console.log(os.release()) spits out 3.10.17-yocto-standard-r2, but I'm on Debian I swear!! Is this a problem with Ubilinux?

Yeah Debian uses apt-get. Maybe some bash aliases would make the command work....

ashishdatta commented 9 years ago

That is so strange, I will ask the ubilinux guys if we can fix that. What does os.platform() give you? Also if you wouldnt mind running 'cat /etc/version'

Awk34 commented 9 years ago
> require('os').platform()
'linux'

Don't have an /etc/version/, but I have this:

edison@ubilinux:~/test$ cat /proc/version
Linux version 3.10.17-yocto-standard-r2 (root@p32mac) (gcc version 4.8.2 (GCC) ) #7 SMP PREEMPT Thu Feb 26 09:57:06 UTC 2015
ashishdatta commented 9 years ago

Well that is disappointing, there doesnt seem to be mention of debian/ubilinix anywhere ... I believe os.release() uses the uname -a command so no point in trying that. If there was just some way of determining if you are on ubilinx this would be so much easier.

This is probably the extend i can help with until I get a board with Ubilinx on it.

Awk34 commented 9 years ago

Yeah, so strange. Can I clone this repo and edit the postinstall.js to just pass on through and do an npm link? I already have mraa@0.7.2 installed globally

Awk34 commented 9 years ago

Alright so I did that (cloned, removed postinstall from package.json, sudo npm link) and it seemed to install alright. Let me run a test...

edit: Yeah seems fine. @ashishdatta Are you going to file something with the Ubilinux guys or should I?

This tells me that I'm on Debian:

edison@ubilinux:~$ cat /etc/*-release
PRETTY_NAME="Debian GNU/Linux 7 (wheezy)"
NAME="Debian GNU/Linux"
VERSION_ID="7"
VERSION="7 (wheezy)"
ID=debian
ANSI_COLOR="1;31"
HOME_URL="http://www.debian.org/"
SUPPORT_URL="http://www.debian.org/support/"
BUG_REPORT_URL="http://bugs.debian.org/"

edit2: I'll try to make a PR to fix this...

ashishdatta commented 9 years ago

I will send a note to them, wouldn't hurt if you sent one as well :)

Awk34 commented 9 years ago

Can you tell me what running cat /etc/*-release on a Yocto installation outputs?

ashishdatta commented 9 years ago

Can't seem to find my board. Will update when I can.

yocto1 commented 9 years ago

Having the same issues here, any progress since?

Awk34 commented 9 years ago

The PR I mentioned is still open. You can copy down that code and run npm install and npm link in it's root, and try to install the module again.