2108: Cannot run rbssh: No such file or directory; /usr/local/bin not in env path
- Fixed
- Review Board
strat.c*******@gmai***** (Google Code) (Is this you? Claim this profile.) | |
Jan. 30, 2014 |
What version are you running? 1.5, 1.6beta2 What's the URL of the page containing the problem? http://review.summify.com/admin/db/scmtools/repository/add/ What steps will reproduce the problem? 1. Install rb with either easy_install or setup.py, and lighthttpd 2. try adding a private github repo What is the expected output? What do you see instead? The reviewboard.log says: 2011-05-22 18:52:49,935 - INFO - Authentication (publickey) successful! 2011-05-22 18:52:50,036 - DEBUG - EOF in transport thread 2011-05-22 18:52:50,070 - ERROR - Git: Failed to find valid repository <REDACTED>: error: cannot run rbssh: No such file or directory fatal: unable to fork Printing out the ENV in SCMTool.popen() shows /usr/local/bin isn't in $PATH but that's where rbssh is. Work around: Creating a symlink (ln -sf /usr/local/bin/rbssh /usr/bin/rbssh) gets around the problem. Suggested solution: install path and env path should match, or display a nicer error message. Thanks! What operating system are you using? What browser? Ubuntu 10.0, Python 2.6.6 Please provide any additional information below.
You're right, we should be sure that the PATH we set in the config file contains the entries from your user's PATH. Or, at least some of them. We wouldn't want, say, /home/user/bin or some custom development path. Maybe we can just get away with including /usr/local/bin. Either way, rather than a symlink, you can just edit your web server config and specify the path you need.
-
+ Confirmed -
+ Component-RB-Site
I had a similar problem with reviewboard errors on adding a private GIT repository. I'd see rbssh errors in httpd's error_log such as: [Mon Aug 06 15:13:20 2012] [error] ERROR:root:Git: Failed to find valid repository ssh://git@github.com/<ourname>/Common.git: Traceback (most recent call last): [Mon Aug 06 15:13:20 2012] [error] File "/usr/bin/rbssh", line 5, in ? [Mon Aug 06 15:13:20 2012] [error] from pkg_resources import load_entry_point [Mon Aug 06 15:13:20 2012] [error] File "/usr/lib/python2.4/site-packages/setuptools-0.6c12dev_r88846-py2.4.egg/pkg_resources.py", line 2603, in ? [Mon Aug 06 15:13:20 2012] [error] working_set.require(__requires__) [Mon Aug 06 15:13:20 2012] [error] File "/usr/lib/python2.4/site-packages/setuptools-0.6c12dev_r88846-py2.4.egg/pkg_resources.py", line 666, in require [Mon Aug 06 15:13:20 2012] [error] needed = self.resolve(parse_requirements(requirements)) [Mon Aug 06 15:13:20 2012] [error] File "/usr/lib/python2.4/site-packages/setuptools-0.6c12dev_r88846-py2.4.egg/pkg_resources.py", line 565, in resolve [Mon Aug 06 15:13:20 2012] [error] raise DistributionNotFound(req) # XXX put more info here [Mon Aug 06 15:13:20 2012] [error] pkg_resources.DistributionNotFound: Django==1.3.2 [Mon Aug 06 15:13:20 2012] [error] fatal: The remote end hung up unexpectedly [Mon Aug 06 15:13:20 2012] [error] at first we thought it was an SSH problem, but a peek at the above error log and the above post reminded me that we have a Python 2.4.3 install on this CENTOS 5 machine, and a recently installed Python 2.7 install after which I installed setuptools, easy_install Reviewboard, etc.... And thus there was an rbssh at /usr/bin/rbssh which was invoking Python 2.4 (hence the python 2.4 calls, should have been 2.7) and another at /usr/local/bin/rbssh which was invoking Python 2.7. So I linked the /usr/local/bin/rbssh to /usr/bin/rbssh (first mv /usr/bin/rbssh to /usr/bin/rbssh.py2.4), and git repository was now being added no problem.