Hi Marteen,
Welcome to the club!
In our cluster we provide CMake at the GCCcore level. In this way we have a
single install for a given version of the foss and intel toolchains, since they
both share the GCCcore toolchain. I cannot foresee any significant issue in
building it with the dummy toolchain but we prefer to limit as much as possible
the software installed at that level.
One good reason for this is that, if you are using minimal toolchains, EB does
not look for available dependencies in the dummy toolchain by default. This can
be overridden either in the dependency specification in the easyconfig or
through the --add-dummy-to-minimal-toolchains option.
For all the other dependencies that provide libraries, we build them at the
GCCcore level so that we have single install for both foss and intel toolchains
since they are binary compatible. The only exception are libraries that may
show different performances if built with a specific compiler (not all
compilers optimize at the same way), like math libraries. In this case we
prefer to build them with the GCC or iccifort toolchains.
--
Davide Vanzo, PhD
Application Developer
Adjunct Assistant Professor of Chemical and Biomolecular Engineering
Advanced Computing Center for Research and Education (ACCRE)
Vanderbilt University - Hill Center 201
(615)-875-9137
www.accre.vanderbilt.edu
On 2017-08-15 14:12:40-05:00 Maarten Bosmans wrote:
Hi List,
I'm trying to get to know EasyBuild. So far there's been lots of little
surprises and frustrations, but as I'm slowly getting used to the whole system,
it looks like a nice way to manage building (scientific) software from source.
A couple of things I still do not fully understand. One of them is why build
tools like CMake and M4 are recompiled for each toolchain. In most easyconfigs
where CMake is in the builddependencies it is specified without toolchain. So
it seems that the installation of toolchain-specific CMakes is mainly because
the limited availability of CMake easyconfigs using the dummy toolchain. Am I
missing something, or would it make more sense to make an easyconfig for each
CMake version using the dummy toolchain and not for other toolchains?
The same thing goes for flex and bison, but these packages actually have a lib
part, so for some use cases it could actually make sense to predicate their
version on the toolchain.
Maarten Bosmans