Hi Joachim,
On 15/01/16 18:04, Joachim Hein wrote:
Dear Kenneth,
Thanks for the direct response. It was indeed helpful. I studied
this a bit further and would appreciate a few more pointers on the
“copy”. I located what I believe the relevant configuration file is in:
EasyBuild/2.5.0/lib/python2.7/site-packages/easybuild_easyconfigs-2.5.0-py2.7.egg/easybuild/easyconfigs/o/OpenMPI
The relevant file seems to be: OpenMPI-1.8.8-GNU-4.9.3-2.25.eb
Which directory do I copy that to?
Doesn't matter, EasyBuild picks up easyconfig files in the current
working directory, and only goes looking for them through the robot
search path
(http://easybuild.readthedocs.org/en/latest/Using_the_EasyBuild_command_line.html#searching-for-easyconfigs-the-robot-search-path)
if they're not available in the current working dir.
Note that the name doesn't matter either for easyconfigs you specify on
the command; the filename only matters when EB needs to find that
easyconfig file to resolve a dependency.
So, you can copy it to "myOpenMPI.eb", and then install it with "eb
myOpenMPI.eb" after modifying it.
If I were to change the above file, would that change be kept
Yes, but I wouldn't recommend changing it in place, you're bound to
forget you've changed it.
or would easybuild figure that I hacked it and get the original
version back?
No, it doesn't check that at all.
If it keeps, I assume the change will be lost when I upgrade to EB 2.6.0.
Yes, v2.6.0 will include the easyconfig files as they're in the
easybuild-easyconfigs repository on GitHub.
On the command line would a --try-amend=configoptions+=‘--with-pmi’
and using the vanilla easyconfig lead anywhere?
This should work, and it will do the copying for you (i.e. it won't
fiddle with the existing easyconfig file part of the installation).
You'll need to be careful and make sure you have a space in front of the
--with-pmi though.
Here's what I would recommend:
* create a directory named 'my_tweaked_easyconfigs'
* copy the OpenMPI easyconfig file to there, and keep the filename the same
* modify the copied easyconfig file to include --with-pmi in configopts
* add the 'my_tweaked_easyconfigs' to the default robot search path, see
http://easybuild.readthedocs.org/en/latest/Using_the_EasyBuild_command_line.html#controlling-the-robot-search-path
and especially
http://easybuild.readthedocs.org/en/latest/Using_the_EasyBuild_command_line.html#prepending-and-or-appending-to-the-default-robot-search-path
* check with "eb --dry-run OpenMPI-1.8.8-GNU-4.9.3-2.25.eb" whether your
tweaked OpenMPI easyconfig is found first
* (re)install OpenMPI
With a setup like this, your tweaked easyconfigs will always be
considered first, both when specified explicitly or when using to
resolve a dependency. Note that the name of the easyconfig file *does*
matter here.
With a setup like this, you can typically modify an easyconfig file
once, and forget about it, even when upgrading EasyBuild to a newer
version (your tweaked easyconfigs will still have preference).
The only thing to take into account is that the easyconfigs we ship
*may* be modified in newer EasyBuild versions too, for example to fix a
bug or the enhance the installation.
Sorry for the large number of questions.
Don't worry, ask away! If you don't get an answer to your question, just
ping us again after a while.
K.