hi garvey,

There seems to be a restriction in Easybuild that all
dependencies/builddependencies defined in a Easybuild
configuration file need to be also built with the same toolchain. Is there
some way to remove this restriction?
this issue has been raised before, so we are aware of it, but unless i'm mistaken, no easy solution exists for this, and at least i don't consider it as a real problem. (but i admit that this is a personal viewpoint, and maybe full lmod support might be a good opportunity to introduce a more flexible form of subtoolchains).

e.g
If I build ScaLAPACK with the gmvapich2 toolchain and I want to use
OpenBLAS(dependencies), I must
also build OpenBLAS with the same toolchain gmvapich2. OpenBLAS is not a
distributed parallel library and
does not need an MPI library, my preference in this case would be to build
OpenBLAS with just the GCC
compiler and define this version as a dependency when I build ScaLAPACK.
if you build a toolchain, ScaLAPACK is part of that toolchain. a toolchain provides support a c,C++ and fortran compiler; blas, lapack, mpi, scalapack and fftw. i don't consider it as an issue because it is a form of greatest common divisor between software: packages typically need a few of these, and the version dependent naming is squased into the toolchain name and version. but the important thing: EB supports building with --robot, so it does not impose any extra work for the EB user. just do eb --robot some_easyconfig_using_some_toolchain.eb and eb will resolve all dependencies and build all that is missing (including the whole toolchain). the only waste might be that there are duplicate installations, if they are truly identical. (eg GCC will only build once for 2 toolchains that are GCC based).


If I build any a distributed parallel Application with CMake and I define
CMake as a builddependency,
I must build CMAKE with the same parallel toolchain, when I would prefer to
build CMAKE with just a GCC
compiler.

Any suggestions on how to do this?
no. just set CMAKE as the dependency and build with --robot (and go for a coffee ;) e.g. some people have tried to convince me that CMAKE is truly independent of compiler/blas/mpi/fft, so this could be a waste of compilation time and disk usage, but keep in mind that this is the exception (and i'm not convinced it's actually correct, given amount of hooks CMAKE provides, also implying an inormous amount of patches to be applied, making it very dependent of the toolchain; but that's a different discussion altogether.)

mostly just my 2 cents ;)

stijn


Thanks,
Cormac.

Reply via email to