Skip to content

Clingo concretizer regression #20736

@joshessman-llnl

Description

@joshessman-llnl

Steps to reproduce the issue

Discovered while merging develop into #20657, appears to have been introduced in 0ce0864

Using clingo@master with the standard (i.e., non-CFFI) Python module:

$ python3 -c "import clingo; print(hasattr(clingo.Symbol, '_rep'), clingo.__version__)" 
False 5.5.0 # False means non-CFFI
$ git checkout 49ac3471cf97f5308c648a78a9fd7b0c3a083e90
$ ./bin/spack spec -I libxml2+python
# concretizes....
$ git checkout 0ce08640e08de8f7313a4b3974131e2efa5249e0 
$ ./bin/spack spec -I libxml2+python
Input spec
--------------------------------
-   libxml2+python
Concretized
--------------------------------
==> Error: 'sqlite'

Result of git diff in the spack repo:

diff --git a/etc/spack/defaults/config.yaml b/etc/spack/defaults/config.yaml
index d1a7f35a6d..e8147838b6 100644
--- a/etc/spack/defaults/config.yaml
+++ b/etc/spack/defaults/config.yaml
@@ -160,7 +160,7 @@ config:
   #
   # 'clingo' currently requires the clingo ASP solver to be installed and
   # built with python bindings. 'original' is built in.
-  concretizer: original
+  concretizer: clingo


   # How long to wait to lock the Spack installation database. This lock is used
diff --git a/etc/spack/defaults/packages.yaml b/etc/spack/defaults/packages.yaml
index bf9148315b..9eacff87c6 100644
--- a/etc/spack/defaults/packages.yaml
+++ b/etc/spack/defaults/packages.yaml
@@ -53,3 +53,9 @@ packages:
    permissions:
      read: world
      write: user
+  python:
+    version: [3.8.2]
+    buildable: false
+    externals:
+    - spec: [email protected]
+      prefix: /usr 

Error Message

$ spack spec -I libxml2+python
Traceback (most recent call last):
  File "./bin/spack", line 68, in <module>
    sys.exit(spack.main.main())
  File "spack/lib/spack/spack/main.py", line 762, in main
    return _invoke_command(command, parser, args, unknown)
  File "spack/lib/spack/spack/main.py", line 490, in _invoke_command
    return_val = command(parser, args)
  File "spack/lib/spack/spack/cmd/spec.py", line 102, in spec
    spec.concretize()
  File "spack/lib/spack/spack/spec.py", line 2528, in concretize
    self._new_concretize(tests)
  File "spack/lib/spack/spack/spec.py", line 2498, in _new_concretize
    result = spack.solver.asp.solve([self], tests=tests)
  File "spack/lib/spack/spack/solver/asp.py", line 1625, in solve
    return driver.solve(setup, specs, dump, models, timers, stats, tests)
  File "spack/lib/spack/spack/solver/asp.py", line 362, in solve
    answers = builder.build_specs(tuples)
  File "spack/lib/spack/spack/solver/asp.py", line 1549, in build_specs
    action(*args)
  File "spack/lib/spack/spack/solver/asp.py", line 1429, in version
    self._specs[pkg].versions = spack.version.ver([version])
KeyError: 'sqlite'

Information on your system

  • Spack: 0.16.0-440-0ce08640e0 * Python: 3.8.5 * Platform: linux-ubuntu20.04-skylake * Concretizer: clingo

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

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions