Skip to content

With Clingo arbitrary external package versions are not allowed  #20244

@ilbiondo

Description

@ilbiondo

Steps to reproduce the issue

Try and solve / concretise an external package that previously worked with the old concretiser.

$ spack solve slurm
==> The following constraints are unsatisfiable:
  external_only("slurm")
  root("slurm")
  version_declared("slurm","19-05-6-1",2)
  version_satisfies("slurm","19.05.6") :- external_spec("slurm",0).

With the following external definition:

  slurm:
    buildable: false
    externals:
    - spec: [email protected]
      prefix: /usr

Error Message

$ spack -d spec slurm
==> [2020-12-04-14:40:10.678728] Imported spec from built-in commands
==> [2020-12-04-14:40:10.679839] Imported spec from built-in commands
Input spec
--------------------------------
slurm

Concretized
--------------------------------
==> [2020-12-04-14:40:10.682664] Reading config file /dcsrsoft/spack/hetre/v0.2/spack/etc/spack/packages.yaml
==> [2020-12-04-14:40:10.714131] Reading config file /dcsrsoft/spack/hetre/v0.2/spack/etc/spack/compilers.yaml
==> [2020-12-04-14:40:10.727205] Reading config file /dcsrsoft/spack/hetre/v0.2/spack/var/spack/environments/S6g1-IB-test1/spack.yaml
==> [2020-12-04-14:40:10.839162] Reading config file /dcsrsoft/spack/hetre/v0.2/spack/etc/spack/defaults/repos.yaml
==> [2020-12-04-14:40:10.841616] Reading config file /dcsrsoft/spack/hetre/v0.2/spack/etc/spack/repos.yaml
==> [2020-12-04-14:40:10.842923] Reading config file /users/dcsrsoft/.spack/linux/repos.yaml
==> [2020-12-04-14:40:13.190121] Reading config file /dcsrsoft/spack/hetre/v0.2/spack/etc/spack/compilers.yaml
==> [2020-12-04-14:40:13.249151] Reading config file /dcsrsoft/spack/hetre/v0.2/spack/etc/spack/defaults/packages.yaml
==> [2020-12-04-14:40:13.272832] Reading config file /dcsrsoft/spack/hetre/v0.2/spack/etc/spack/packages.yaml
==> [2020-12-04-14:40:22.598398] The following constraints are unsatisfiable:
  external_only("slurm")
  root("slurm")
  version_declared("slurm","19-05-6-1",1)
  version_satisfies("slurm","19.05.6") :- external_spec("slurm",0).
==> [2020-12-04-14:40:22.603311] UnsatisfiableSpecError: slurm does not satisfy unknown
==> [2020-12-04-14:40:22.605218] Error: slurm does not satisfy unknown
Traceback (most recent call last):
  File "/dcsrsoft/spack/hetre/v0.2/spack/lib/spack/spack/main.py", line 762, in main
    return _invoke_command(command, parser, args, unknown)
  File "/dcsrsoft/spack/hetre/v0.2/spack/lib/spack/spack/main.py", line 490, in _invoke_command
    return_val = command(parser, args)
  File "/dcsrsoft/spack/hetre/v0.2/spack/lib/spack/spack/cmd/spec.py", line 102, in spec
    spec.concretize()
  File "/dcsrsoft/spack/hetre/v0.2/spack/lib/spack/spack/spec.py", line 2469, in concretize
    self._new_concretize(tests)
  File "/dcsrsoft/spack/hetre/v0.2/spack/lib/spack/spack/spec.py", line 2448, in _new_concretize
    raise spack.error.UnsatisfiableSpecError(
spack.error.UnsatisfiableSpecError: slurm does not satisfy unknown

Information on your system

$ spack --version
0.16.0-163-98517af

Additional information

As suggested by @alalazo changing the declared version to match one in package.py resolves the immediate issue.

  slurm:
    buildable: false
    externals:
    - spec: slurm@19-05-6-1
      prefix: /usr
  • 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

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions