-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
rvm commands fail because they aren't run in the correct shell #29
Comments
I haven't reproduced your error - You're proposing this? --- a/build.py
+++ b/build.py
@@ -79,7 +79,7 @@ def run_cmd(cmd, run_env=False, unsafe_shell=False, check_rc=False):
log.debug('run_env: {0}'.format(run_env))
log.info('running: {0}, unsafe_shell={1}, check_rc={2}'.format(cmd, unsafe_shell, check_rc))
if unsafe_shell == True:
- p = subprocess.Popen(cmd, env=run_env, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
+ p = subprocess.Popen(cmd, env=run_env, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True, executable='/bin/bash') |
I saw this in a VM, where /bin/sh is a link to /bin/dash. The official Ubuntu:12.04 through Ubuntu:19.10 docker images also have dash as the default. Are you using a different/modified docker image? I'll try to reproduce this problem in a container. That is what I'm proposing, yes. |
Didn't see any errors with a vanilla
|
Following your instructions still produces the error:
|
The work to add mungefs as an external introduced some code around installing a specific version of ruby, using rvm. The new rvm code never succeeds because it doesn't run in a suitable shell.
externals/build.py
Line 82 in e08ee18
should set the executable to a shell which works with rvm. The default set by subprocess is
/bin/sh
whichrvm
doesn't work with by default. You already place a dependency on bash, when installing rvmexternals/install_prerequisites.py
Line 24 in e08ee18
executable=/bin/bash
The alternative is to configure the
/bin/sh
environment to work with rvm, but I think defining the executable is the cleaner approach since you've already added the requirement on bashThe text was updated successfully, but these errors were encountered: