easybuilders / easybuild-framework

EasyBuild is a software installation framework in Python that allows you to install software in a structured and robust way.
https://easybuild.io
GNU General Public License v2.0
151 stars 202 forks source link

--minimal-toolchains=true and --try-toolchain seems to be incompatible. #1951

Open akesandgren opened 8 years ago

akesandgren commented 8 years ago

With minimal-toolchain=True in the config file i get:

$ eb CMake-3.5.2-foss-2016b.eb --try-toolchain-version=2016.09 --dry-run 
== temporary log file in case of crash /scratch/eb-5zEfmJ/easybuild-qk8pkV.log
ERROR: No easyconfig for {'external_module_metadata': {}, 'full_mod_name': None, 'toolchain': {'version': '2016.09', 'name': 'foss'}, 'name': 'ncurses', 'dummy': False, 'short_mod_name': None, 'external_module': False, 'versionsuffix': '', 'version': '6.0', 'toolchain_inherited': True, 'hidden': False, 'build_only': False} that matches toolchain hierarchy generated by {'version': '2016.09', 'name': 'foss'}

Adding --disable-minimal-toolchain it works.

$ eb CMake-3.5.2-foss-2016b.eb --try-toolchain-version=2016.09 --dry-run --disable-minimal-toolchain
== temporary log file in case of crash /scratch/eb-yoUjR2/easybuild-SQL9GN.log
Dry run: printing build status of easyconfigs and dependencies
 * [x] /hpc2n/eb/ebfiles_repo/M4/M4-1.4.17.eb (module: Core | M4/1.4.17)
 * [x] /pfs/nobackup/home/a/ake/easybuild/easyconfigs/g/GCCcore/GCCcore-6.2.0.eb (module: Core | GCCcore/6.2.0)
 * [x] /hpc2n/eb/ebfiles_repo/GCC/GCC-6.2.0-2.27.eb (module: Core | GCC/6.2.0-2.27)
 * [x] /hpc2n/eb/ebfiles_repo/numactl/numactl-2.0.11-GCC-6.2.0-2.27.eb (module: Compiler/GCC/6.2.0-2.27 | numactl/2.0.11)
 * [x] /hpc2n/eb/ebfiles_repo/hwloc/hwloc-1.11.4-GCC-6.2.0-2.27.eb (module: Compiler/GCC/6.2.0-2.27 | hwloc/1.11.4)
 * [x] /hpc2n/eb/ebfiles_repo/OpenMPI/OpenMPI-2.0.1-GCC-6.2.0-2.27.eb (module: Compiler/GCC/6.2.0-2.27 | OpenMPI/2.0.1)
 * [x] /hpc2n/eb/ebfiles_repo/gompi/gompi-2016.09.eb (module: Core | gompi/2016.09)
 * [x] /hpc2n/eb/ebfiles_repo/OpenBLAS/OpenBLAS-0.2.19-gompi-2016.09-LAPACK-3.6.1.eb (module: MPI/GCC/6.2.0-2.27/OpenMPI/2.0.1 | OpenBLAS/0.2.19-LAPACK-3.6.1)
 * [x] /pfs/nobackup/home/a/ake/easybuild/easyconfigs/f/FFTW/FFTW-3.3.5-gompi-2016.09.eb (module: MPI/GCC/6.2.0-2.27/OpenMPI/2.0.1 | FFTW/3.3.5)
 * [x] /hpc2n/eb/ebfiles_repo/ScaLAPACK/ScaLAPACK-2.0.2-gompi-2016.09-OpenBLAS-0.2.19-LAPACK-3.6.1.eb (module: MPI/GCC/6.2.0-2.27/OpenMPI/2.0.1 | ScaLAPACK/2.0.2-OpenBLAS-0.2.19-LAPACK-3.6.1)
 * [x] /hpc2n/eb/ebfiles_repo/foss/foss-2016.09.eb (module: Core | foss/2016.09)
 * [ ] /scratch/eb-yoUjR2/tweaked_easyconfigs/ncurses-6.0-foss-2016.09.eb (module: MPI/GCC/6.2.0-2.27/OpenMPI/2.0.1 | ncurses/6.0)
 * [ ] /scratch/eb-yoUjR2/tweaked_easyconfigs/CMake-3.5.2-foss-2016.09.eb (module: MPI/GCC/6.2.0-2.27/OpenMPI/2.0.1 | CMake/3.5.2)
== Temporary log file(s) /scratch/eb-yoUjR2/easybuild-SQL9GN.log* have been removed.
== Temporary directory /scratch/eb-yoUjR2 has been removed.

I'm using HierarchicalMNS, in case that has any effect on the problem.

ocaisa commented 8 years ago

--try-toolchain is not clever enough to deal with this yet. An outline of how it could work is in #1627