-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Clingo concretizer does not support non-numeric versions #20055
Copy link
Copy link
Closed
Labels
Description
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_gfortranpackages:
mpi:
buildable: false
spectrum-mpi:
externals:
- spec: spectrum-mpi@release%clang@upstream_gfortran
prefix: /path/to/mpiAdditional information
- I have run
spack debug reportand 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
Reactions are currently unavailable