On 07/08/15 16:53, Kenneth Hoste wrote:
> Hi Chris,
Hiya Kenneth,
> You'd need to include this, rather than what you mentioned (that would
> only work in easyconfig files):
>
> self.cfg.update('configopts', '--with-arch=native')
Odd, I just copied how the existing code in the gcc.py file did things
and it worked as expected (it now builds with that option):
[samuel@qan02 ~]$ gcc -v
[...]
Configured with: ../configure [...] --with-arch=native [...]
> However, this change will be lost as soon as you reinstall/update
> EasyBuild, so you'd need to remember to reapply this patch.
Agreed, but it's easier to do that than to patch/merge all the
easyconfigs each time.
> For now, it may suffice as a temporary solution, but we need a better
> solution in place for sure to support these kind of site customizations.
What did you think of my idea of a config file in the appropriate
easyconfig directory?
Be nice if it could be found via robot_path in an otherwise empty tree
so it could be held separately under git.
>> We've already set __INTEL_PRE_CFLAGS and __INTEL_PRE_FFLAGS so
>> that's the Intel compilers covered.
>
> Hah, I didn't know about these, interesting.
Yeah, that was my discovery this week (before now we relied on setting
OMPI_CFLAGS etc to pass those in but that doesn't help people building
non-MPI code).
> There's no easyblock for OpenMPI, since OpenMPI is installed using the
> generic ConfigureMake easyblock, so you can't just go and patch
> openmpi.py like you did for gcc.py.
Yup, I've just found that out. :-)
> If you really want to fix it in one place, you could modify your
> configuremake.py with something like:
>
> if self.name == 'OpenMPI':
> self.cfg.update('configopts', '--with-slurm')
>
> I don't recommend this though; same argument as for gcc.py, it's an ugly
> hack that is bound to bite you in the ass at some point.
If there was some way to map all versions of MPI to a single blessed
OpenMPI version per compiler (GCC/Intel) then I would be very happy to
just have our own Easyconfig file for that version that was found via
robot_path instead.
> For now, if you need to enhance easyconfigs with site customizations,
> you should copy and edit the easyconfig files, and put them in a directory.
That's what I started off trying to do. But with 29 of them it becomes
painful when you upgrade and have to redo them all again.
[...]
> That does mean you need to be careful that new easyconfigs that are
> added when you update your EasyBuild installation also get a customized
> version.
Yeah, I copied the newly arrived versions over and updated them.
> I know it's not a satisfactory solution for simple modifications that
> are version-agnostic, but it's the best we have in place for now.
Understood, and please don't take my blundering around with this as
feeling bad about it, I think it's a great idea, just trying to work out
how to make it do what we need. :-)
All the best,
Chris (about to knock off for the weekend)
--
Christopher Samuel Senior Systems Administrator
VLSCI - Victorian Life Sciences Computation Initiative
Email: [email protected] Phone: +61 (0)3 903 55545
http://www.vlsci.org.au/ http://twitter.com/vlsci