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

