Dear Samuel, Components of a toolchain are not ordinary dependencies and are treated in a special way by EB, which expects them to be present in a particular manner. I did quite a bit of work on the system compiler and system MPI easyblocks a few months back. The systemcompiler supports GCC and Intel compilers (if you have the compilers in your path it should figure out the rest). Examples of use of this and the systemmpi easyblock can be found in https://github.com/easybuilders/easybuild-easyconfigs/pull/4136 . Since this is already merged, you will be able to wrap your intel compilers with eb iccifort-system-GCC-system-2.29.eb <https://github.com/easybuilders/easybuild-easyconfigs/pull/4136/files#diff-d3414ec582f96e5a4975744e03ac5e3e> (this will also wrap your system GCC and build binutils 2.29)
The systemmpi easyblock would need work for your use case, that easyblock <https://github.com/easybuilders/easybuild-easyblocks/blob/master/easybuild/easyblocks/generic/systemmpi.py> would need to be extended to support MVAPICH2 (currently it supports OpenMPI and IntelMPI). For the maths libraries there is currently no system easyblock available, that would have to be written from scratch. Kind regards, Alan On 18 May 2018 at 11:19, Bernd Mohr <[email protected]> wrote: > Dear Samuel, > > I guess the simplest way to achieve what you want is to create EasyBuild > modules for your compiler and MPI installed outside of EasyBuild > with the "SystemCompiler" and "SystemMPI" easyblocks. > > Bernd > > On Thu, May 17, 2018 at 10:25:10PM +0200, [email protected] wrote: > > Hello, > > > > I am new to EasyBuild and am trying to create a custom toolchain which > uses > > external dependencies where the compiler and MPI are have manually > created > > modules outside of Easybuild. > > > > I created an easyconfig file imv2.eb: > > easyblock = "Toolchain" > > name = 'imv2' > > version = '1.1.2' > > homepage = 'http://software.intel.com/en-us/intel-cluster-toolkit- > compiler/' > > description = """Intel Cluster Toolkit Compiler Edition provides Intel > C/C++ > > and Fortran compilers, Intel MPI & Intel MKL.""" > > toolchain = {'name': 'dummy', 'version': 'dummy'} > > dependencies = [ # > version/released > > ('intel/18.0.0', EXTERNAL_MODULE), > > ('mvapich2/2.3rc2', EXTERNAL_MODULE), > > ] > > moduleclass = 'toolchain' > > module_depends_on = {('intel/18.0.0'), ('mvapich2/2.3rc2')} > > > > and easyblock: > > from easybuild.toolchains.mpi.mvapich2 import Mvapich2 > > from easybuild.toolchains.fft.intelfftw import IntelFFTW > > from easybuild.toolchains.linalg.intelmkl import IntelMKL > > from easybuild.toolchains.iccifort import IccIfort > > > > class Imv2(IccIfort, Mvapich2, IntelMKL, IntelFFTW): > > """ > > Compiler toolchain with Intel compilers (icc/ifort), MVAPICH2 MPI, > > Intel Math Kernel Library (MKL) and Intel FFTW wrappers. > > """ > > NAME = 'imv2' > > SUBTOOLCHAIN = IccIfort.NAME > > > > However when I try installing a package that depends on this toolchain I > get > > the following message: > > > > FAILED: Installation ended unsuccessfully (build directory: > /users/PZS0530/ > > skhuvis/.local/easybuild/build/ScaLAPACK/2.0.2/imv2-1.1.2): build failed > > (first 300 chars): List of toolchain dependency modules and toolchain > > definition do not match (found ['intel/18.0.0', 'mvapich2/2.3rc2'] vs > expected > > set(['MVAPICH2', 'icc', 'imkl', 'ifort'])) > > > > What would be the correct way to create this module to use external > modules? > > > > Thank you, > > Samuel Khuvis > > Scientific Applications Engineer > > Ohio Supercomputer Center (OSC) > > A member of the Ohio Technology Consortium > > 1224 Kinnear Road, Columbus, Ohio 43212 > > -- > Dr.-Ing. Bernd Mohr > Juelich Supercomputing Centre > Institute for Advanced Simulation > > E-Mail: [email protected] > WWW: http://www.fz-juelich.de/SharedDocs/Personen/IAS/JSC/ > EN/staff/mohr_b.html > > > ------------------------------------------------------------ > ------------------------------------ > ------------------------------------------------------------ > ------------------------------------ > Forschungszentrum Juelich GmbH > 52425 Juelich > Sitz der Gesellschaft: Juelich > Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498 > Vorsitzender des Aufsichtsrats: MinDir Dr. Karl Eugen Huthmacher > Geschaeftsfuehrung: Prof. Dr.-Ing. Wolfgang Marquardt (Vorsitzender), > Karsten Beneke (stellv. Vorsitzender), Prof. Dr.-Ing. Harald Bolt, > Prof. Dr. Sebastian M. Schmidt > ------------------------------------------------------------ > ------------------------------------ > ------------------------------------------------------------ > ------------------------------------ > > -- Dr. Alan O'Cais E-CAM Software Manager Juelich Supercomputing Centre Forschungszentrum Juelich GmbH 52425 Juelich, Germany Phone: +49 2461 61 5213 Fax: +49 2461 61 6656 E-mail: [email protected] WWW: http://www.fz-juelich.de/ias/jsc/EN

