To answer my own question (maybe it's useful for someone else): My findings are:
- bash is launched as non-login, non-interactive shell for the shell bolt
- in this mode bash looks for a path/file in the environment variable 'BASH_ENV', if it exists that file is sourced - now I only had to create a file that loads the module and point the env. var. to the location of the file
That's it. Now it works.

On 04/15/2015 10:40 AM, Johannes Hugo Kitschke wrote:
Hi,

I am currently experiencing a problem when submitting a topology built with pyleus to my storm cluster:

java.lang.RuntimeException: Error when launching multilang subprocess
pyleus_venv/bin/python: error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory

Maybe I know what causes this error: On our cluster I have to execute 'module load python' to setup the environment for python. I have this in my .bashrc but my assumption is, that .bashrc does not get sourced when setting up the ShellBot (is this true?). This is based on the following observation: Local mode performs as expected, unless python module is not loaded. Then it fails with the error above.

Long story short: Which shell is used? Which files are sourced when the shell is launched for the ShellBolts?

Johannes

Reply via email to