Florent,
maybe your questions better reside in the dev-list but anyway we have encounter 
similar things for various reasons.
When plugging binaries/tools outside galaxy it works setting paths and such.... 
but PATH environments and other ENVironmental variables are usually not 
directly set for the running galaxy user (since it phusically doesn't get into 
shell. We therefore source the /etc/profile in the galaxy server startup script 
to be sure to have the correct environmentals set as is for the other users. 
What I do not understand is that the tools seem to work when logged in 
fysically as galaxy user....in our case the tools wouldn't have worked.
Are you sure (I think you are but you never know) that its a perl script? 
Ocassionally we have seen something like this but was solved by omitting the 
interpreter part in the tool config xml or setting it to bash.
Good luck.
Alex

________________________________________
Van: galaxy-user-boun...@lists.bx.psu.edu 
[galaxy-user-boun...@lists.bx.psu.edu] namens Florent Angly 
[florent.an...@gmail.com]
Verzonden: zondag 13 februari 2011 9:03
Aan: galaxy-user@lists.bx.psu.edu
Onderwerp: [galaxy-user] Galaxy does not find my executables

Hi list,

I am writing a wrapper for a Grinder, a Perl program installed globally
on my Galaxy server.

Galaxy runs as user 'galaxy':
$ ps aux | grep paster
galaxy   26807   0.0  0.8  2636308 136364   ??  S     2:52PM   0:19.15
python ./scripts/paster.py serve universe_wsgi.ini

When logged in as user galaxy, I can run Grinder:
$ Grinder --help
Usage:
            Grinder [options]
            Grinder --help
            Grinder --version
...

Grinder's location is:
$ which Grinder
/opt/local/bin/Grinder

In grinder.xml:
If I put: <command interpreter="perl">
In the Galaxy webinterface, I get the error: Can't open perl script
"/Users/galaxy/galaxy_dist/tools/ngs_simulation/Grinder": No such file
or directory
Obviously, here, Galaxy assumes wrongly that tool is installed under the
Galaxy ~/tools/ngs_simulation/ folder.

So I tried to omit the interpreter: <command>
And I got the error: /bin/sh: Grinder: command not found
This is surprising, since Grinder is found if I run it on the
command-line as user galaxy

I noticed that I have the same issue with the Velvet wrapper (also
located in /opt/local/bin) and thought that this could be an environment
issue. And indeed the environment within a wrapper is:
PERL=/usr/bin/perl
PATH=/usr/bin:/bin:/usr/sbin:/sbin

While on the command line, the environment is:
PERL=/opt/local/bin/perl
PATH=/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/sw/bin

This difference in environment explains why Galaxy cannot find Grinder
or Velvet.

Does this make any sense? Does Galaxy modify the environment? Why would
the environment be different?

Thanks for your help,

Florent

_______________________________________________
The Galaxy User list should be used for the discussion of Galaxy analysis and
other features on the public server at usegalaxy.org.  For discussion of local
Galaxy instances and the Galaxy source code, please use the Galaxy Development
list:

  http://lists.bx.psu.edu/listinfo/galaxy-dev

To manage your subscriptions to this and other Galaxy lists, please use the
interface at:

  http://lists.bx.psu.edu/

_______________________________________________
The Galaxy User list should be used for the discussion of Galaxy analysis and
other features on the public server at usegalaxy.org.  For discussion of local
Galaxy instances and the Galaxy source code, please use the Galaxy Development
list:

  http://lists.bx.psu.edu/listinfo/galaxy-dev

To manage your subscriptions to this and other Galaxy lists, please use the
interface at:

  http://lists.bx.psu.edu/

Reply via email to