Skip to content

Clingo concretizer does not respect hashes in spec #22613

@adamjstewart

Description

@adamjstewart

The new concretizer does not respect hashes of installed packages in the spec. With the old concretizer, it was possible to reuse previously-installed packages by explicitly specifying the hash of the package. This is no longer possible with the new concretizer.

Steps to reproduce the issue

  1. spack install B, keep track of the hash of this installation
  2. Add a new variant to package B
  3. spack install A ^B/hash for a package A that depends on B

Error Message

Here is an example with Python. Note that since the time Python was installed, the openssl dependency added a new ~docs variant:

$ spack find -lvd /3auqbnq
==> 1 installed package
-- darwin-catalina-x86_64 / apple-clang@12.0.0 ------------------
3auqbnq python@3.8.7+bz2+ctypes+dbm~debug+libxml2+lzma~nis~optimizations+pic+pyexpat+pythoncmd+readline+shared+sqlite3+ssl~tix~tkinter~ucs4+uuid+zlib patches=0d98e93189bc278fbc37a50ed7f183bd8aaf249a8e1670a465f0db6bb4f8cf87
bdm4oka     apple-libuuid@1353.100.2
6ntaixw     bzip2@1.0.8+shared
s5jmr4n     expat@2.2.10~libbsd
df3hxmr     gdbm@1.18.1
4d3hjqd         readline@8.0
eli4aax             ncurses@6.2~symlinks+termlib
dti2z6r     gettext@0.21+bzip2+curses+git~libunistring+libxml2+tar+xz
xrjlxcv         libiconv@1.16
dqzlvh6         libxml2@2.9.10~python
gfa5h76             xz@5.2.5~pic
x2anksg             zlib@1.2.11+optimize+pic+shared
dc675hk         tar@1.32
5ye4c7r     libffi@3.3 patches=26f26c6f29a7ce9bf370ad3ab2610f99365b4bdd7b82e7c31df41a3370d685c0
2qhvtbw     openssl@1.1.1j+systemcerts
u72xuye     sqlite@3.34.0+column_metadata+fts~functions~rtree
$ spack spec -lI py-setuptools ^/3auqbnq
Input spec
--------------------------------
 -   py-setuptools
[+]      ^python@3.8.7%apple-clang@12.0.0+bz2+ctypes+dbm~debug+libxml2+lzma~nis~optimizations+pic+pyexpat+pythoncmd+readline+shared+sqlite3+ssl~tix~tkinter~ucs4+uuid+zlib patches=0d98e93189bc278fbc37a50ed7f183bd8aaf249a8e1670a465f0db6bb4f8cf87 arch=darwin-catalina-x86_64
[+]          ^apple-libuuid@1353.100.2%apple-clang@12.0.0 arch=darwin-catalina-x86_64
[+]          ^bzip2@1.0.8%apple-clang@12.0.0+shared arch=darwin-catalina-x86_64
[+]          ^expat@2.2.10%apple-clang@12.0.0~libbsd arch=darwin-catalina-x86_64
[+]          ^gdbm@1.18.1%apple-clang@12.0.0 arch=darwin-catalina-x86_64
[+]              ^readline@8.0%apple-clang@12.0.0 arch=darwin-catalina-x86_64
[+]                  ^ncurses@6.2%apple-clang@12.0.0~symlinks+termlib arch=darwin-catalina-x86_64
[+]          ^gettext@0.21%apple-clang@12.0.0+bzip2+curses+git~libunistring+libxml2+tar+xz arch=darwin-catalina-x86_64
[+]              ^libiconv@1.16%apple-clang@12.0.0 arch=darwin-catalina-x86_64
[+]              ^libxml2@2.9.10%apple-clang@12.0.0~python arch=darwin-catalina-x86_64
[+]                  ^xz@5.2.5%apple-clang@12.0.0~pic arch=darwin-catalina-x86_64
[+]                  ^zlib@1.2.11%apple-clang@12.0.0+optimize+pic+shared arch=darwin-catalina-x86_64
[+]              ^tar@1.32%apple-clang@12.0.0 arch=darwin-catalina-x86_64
[+]          ^libffi@3.3%apple-clang@12.0.0 patches=26f26c6f29a7ce9bf370ad3ab2610f99365b4bdd7b82e7c31df41a3370d685c0 arch=darwin-catalina-x86_64
[+]          ^openssl@1.1.1j%apple-clang@12.0.0+systemcerts arch=darwin-catalina-x86_64
[+]          ^sqlite@3.34.0%apple-clang@12.0.0+column_metadata+fts~functions~rtree arch=darwin-catalina-x86_64

