Re: [galaxy-dev] Working with setup_ruby_environment tag
Hi Ira, Hi Bjoern, I've just done some more testing of my tool with a fresh install and a fresh checkout of galaxy. After install of this tool http://testtoolshed.g2.bx.psu.edu/view/iracooke/package_protk_1_2_5 I have an env.sh that looks like GEM_PATH=/home/vagrant/tool_dependencies/protk/1.2.5/iracooke/package_protk_1_2_5/1100ac98dfd2:$GEM_PATH; export GEM_PATH PATH=/home/vagrant/tool_dependencies/protk/1.2.5/iracooke/package_protk_1_2_5/1100ac98dfd2/bin:$PATH; export PATH Which seems to be enough for me to run the executables in my gem.So I must be wrong about GEM_HOME needing to be set ... sorry for the false alarm there. The thing that I'm now having trouble with is that all the other set_environment tags in my tool definition are ignored. In my tool_dependencies.xml I have action type=set_environment environment_variable action=prepend_to name=PATH$INSTALL_DIR/bin/environment_variable environment_variable action=set_to name=GEM_HOME$INSTALL_DIR//environment_variable environment_variable action=set_to name=PROTK_BLAST_ROOTFROMPATH/environment_variable /action Admittedly some of that stuff is redundant ( I now realise ) ... but other stuff (eg PROTK_BLAST_ROOT ) is important ... but it gets ignored. Is this intended? Seems like I should be able to use the set_environment action as well as the setup_ruby_environment action in the same tool definition? It's implemented in: https://bitbucket.org/galaxy/galaxy-central/pull-request/248/add-more-env-vars-to-the-standard-envsh/diff If my last PR will be merged, you should be able to do that. Thanks for spotting that use-case. Cheers, Bjoern Hope you can clarify. Thanks Ira On 31/10/2013, at 6:06 AM, Ira Cooke mudflatsoftw...@gmail.com wrote: Hi Bjoern, I saw the same SO post ... but it says that GEM_PATH can be multiple paths but one of them should be GEM_HOME. Under your system (I think) GEM_HOME remains unset? Anyway ... I'll test again to double check that this is required for my tool to work. Cheers Ira On 31 Oct 2013, at 6:00 am, Björn Grüning bjoern.gruen...@pharmazie.uni-freiburg.de wrote: Hi Ira, Hi Bjoern, I'll test, thanks! but I wonder if the problem is that GEM_PATH is set instead of GEM_HOME. I think GEM_HOME needs to be set also. It's zoo of environment variables out there :)!! Mh according to http://stackoverflow.com/questions/11277227/whats-the-difference-between-gem-home-and-gem-path GEM_PATH will contain GEM_HOME and GEM_HOME is used for installation, and I use it for installation of GEMs, See the code. If you think GEM_HOME is necessary to export I will do so. Otherwise I would not export to much. Thanks! Bjoern Also ... I think GEM_HOME should be set using set_to not prepend_to ... I am using the latest galaxy-central (default branch). Cheers Ira On 31 Oct 2013, at 12:33 am, Bjoern Gruening bjoern.gruen...@gmail.com wrote: Hi Ira, that is strange, because PATH and GEM_HOME should be set automatically for you. Please have a look at https://github.com/bgruening/galaxytools/blob/master/orphan_tool_dependencies/package_ruby2_bioruby_1_4/tool_dependencies.xml http://testtoolshed.g2.bx.psu.edu/view/bgruening/package_ruby2_bioruby_1_4 That definition results on my test environment in: GEM_PATH=/home/gruening/projects/code/galaxy-central/tool_deps/bioruby/1.4/bgruening/package_ruby2_bioruby_1_4/0a30368657b1:$GEM_PATH; export GEM_PATH PATH=/home/gruening/projects/code/galaxy-central/tool_deps/bioruby/1.4/bgruening/package_ruby2_bioruby_1_4/0a30368657b1/bin:$PATH; export PATH And the code for that is here: https://bitbucket.org/galaxy/galaxy-central/src/77d58fdd1c2e0dfde374276209279c5e94b1e4c0/lib/tool_shed/galaxy_install/tool_dependencies/fabric_util.py?at=default#cl-431 Are you using the latest galaxy central? Regarding RUBYLIB, I think we need to set it to specify the right ruby version, because many can be installed in parallel. Some holds for RUBYHOME or? I see your point in having it set automatically and came with the attached patch. Here I need to assume that package_ruby_x_x will have RUBYLIB and RUBYHOME specified, but I think that is a save assumption. Nevertheless, we should document it. With that new patch you will end up with RUBYLIB=/home/gruening/projects/code/galaxy-central/tool_deps/ruby/2.0/bgruening/package_ruby_2_0/a0494c6e1c63/lib/; export RUBYLIB RUBYHOME=/home/gruening/projects/code/galaxy-central/tool_deps/ruby/2.0/bgruening/package_ruby_2_0/a0494c6e1c63; export RUBYHOME GEM_PATH=/home/gruening/projects/code/galaxy-central/tool_deps/bioruby/1.4/bgruening/package_ruby2_bioruby_1_4/0a30368657b1:$GEM_PATH;
Re: [galaxy-dev] Working with setup_ruby_environment tag
Hi Bjoern, Ross just gave me some pointers and I realised that I could just set these environment variables myself by doing action type=set_environment environment_variable action=prepend_to name=PATH$INSTALL_DIR/bin/environment_variable environment_variable action=set_to name=GEM_HOME$INSTALL_DIR//environment_variable /action In my protk tool definition. RUBYLIB isn't set ... hopefully this will not be an issue since I guess that's mostly just needed for Gem installation/compilation. This part works now :) Thanks Ira On 30/10/2013, at 3:51 PM, Ira Cooke iraco...@gmail.com wrote: Hi Bjoern, Changing the title to reflect the proper topic I see now that the gem executables are installed under $INSTALLDIR/bin so I added this to the environment for my protk install. That got me to the point where my executable would run ... but now I'm seeing that in my env.sh file I don't really have my ruby environment setup properly (ie RUBYLIB and GEM_HOME are not set). This resulted in my tool running but it couldn't find my gem. So I tried adding ruby explicitly as a tool dependency for my downstream tool (this seems wrong though ... since it is required by protk ... and if I include protk I should get it automatically right?). After doing this though I was getting an error on installing protk about List index out of range. Just to summarize, I can't see how to setup my dependencies properly so that the executables installed by protk get run with the correct environment. The repository I'm trying to install is http://testtoolshed.g2.bx.psu.edu/view/iracooke/omssa I'm sure I've just got muddled somewhere ... but it feels like I'm just messing around and getting it wrong. I'd rather do it in the way you envisioned. If you could give me some pointers on what I've done wrong it would help alot Thanks Ira On 29/10/2013, at 8:14 PM, Bjoern Gruening bjoern.gruen...@gmail.com wrote: Ahhh ... Thanks .. I can't believe I missed that. Thanks for spotting it. No problem! I'm not sure I understand enough about how this works to answer your ruby_home question. Ill play with this more tomorrow and see how things work with my tools and maybe have more feedback then Sure, thanks for working on that! Here is the promised trello card: https://trello.com/c/l9ZlGa8R Ciao, Bjoern Cheers Ira On 29 Oct 2013, at 7:17 pm, Björn Grüning bjoern.gruen...@pharmazie.uni-freiburg.de wrote: Hi Ira, as far as I can see you missed the actions tag. That results in no log message at all, since no action type is executed. Galaxy should probably give an error here. Or better validate that during tool upload. I will fill a Trello Card for it. The following code snipped worked for me: ?xml version=1.0? tool_dependency package name=protk version=1.2.5 install version=1.0 actions action type=setup_ruby_environment repository changeset_revision=a0494c6e1c63 name=package_ruby_2_0 owner=bgruening toolshed=http://testtoolshed.g2.bx.psu.edu; package name=ruby version=2.0 / /repository packageprotk=1.2.6.pre1/package /action /actions /install readme Installs version 1.2.5 of the protk rubygem from rubygems.org /readme /package /tool_dependency Keep in mind that the repository tag should be filled. If you have a actions and action tag it will be filled automatically by the TS during upload. But better to check :) To populate the RUBY_HOME env var ... do you think its better to set it via the installation automatically? My idea was to just require ruby in the tool? If you want to set it in your protk definition you need to use the $ENV[] construct. Cheers, Bjoern Hi Bjoern, Thanks ... I thought I had to do that in order to make the GALAXY_RUBY_HOME variable available ... nice that it's not necessary. I've updated the tool on the test toolshed and have rerun my test but unfortunately the problem is still there. Cheers Ira On 29/10/2013, at 10:06 AM, Björn Grüning bjoern.gruen...@pharmazie.uni-freiburg.de wrote: Hi Ira, I can reproduce that error here, will try to study it tomorrow more deeply. For the meantime can you try to remove the following lines? action type=set_environment_for_install repository name=package_ruby_2_0 owner=bgruening package name=ruby version=2.0 / /repository /action It's not necessary. Will get back to you tomorrow. Bjoern Hi All, The short version of my problem is that I often seem to find myself in a situation where my tool gets stuck in the Installing phase ... and I don't know how to get feedback on it to see where it is failing. What I guess I'm after is just the stdout of the tool
Re: [galaxy-dev] Working with setup_ruby_environment tag
Hi Ira, that is strange, because PATH and GEM_HOME should be set automatically for you. Please have a look at https://github.com/bgruening/galaxytools/blob/master/orphan_tool_dependencies/package_ruby2_bioruby_1_4/tool_dependencies.xml http://testtoolshed.g2.bx.psu.edu/view/bgruening/package_ruby2_bioruby_1_4 That definition results on my test environment in: GEM_PATH=/home/gruening/projects/code/galaxy-central/tool_deps/bioruby/1.4/bgruening/package_ruby2_bioruby_1_4/0a30368657b1:$GEM_PATH; export GEM_PATH PATH=/home/gruening/projects/code/galaxy-central/tool_deps/bioruby/1.4/bgruening/package_ruby2_bioruby_1_4/0a30368657b1/bin:$PATH; export PATH And the code for that is here: https://bitbucket.org/galaxy/galaxy-central/src/77d58fdd1c2e0dfde374276209279c5e94b1e4c0/lib/tool_shed/galaxy_install/tool_dependencies/fabric_util.py?at=default#cl-431 Are you using the latest galaxy central? Regarding RUBYLIB, I think we need to set it to specify the right ruby version, because many can be installed in parallel. Some holds for RUBYHOME or? I see your point in having it set automatically and came with the attached patch. Here I need to assume that package_ruby_x_x will have RUBYLIB and RUBYHOME specified, but I think that is a save assumption. Nevertheless, we should document it. With that new patch you will end up with RUBYLIB=/home/gruening/projects/code/galaxy-central/tool_deps/ruby/2.0/bgruening/package_ruby_2_0/a0494c6e1c63/lib/; export RUBYLIB RUBYHOME=/home/gruening/projects/code/galaxy-central/tool_deps/ruby/2.0/bgruening/package_ruby_2_0/a0494c6e1c63; export RUBYHOME GEM_PATH=/home/gruening/projects/code/galaxy-central/tool_deps/bioruby/1.4/bgruening/package_ruby2_bioruby_1_4/0a30368657b1:$GEM_PATH; export GEM_PATH PATH=/home/gruening/projects/code/galaxy-central/tool_deps/bioruby/1.4/bgruening/package_ruby2_bioruby_1_4/0a30368657b1/bin:$PATH; export PATH PATH=/home/gruening/projects/code/galaxy-central/tool_deps/ruby/2.0/bgruening/package_ruby_2_0/a0494c6e1c63/bin:$PATH; export PATH Thanks very much for your feedback. I do not have any ruby repository so I really appropriate your testing! Bjoern Hi Bjoern, Ross just gave me some pointers and I realised that I could just set these environment variables myself by doing action type=set_environment environment_variable action=prepend_to name=PATH$INSTALL_DIR/bin/environment_variable environment_variable action=set_to name=GEM_HOME$INSTALL_DIR//environment_variable /action In my protk tool definition. RUBYLIB isn't set ... hopefully this will not be an issue since I guess that's mostly just needed for Gem installation/compilation. This part works now :) Thanks Ira On 30/10/2013, at 3:51 PM, Ira Cooke iraco...@gmail.com wrote: Hi Bjoern, Changing the title to reflect the proper topic I see now that the gem executables are installed under $INSTALLDIR/bin so I added this to the environment for my protk install. That got me to the point where my executable would run ... but now I'm seeing that in my env.sh file I don't really have my ruby environment setup properly (ie RUBYLIB and GEM_HOME are not set). This resulted in my tool running but it couldn't find my gem. So I tried adding ruby explicitly as a tool dependency for my downstream tool (this seems wrong though ... since it is required by protk ... and if I include protk I should get it automatically right?). After doing this though I was getting an error on installing protk about List index out of range. Just to summarize, I can't see how to setup my dependencies properly so that the executables installed by protk get run with the correct environment. The repository I'm trying to install is http://testtoolshed.g2.bx.psu.edu/view/iracooke/omssa I'm sure I've just got muddled somewhere ... but it feels like I'm just messing around and getting it wrong. I'd rather do it in the way you envisioned. If you could give me some pointers on what I've done wrong it would help alot Thanks Ira On 29/10/2013, at 8:14 PM, Bjoern Gruening bjoern.gruen...@gmail.com wrote: Ahhh ... Thanks .. I can't believe I missed that. Thanks for spotting it. No problem! I'm not sure I understand enough about how this works to answer your ruby_home question. Ill play with this more tomorrow and see how things work with my tools and maybe have more feedback then Sure, thanks for working on that! Here is the promised trello card: https://trello.com/c/l9ZlGa8R Ciao, Bjoern Cheers Ira On 29 Oct 2013, at 7:17 pm, Björn Grüning bjoern.gruen...@pharmazie.uni-freiburg.de wrote: Hi Ira, as far as I can see you missed the actions tag. That results in no log message at all, since no action type is executed. Galaxy should probably give an error
Re: [galaxy-dev] Working with setup_ruby_environment tag
Hi Ira, Hi Bjoern, I'll test, thanks! but I wonder if the problem is that GEM_PATH is set instead of GEM_HOME. I think GEM_HOME needs to be set also. It's zoo of environment variables out there :)!! Mh according to http://stackoverflow.com/questions/11277227/whats-the-difference-between-gem-home-and-gem-path GEM_PATH will contain GEM_HOME and GEM_HOME is used for installation, and I use it for installation of GEMs, See the code. If you think GEM_HOME is necessary to export I will do so. Otherwise I would not export to much. Thanks! Bjoern Also ... I think GEM_HOME should be set using set_to not prepend_to ... I am using the latest galaxy-central (default branch). Cheers Ira On 31 Oct 2013, at 12:33 am, Bjoern Gruening bjoern.gruen...@gmail.com wrote: Hi Ira, that is strange, because PATH and GEM_HOME should be set automatically for you. Please have a look at https://github.com/bgruening/galaxytools/blob/master/orphan_tool_dependencies/package_ruby2_bioruby_1_4/tool_dependencies.xml http://testtoolshed.g2.bx.psu.edu/view/bgruening/package_ruby2_bioruby_1_4 That definition results on my test environment in: GEM_PATH=/home/gruening/projects/code/galaxy-central/tool_deps/bioruby/1.4/bgruening/package_ruby2_bioruby_1_4/0a30368657b1:$GEM_PATH; export GEM_PATH PATH=/home/gruening/projects/code/galaxy-central/tool_deps/bioruby/1.4/bgruening/package_ruby2_bioruby_1_4/0a30368657b1/bin:$PATH; export PATH And the code for that is here: https://bitbucket.org/galaxy/galaxy-central/src/77d58fdd1c2e0dfde374276209279c5e94b1e4c0/lib/tool_shed/galaxy_install/tool_dependencies/fabric_util.py?at=default#cl-431 Are you using the latest galaxy central? Regarding RUBYLIB, I think we need to set it to specify the right ruby version, because many can be installed in parallel. Some holds for RUBYHOME or? I see your point in having it set automatically and came with the attached patch. Here I need to assume that package_ruby_x_x will have RUBYLIB and RUBYHOME specified, but I think that is a save assumption. Nevertheless, we should document it. With that new patch you will end up with RUBYLIB=/home/gruening/projects/code/galaxy-central/tool_deps/ruby/2.0/bgruening/package_ruby_2_0/a0494c6e1c63/lib/; export RUBYLIB RUBYHOME=/home/gruening/projects/code/galaxy-central/tool_deps/ruby/2.0/bgruening/package_ruby_2_0/a0494c6e1c63; export RUBYHOME GEM_PATH=/home/gruening/projects/code/galaxy-central/tool_deps/bioruby/1.4/bgruening/package_ruby2_bioruby_1_4/0a30368657b1:$GEM_PATH; export GEM_PATH PATH=/home/gruening/projects/code/galaxy-central/tool_deps/bioruby/1.4/bgruening/package_ruby2_bioruby_1_4/0a30368657b1/bin:$PATH; export PATH PATH=/home/gruening/projects/code/galaxy-central/tool_deps/ruby/2.0/bgruening/package_ruby_2_0/a0494c6e1c63/bin:$PATH; export PATH Thanks very much for your feedback. I do not have any ruby repository so I really appropriate your testing! Bjoern Hi Bjoern, Ross just gave me some pointers and I realised that I could just set these environment variables myself by doing action type=set_environment environment_variable action=prepend_to name=PATH$INSTALL_DIR/bin/environment_variable environment_variable action=set_to name=GEM_HOME$INSTALL_DIR//environment_variable /action In my protk tool definition. RUBYLIB isn't set ... hopefully this will not be an issue since I guess that's mostly just needed for Gem installation/compilation. This part works now :) Thanks Ira On 30/10/2013, at 3:51 PM, Ira Cooke iraco...@gmail.com wrote: Hi Bjoern, Changing the title to reflect the proper topic I see now that the gem executables are installed under $INSTALLDIR/bin so I added this to the environment for my protk install. That got me to the point where my executable would run ... but now I'm seeing that in my env.sh file I don't really have my ruby environment setup properly (ie RUBYLIB and GEM_HOME are not set). This resulted in my tool running but it couldn't find my gem. So I tried adding ruby explicitly as a tool dependency for my downstream tool (this seems wrong though ... since it is required by protk ... and if I include protk I should get it automatically right?). After doing this though I was getting an error on installing protk about List index out of range. Just to summarize, I can't see how to setup my dependencies properly so that the executables installed by protk get run with the correct environment. The repository I'm trying to install is http://testtoolshed.g2.bx.psu.edu/view/iracooke/omssa I'm sure I've just got muddled somewhere ... but it feels like I'm just messing around and getting it wrong. I'd rather do it in the way you envisioned.
Re: [galaxy-dev] Working with setup_ruby_environment tag
Hi Bjoern, I'll test, but I wonder if the problem is that GEM_PATH is set instead of GEM_HOME. I think GEM_HOME needs to be set also. It's zoo of environment variables out there :)!! Also ... I think GEM_HOME should be set using set_to not prepend_to ... I am using the latest galaxy-central (default branch). Cheers Ira On 31 Oct 2013, at 12:33 am, Bjoern Gruening bjoern.gruen...@gmail.com wrote: Hi Ira, that is strange, because PATH and GEM_HOME should be set automatically for you. Please have a look at https://github.com/bgruening/galaxytools/blob/master/orphan_tool_dependencies/package_ruby2_bioruby_1_4/tool_dependencies.xml http://testtoolshed.g2.bx.psu.edu/view/bgruening/package_ruby2_bioruby_1_4 That definition results on my test environment in: GEM_PATH=/home/gruening/projects/code/galaxy-central/tool_deps/bioruby/1.4/bgruening/package_ruby2_bioruby_1_4/0a30368657b1:$GEM_PATH; export GEM_PATH PATH=/home/gruening/projects/code/galaxy-central/tool_deps/bioruby/1.4/bgruening/package_ruby2_bioruby_1_4/0a30368657b1/bin:$PATH; export PATH And the code for that is here: https://bitbucket.org/galaxy/galaxy-central/src/77d58fdd1c2e0dfde374276209279c5e94b1e4c0/lib/tool_shed/galaxy_install/tool_dependencies/fabric_util.py?at=default#cl-431 Are you using the latest galaxy central? Regarding RUBYLIB, I think we need to set it to specify the right ruby version, because many can be installed in parallel. Some holds for RUBYHOME or? I see your point in having it set automatically and came with the attached patch. Here I need to assume that package_ruby_x_x will have RUBYLIB and RUBYHOME specified, but I think that is a save assumption. Nevertheless, we should document it. With that new patch you will end up with RUBYLIB=/home/gruening/projects/code/galaxy-central/tool_deps/ruby/2.0/bgruening/package_ruby_2_0/a0494c6e1c63/lib/; export RUBYLIB RUBYHOME=/home/gruening/projects/code/galaxy-central/tool_deps/ruby/2.0/bgruening/package_ruby_2_0/a0494c6e1c63; export RUBYHOME GEM_PATH=/home/gruening/projects/code/galaxy-central/tool_deps/bioruby/1.4/bgruening/package_ruby2_bioruby_1_4/0a30368657b1:$GEM_PATH; export GEM_PATH PATH=/home/gruening/projects/code/galaxy-central/tool_deps/bioruby/1.4/bgruening/package_ruby2_bioruby_1_4/0a30368657b1/bin:$PATH; export PATH PATH=/home/gruening/projects/code/galaxy-central/tool_deps/ruby/2.0/bgruening/package_ruby_2_0/a0494c6e1c63/bin:$PATH; export PATH Thanks very much for your feedback. I do not have any ruby repository so I really appropriate your testing! Bjoern Hi Bjoern, Ross just gave me some pointers and I realised that I could just set these environment variables myself by doing action type=set_environment environment_variable action=prepend_to name=PATH$INSTALL_DIR/bin/environment_variable environment_variable action=set_to name=GEM_HOME$INSTALL_DIR//environment_variable /action In my protk tool definition. RUBYLIB isn't set ... hopefully this will not be an issue since I guess that's mostly just needed for Gem installation/compilation. This part works now :) Thanks Ira On 30/10/2013, at 3:51 PM, Ira Cooke iraco...@gmail.com wrote: Hi Bjoern, Changing the title to reflect the proper topic I see now that the gem executables are installed under $INSTALLDIR/bin so I added this to the environment for my protk install. That got me to the point where my executable would run ... but now I'm seeing that in my env.sh file I don't really have my ruby environment setup properly (ie RUBYLIB and GEM_HOME are not set). This resulted in my tool running but it couldn't find my gem. So I tried adding ruby explicitly as a tool dependency for my downstream tool (this seems wrong though ... since it is required by protk ... and if I include protk I should get it automatically right?). After doing this though I was getting an error on installing protk about List index out of range. Just to summarize, I can't see how to setup my dependencies properly so that the executables installed by protk get run with the correct environment. The repository I'm trying to install is http://testtoolshed.g2.bx.psu.edu/view/iracooke/omssa I'm sure I've just got muddled somewhere ... but it feels like I'm just messing around and getting it wrong. I'd rather do it in the way you envisioned. If you could give me some pointers on what I've done wrong it would help alot Thanks Ira On 29/10/2013, at 8:14 PM, Bjoern Gruening bjoern.gruen...@gmail.com wrote: Ahhh ... Thanks .. I can't believe I missed that. Thanks for spotting it. No problem! I'm not sure I understand enough about how this works to answer your ruby_home question. Ill play with this more tomorrow and see how things work with my tools and maybe have more feedback then Sure,
Re: [galaxy-dev] Working with setup_ruby_environment tag
Hi Bjoern, I've just done some more testing of my tool with a fresh install and a fresh checkout of galaxy. After install of this tool http://testtoolshed.g2.bx.psu.edu/view/iracooke/package_protk_1_2_5 I have an env.sh that looks like GEM_PATH=/home/vagrant/tool_dependencies/protk/1.2.5/iracooke/package_protk_1_2_5/1100ac98dfd2:$GEM_PATH; export GEM_PATH PATH=/home/vagrant/tool_dependencies/protk/1.2.5/iracooke/package_protk_1_2_5/1100ac98dfd2/bin:$PATH; export PATH Which seems to be enough for me to run the executables in my gem.So I must be wrong about GEM_HOME needing to be set ... sorry for the false alarm there. The thing that I'm now having trouble with is that all the other set_environment tags in my tool definition are ignored. In my tool_dependencies.xml I have action type=set_environment environment_variable action=prepend_to name=PATH$INSTALL_DIR/bin/environment_variable environment_variable action=set_to name=GEM_HOME$INSTALL_DIR//environment_variable environment_variable action=set_to name=PROTK_BLAST_ROOTFROMPATH/environment_variable /action Admittedly some of that stuff is redundant ( I now realise ) ... but other stuff (eg PROTK_BLAST_ROOT ) is important ... but it gets ignored. Is this intended? Seems like I should be able to use the set_environment action as well as the setup_ruby_environment action in the same tool definition? Hope you can clarify. Thanks Ira On 31/10/2013, at 6:06 AM, Ira Cooke mudflatsoftw...@gmail.com wrote: Hi Bjoern, I saw the same SO post ... but it says that GEM_PATH can be multiple paths but one of them should be GEM_HOME. Under your system (I think) GEM_HOME remains unset? Anyway ... I'll test again to double check that this is required for my tool to work. Cheers Ira On 31 Oct 2013, at 6:00 am, Björn Grüning bjoern.gruen...@pharmazie.uni-freiburg.de wrote: Hi Ira, Hi Bjoern, I'll test, thanks! but I wonder if the problem is that GEM_PATH is set instead of GEM_HOME. I think GEM_HOME needs to be set also. It's zoo of environment variables out there :)!! Mh according to http://stackoverflow.com/questions/11277227/whats-the-difference-between-gem-home-and-gem-path GEM_PATH will contain GEM_HOME and GEM_HOME is used for installation, and I use it for installation of GEMs, See the code. If you think GEM_HOME is necessary to export I will do so. Otherwise I would not export to much. Thanks! Bjoern Also ... I think GEM_HOME should be set using set_to not prepend_to ... I am using the latest galaxy-central (default branch). Cheers Ira On 31 Oct 2013, at 12:33 am, Bjoern Gruening bjoern.gruen...@gmail.com wrote: Hi Ira, that is strange, because PATH and GEM_HOME should be set automatically for you. Please have a look at https://github.com/bgruening/galaxytools/blob/master/orphan_tool_dependencies/package_ruby2_bioruby_1_4/tool_dependencies.xml http://testtoolshed.g2.bx.psu.edu/view/bgruening/package_ruby2_bioruby_1_4 That definition results on my test environment in: GEM_PATH=/home/gruening/projects/code/galaxy-central/tool_deps/bioruby/1.4/bgruening/package_ruby2_bioruby_1_4/0a30368657b1:$GEM_PATH; export GEM_PATH PATH=/home/gruening/projects/code/galaxy-central/tool_deps/bioruby/1.4/bgruening/package_ruby2_bioruby_1_4/0a30368657b1/bin:$PATH; export PATH And the code for that is here: https://bitbucket.org/galaxy/galaxy-central/src/77d58fdd1c2e0dfde374276209279c5e94b1e4c0/lib/tool_shed/galaxy_install/tool_dependencies/fabric_util.py?at=default#cl-431 Are you using the latest galaxy central? Regarding RUBYLIB, I think we need to set it to specify the right ruby version, because many can be installed in parallel. Some holds for RUBYHOME or? I see your point in having it set automatically and came with the attached patch. Here I need to assume that package_ruby_x_x will have RUBYLIB and RUBYHOME specified, but I think that is a save assumption. Nevertheless, we should document it. With that new patch you will end up with RUBYLIB=/home/gruening/projects/code/galaxy-central/tool_deps/ruby/2.0/bgruening/package_ruby_2_0/a0494c6e1c63/lib/; export RUBYLIB RUBYHOME=/home/gruening/projects/code/galaxy-central/tool_deps/ruby/2.0/bgruening/package_ruby_2_0/a0494c6e1c63; export RUBYHOME GEM_PATH=/home/gruening/projects/code/galaxy-central/tool_deps/bioruby/1.4/bgruening/package_ruby2_bioruby_1_4/0a30368657b1:$GEM_PATH; export GEM_PATH PATH=/home/gruening/projects/code/galaxy-central/tool_deps/bioruby/1.4/bgruening/package_ruby2_bioruby_1_4/0a30368657b1/bin:$PATH; export PATH PATH=/home/gruening/projects/code/galaxy-central/tool_deps/ruby/2.0/bgruening/package_ruby_2_0/a0494c6e1c63/bin:$PATH; export PATH Thanks very much for your feedback. I do not have any ruby repository so I really appropriate
[galaxy-dev] Working with setup_ruby_environment tag
Hi Bjoern, Changing the title to reflect the proper topic I see now that the gem executables are installed under $INSTALLDIR/bin so I added this to the environment for my protk install. That got me to the point where my executable would run ... but now I'm seeing that in my env.sh file I don't really have my ruby environment setup properly (ie RUBYLIB and GEM_HOME are not set). This resulted in my tool running but it couldn't find my gem. So I tried adding ruby explicitly as a tool dependency for my downstream tool (this seems wrong though ... since it is required by protk ... and if I include protk I should get it automatically right?). After doing this though I was getting an error on installing protk about List index out of range. Just to summarize, I can't see how to setup my dependencies properly so that the executables installed by protk get run with the correct environment. The repository I'm trying to install is http://testtoolshed.g2.bx.psu.edu/view/iracooke/omssa I'm sure I've just got muddled somewhere ... but it feels like I'm just messing around and getting it wrong. I'd rather do it in the way you envisioned. If you could give me some pointers on what I've done wrong it would help alot Thanks Ira On 29/10/2013, at 8:14 PM, Bjoern Gruening bjoern.gruen...@gmail.com wrote: Ahhh ... Thanks .. I can't believe I missed that. Thanks for spotting it. No problem! I'm not sure I understand enough about how this works to answer your ruby_home question. Ill play with this more tomorrow and see how things work with my tools and maybe have more feedback then Sure, thanks for working on that! Here is the promised trello card: https://trello.com/c/l9ZlGa8R Ciao, Bjoern Cheers Ira On 29 Oct 2013, at 7:17 pm, Björn Grüning bjoern.gruen...@pharmazie.uni-freiburg.de wrote: Hi Ira, as far as I can see you missed the actions tag. That results in no log message at all, since no action type is executed. Galaxy should probably give an error here. Or better validate that during tool upload. I will fill a Trello Card for it. The following code snipped worked for me: ?xml version=1.0? tool_dependency package name=protk version=1.2.5 install version=1.0 actions action type=setup_ruby_environment repository changeset_revision=a0494c6e1c63 name=package_ruby_2_0 owner=bgruening toolshed=http://testtoolshed.g2.bx.psu.edu; package name=ruby version=2.0 / /repository packageprotk=1.2.6.pre1/package /action /actions /install readme Installs version 1.2.5 of the protk rubygem from rubygems.org /readme /package /tool_dependency Keep in mind that the repository tag should be filled. If you have a actions and action tag it will be filled automatically by the TS during upload. But better to check :) To populate the RUBY_HOME env var ... do you think its better to set it via the installation automatically? My idea was to just require ruby in the tool? If you want to set it in your protk definition you need to use the $ENV[] construct. Cheers, Bjoern Hi Bjoern, Thanks ... I thought I had to do that in order to make the GALAXY_RUBY_HOME variable available ... nice that it's not necessary. I've updated the tool on the test toolshed and have rerun my test but unfortunately the problem is still there. Cheers Ira On 29/10/2013, at 10:06 AM, Björn Grüning bjoern.gruen...@pharmazie.uni-freiburg.de wrote: Hi Ira, I can reproduce that error here, will try to study it tomorrow more deeply. For the meantime can you try to remove the following lines? action type=set_environment_for_install repository name=package_ruby_2_0 owner=bgruening package name=ruby version=2.0 / /repository /action It's not necessary. Will get back to you tomorrow. Bjoern Hi All, The short version of my problem is that I often seem to find myself in a situation where my tool gets stuck in the Installing phase ... and I don't know how to get feedback on it to see where it is failing. What I guess I'm after is just the stdout of the tool installation .. but since the tool install never completes I can never see this. What I usually do is try to recreate the environment that galaxy sees during tool install in a normal shell .. and then run it manually .. which sometimes tells me the problem ... but not always (see below). The longer version of my problem is below. In my case I am struggling with the following tool http://testtoolshed.g2.bx.psu.edu/view/iracooke/package_protk_1_2_5 Which uses the new setup_ruby_environment tag ... so the tool should do the following (1) Install the dependency .. Ruby 2.0 ... which it does successfully (2) Install my protk rubygem from