Hi Tim,

Welcome to the wonderful world of EasyBuild!

On 07/09/16 01:29, Tim Slauson wrote:
Hello EasyBuilders,

I'm trying out EasyBuild for the first time (version 2.8.2), and am having trouble hooking in the vendor-provided MPI modules on one of our clusters. The modules all follow the same naming convention of name/compiler/ver (e.g. openmpi/gnu/1.10.2, mvapich2-psm/intel/2.1, ...). After reading about EXTERNAL_MODULE, I adapted the gompi-2016.06.eb toolchain easyconfig:

3c3
< name = 'gompi'
---
> name = 'pic-gompi'
17c17
<     ('OpenMPI', '1.10.3', '', ('GCC', gccver)),
---
>     ('openmpi/gnu/1.10.2', EXTERNAL_MODULE),


And wrote external module metadata:

[openmpi/gnu/1.10.2]
name = OpenMPI
version = 1.10.2
prefix = MPI_HOME


And defined a new toolchain:

from easybuild.toolchains.gompi import Gompi

class PicGompi(Gompi):
    """PIC compiler toolchain with GNU compilers and OpenMPI"""
    NAME = 'pic-gompi'


This allows me to build a toolchain.  But when I run this:

eb FFTW-3.3.4-gompi-2016.06.eb --try-toolchain=pic-gompi,2016.06

I get this error:

ERROR: Build of /tmp/eb-HkZNza/tweaked_easyconfigs/FFTW-3.3.4-pic-gompi-2016.06.eb failed (err: "build failed (first 300 chars): List of toolchain dependency modules and toolchain definition do not match (found ['GCC/5.4.0-2.26', 'openmpi/gnu/1.10.2'] vs expected set(['GCC', 'OpenMPI']))")

I get similar errors when repeating this process for the other vendor-provided libraries. Can somebody please point me in the right direction?

You're hitting this because EasyBuild verifies the module for the toolchain with the definition of the toolchain. This is done using module names, see for example https://github.com/hpcugent/easybuild-framework/blob/master/easybuild/toolchains/mpi/openmpi.py#L44 .

You should be able to fix your problem by including this in your pic-gompi toolchain definition (i.e. reset it to the default):

    MPI_MODULE_NAME = []

This should only affect the toolchain definition verification mechanism, nothing else.


regards,

Kenneth

Reply via email to