netpro2k / hubot-skype

Skype adapter for hubot
MIT License
131 stars 46 forks source link

`bin/hubot -a skype` errors with code 127 #2

Closed davidcelis closed 11 years ago

davidcelis commented 12 years ago

After installing hubot-skype as a dependency via git, and having installed Skype4Py, running bin/hubot -a skype causes the following:

hubot % bin/hubot -a skype
[Fri Jun 01 2012 15:07:58 GMT-0700 (PDT)] INFO Loading scripts from hubot/scripts
[Fri Jun 01 2012 15:07:58 GMT-0700 (PDT)] INFO Loading scripts from hubot/src/scripts
ERR
execvp(): No such file or directory

child process exited with code 127
[Fri Jun 01 2012 15:07:58 GMT-0700 (PDT)] INFO Loading hubot-scripts from hubot-scripts/src/scripts
The "sys" module is now called "util". It should have a similar interface.
[Fri Jun 01 2012 15:07:58 GMT-0700 (PDT)] INFO Successfully connected to Redis

Running with the default adapter causes no error. No request from Skype (which is open) comes up to request API access as mentioned in the README. There would appear to be an execvp problem.

Attempting to run hubot on OS X with Python 2.7 (Python3 was unable to install Skype4Py due to parsing errors) and the latest version of node

EDIT: attempted again on an Ubuntu box with Node/Python both installed via apt-get. Exact same error as above with execvp()

smith commented 12 years ago

I'm getting the same type of thing on Windows (Server 2008):

ERR
CreateProcessW:
ERR
The system cannot find the file specified.

child process exited with code 127

If I change https://github.com/netpro2k/hubot-skype/blob/master/src/skype.coffee#L24 to the absolute path to skype.py I get a different error:

ERR
CreateProcessW:
ERR
%1 is not a valid Win32 application.

child process exited with code 127
twe4ked commented 12 years ago

Same issue here on OS X.

twe4ked commented 12 years ago

If I change https://github.com/netpro2k/hubot-skype/blob/master/src/skype.coffee#L24 to the absolute path to skype.py

I don't get error 127 if I use an absolute path, I get child process exited with code null and OS X pops up with a 'Python quit unexpectedly` dialogue. Also using Python 2.7.

kfb commented 12 years ago

I was able to get this working on Linux using X11 messaging rather than DBus. In skype.py, change the line

s = Skype4Py.Skype()

to read

s = Skype4Py.Skype(Transport='x11')
davidcelis commented 12 years ago

The above didn't work on OSX for me, but I have the developer preview of Mountain Lion installed (which no longer includes X11, but instead includes Quartz). I can test this on Linux with X11 installed tomorrow to verify

nicholasf commented 12 years ago

I had the same problem on OS X 10.7.4

tszming commented 12 years ago

I have tested on both Mac OSX Lion and Ubuntu 10.04 LTS.

  1. Only on Linux, s = Skype4Py.Skype(Transport='x11') is needed
  2. For the error of The system cannot find the file specified., place your skype.py at the same level of the bin folder of hubot.
joshvermaire commented 12 years ago

Has anyone gotten this working on Mountain Lion?

Nemoden commented 12 years ago

Same here. s = Skype4Py.Skype(Transport='x11') didn't work for me on Ubuntu Linux 10.04 LTS - the issue remains.

$ bin/hubot -v
2.3.2

Even if I type exit(1), nothing happens - seems like skype.py don't even run.

$ ./bin/hubot -a skype
ERR
execvp(): No such file or directory

child process exited with code 127

I've straced this issue and found the child process can't find skype.py, so I've just copied skype.py to the directory I'm running command from.

Such a headache and, finally, it works fine.

The problem caused by script node_modules/hubot-skype/src/skype.coffee:

@skype = require('child_process').spawn('./skype.py')

so, replace it with:

@skype = require('child_process').spawn(__dirname + '/skype.py')

BTW, If I don't specify Transport='x11', I'm getting:

$ ./bin/hubot -a skype
child process exited with code 1

so, Transport='x11' is needed anyway

netpro2k commented 11 years ago

I have now updated this to work with the latest version of hubot, published to npm, added better error reporting, as well as notes on OS specific issues in the readme.

Let me know if you are still having issues with the latest version.

sandipmkhairnar commented 10 years ago

Hello,

After running bin/hubot -a skype getting below error.

npm ERR! not a package /root/tmp/npm-5020/1386597313749-0.7098843608982861/tmp.tgz npm ERR! Error: ENOENT, open '/root/tmp/npm-5020/1386597313749-0.7098843608982861/package/package.json' npm ERR! If you need help, you may report this log at: npm ERR! http://github.com/isaacs/npm/issues npm ERR! or email it to: npm ERR! npm-@googlegroups.com

npm ERR! System Linux 2.6.32-431.el6.i686 npm ERR! command "/usr/local/bin/node" "/usr/local/bin/npm" "install" npm ERR! cwd /root/myhubot npm ERR! node -v v0.10.4 npm ERR! npm -v 1.2.18 npm ERR! path /root/tmp/npm-5020/1386597313749-0.7098843608982861/package/package.json npm ERR! code ENOENT npm ERR! errno 34 npm ERR! npm ERR! Additional logging details can be found in: npm ERR! /root/myhubot/npm-debug.log npm ERR! not ok code 0 [Mon Dec 09 2013 19:25:17 GMT+0530 (IST)] ERROR Cannot load adapter skype - Error: Cannot find module 'hubot-skype'

My package.json file looks like

{ "name": "hosted-hubot", "version": "2.6.3",

"author": "GitHub Inc.",

"keywords": [ "github", "hubot", "campfire", "bot" ],

"description": "A simple helpful robot for your Company",

"licenses": [{ "type": "MIT", "url": "https://github.com/github/hubot/raw/master/LICENSE" }],

"repository" : { "type": "git", "url": "https://github.com/github/hubot.git" },

"dependencies": { "hubot": ">= 2.6.0 < 3.0.0", "hubot-skype": "https://github.com/datr/hubot-scripts/", "coffee-script": "~> 1.4.0", "optparse": "1.0.3", "scoped-http-client": "0.9.7", "log": "1.3.0" },

"engines": { "node": ">= 0.8.x", "npm": ">= 1.1.x" }

Could you please help me to resole this one.