Concretized
--------------------------------
 -   ghaihoj  py-setuptools@50.3.2%apple-clang@12.0.0 arch=darwin-catalina-x86_64
 -   hw2eka5      ^python@3.8.7%apple-clang@12.0.0+bz2+ctypes+dbm~debug+libxml2+lzma~nis~optimizations+pic+pyexpat+pythoncmd+readline+shared+sqlite3+ssl~tix~tkinter~ucs4+uuid+zlib patches=0d98e93189bc278fbc37a50ed7f183bd8aaf249a8e1670a465f0db6bb4f8cf87 arch=darwin-catalina-x86_64
[+]  bdm4oka          ^apple-libuuid@1353.100.2%apple-clang@12.0.0 arch=darwin-catalina-x86_64
[+]  6ntaixw          ^bzip2@1.0.8%apple-clang@12.0.0+shared arch=darwin-catalina-x86_64
[+]  6xq3pjn              ^diffutils@3.7%apple-clang@12.0.0 arch=darwin-catalina-x86_64
[+]  xrjlxcv                  ^libiconv@1.16%apple-clang@12.0.0 arch=darwin-catalina-x86_64
[+]  s5jmr4n          ^expat@2.2.10%apple-clang@12.0.0~libbsd arch=darwin-catalina-x86_64
[+]  df3hxmr          ^gdbm@1.18.1%apple-clang@12.0.0 arch=darwin-catalina-x86_64
[+]  4d3hjqd              ^readline@8.0%apple-clang@12.0.0 arch=darwin-catalina-x86_64
[+]  eli4aax                  ^ncurses@6.2%apple-clang@12.0.0~symlinks+termlib arch=darwin-catalina-x86_64
[+]  zhcbxzn                      ^pkgconf@1.7.3%apple-clang@12.0.0 arch=darwin-catalina-x86_64
[+]  dti2z6r          ^gettext@0.21%apple-clang@12.0.0+bzip2+curses+git~libunistring+libxml2+tar+xz arch=darwin-catalina-x86_64
[+]  dqzlvh6              ^libxml2@2.9.10%apple-clang@12.0.0~python arch=darwin-catalina-x86_64
[+]  gfa5h76                  ^xz@5.2.5%apple-clang@12.0.0~pic arch=darwin-catalina-x86_64
[+]  x2anksg                  ^zlib@1.2.11%apple-clang@12.0.0+optimize+pic+shared arch=darwin-catalina-x86_64
[+]  dc675hk              ^tar@1.32%apple-clang@12.0.0 arch=darwin-catalina-x86_64
[+]  5ye4c7r          ^libffi@3.3%apple-clang@12.0.0 patches=26f26c6f29a7ce9bf370ad3ab2610f99365b4bdd7b82e7c31df41a3370d685c0 arch=darwin-catalina-x86_64
[+]  6p633mh          ^openssl@1.1.1j%apple-clang@12.0.0~docs+systemcerts arch=darwin-catalina-x86_64
[+]  b7bd5lo              ^perl@5.32.1%apple-clang@12.0.0+cpanm+shared+threads arch=darwin-catalina-x86_64
[+]  shevodc                  ^berkeley-db@18.1.40%apple-clang@12.0.0~docs patches=b231fcc4d5cff05e5c3a4814f6a5af0e9a966428dc2176540d2c05aff41de522 arch=darwin-catalina-x86_64
[+]  u72xuye          ^sqlite@3.34.0%apple-clang@12.0.0+column_metadata+fts~functions~rtree arch=darwin-catalina-x86_64

Information on your system

  • Spack: 0.16.1-1942-f9cc073be0
  • Python: 3.8.7
  • Platform: darwin-catalina-ivybridge
  • 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

bugSomething isn't workingconcretizationspecstriageThe issue needs to be prioritized

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions