Skip to content

Concretization of competing version constraints #2632

@adamjstewart

Description

@adamjstewart

Just noticed this problem:

$ spack spec h5hut
...
==> Error: Invalid spec: '[email protected]%[email protected]+cxx~debug+fortran~mpi+pic+shared+szip~threadsafe arch=linux-centos6-x86_64'. Package hdf5 requires version 1.8:1.8.12, but spec asked for 1.10.0-patch1

This works though:

$ spack spec h5hut +mpi

This problem was uncovered by #2590, which changed the default to +mpi. The problem is with the following version constraints:

depends_on("hdf5 @1.8:")
# h5hut +mpi uses the obsolete function H5Pset_fapl_mpiposix:
depends_on("hdf5 @:1.8.12", when="+mpi")

My understanding is that Spack ignores any when= dependencies during the first phase of concretization unless they are specified on the command line. Since I didn't specify +mpi, it chose the latest version of HDF5. Then, when it evaluated the default of +mpi, it found that the latest version of HDF5 does not satisfy @:1.8.12. @tgamblin

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions