Skip to content

Clingo concretizer does not support non-numeric versions #20055

@joshessman-llnl

Description

@joshessman-llnl

I ran spack spec to concretize a package and was unable to concretize using non-numeric compiler or dependent package versions.

Steps to reproduce the issue

$ spack spec -I hdf5%clang@upstream_gfortran
==> [2020-11-23-10:49:21.285015] The following constraints are unsatisfiable:
  node_compiler_version_hard("hdf5","clang","upstream_gfortran")
  root("hdf5")

If the clang version is changed to a fake version (15.7), concretization without MPI succeeds.
But when MPI is added:

$ spack spec -I hdf5+mpi%[email protected]
==> [2020-11-23-10:50:54.382014] The following constraints are unsatisfiable:
  # a bunch of external_only facts for other MPI providers
  external_only("spectrum-mpi")
  external_version_declared("spectrum-mpi","release",-1,0)
  external_version_declared("spectrum-mpi","release",-2,1)
 # ... other possible_provider clauses for other MPI providers
  node("spectrum-mpi") :- possible_provider("mpi","spectrum-mpi",20).
  root("hdf5")
  single_provider_for("mpi",":") :- real_node("hdf5"),node("hdf5"),variant_value("hdf5","mpi","True").
  variant("hdf5","mpi")
  variant_set("hdf5","mpi","True")

Concretization succeeds when the external spectrum-mpi is also converted to use a fake numeric version number.

Error Message

Above

Information on your system

  • Spack: 0.16.0-23-e75b76f43
  • Python: 3.7.2
  • Platform: linux-rhel7-power9le
  • Concretizer: clingo
compilers:
- compiler:
    # ...
    spec: clang@upstream_gfortran
packages:
mpi:
    buildable: false
  spectrum-mpi:
    externals:
      - spec: spectrum-mpi@release%clang@upstream_gfortran
        prefix: /path/to/mpi

Additional information

  • I have run spack debug report and reported the version of Spack/Python/Platform
  • I have searched the issues of this repo and believe this is not a duplicate
  • I have run the failing commands in debug mode and reported the output

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions