Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v0.22 concretizer yields suboptimal fresh concrete specs #44216

Closed
3 tasks done
jcortial-safran opened this issue May 15, 2024 · 8 comments · Fixed by #44272
Closed
3 tasks done

v0.22 concretizer yields suboptimal fresh concrete specs #44216

jcortial-safran opened this issue May 15, 2024 · 8 comments · Fixed by #44272
Assignees
Labels
bug Something isn't working impact-low
Milestone

Comments

@jcortial-safran
Copy link
Contributor

Steps to reproduce

When the spack.yaml file defining the environment test is as follows:

spack:
  specs:
  - lcov@1
  - vtk@9.1

then the v0.22 concretizer selects the version 1.15 of lcov even if a version 1.16 is available.

$ spack -e test concretize --fresh --force
==> Concretized lcov@1
 -   quvdpkx  lcov@1.15%gcc@4.8.5 build_system=makefile arch=linux-centos7-haswell
 -   crat2yd      ^gcc-runtime@4.8.5%gcc@4.8.5 build_system=generic arch=linux-centos7-haswell
[e]  5iblaop      ^glibc@2.17%gcc@4.8.5 build_system=autotools patches=be65fec,e179c43 arch=linux-centos7-haswell
 -   qxwvnt4      ^gmake@4.4.1%gcc@4.8.5~guile build_system=generic arch=linux-centos7-haswell
 -   kxuukvy      ^perl@5.38.0%gcc@4.8.5+cpanm+opcode+open+shared+threads build_system=generic patches=714e4d1 arch=linux-centos7-haswell
 -   biblila          ^berkeley-db@18.1.40%gcc@4.8.5+cxx~docs+stl build_system=autotools patches=26090f4,b231fcc arch=linux-centos7-haswell
 -   wgdwsud          ^bzip2@1.0.8%gcc@4.8.5~debug~pic+shared build_system=generic arch=linux-centos7-haswell
 -   dbcgyfj              ^diffutils@3.10%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   lvejmvi          ^gdbm@1.23%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   xpycboo              ^readline@8.2%gcc@4.8.5 build_system=autotools patches=bbf97f1 arch=linux-centos7-haswell
 -   4gyl5nt                  ^ncurses@6.5%gcc@4.8.5~symlinks+termlib abi=none build_system=autotools patches=7a351bc arch=linux-centos7-haswell
 -   cqndkwd                      ^pkgconf@2.2.0%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   2uvtapu          ^zlib-ng@2.1.6%gcc@4.8.5+compat+new_strategies+opt+pic+shared build_system=autotools arch=linux-centos7-haswell
 -   hm3enx5      ^perl-b-hooks-endofscope@0.26%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   btgdwyb          ^perl-sub-exporter-progressive@0.001013%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   qbsvk36      ^perl-capture-tiny@0.48%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   dephsmm      ^perl-class-inspector@1.36%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   qboen4h      ^perl-class-singleton@1.6%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   gtq7fuo      ^perl-datetime@1.65%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   2d5jec2          ^perl-cpan-meta-check@0.017%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   s2alodu              ^perl-test-deep@1.204%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   qdx67uo          ^perl-dist-checkconflicts@0.11%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   hbyqbpi          ^perl-namespace-autoclean@0.29%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   lomk24d          ^perl-test-fatal@0.017%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   iauu4h2          ^perl-test-warnings@0.031%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   5ezrtfr          ^perl-test-without-module@0.21%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   wwxgsv3          ^perl-try-tiny@0.31%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   tnyhq4a      ^perl-datetime-locale@1.40%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   pkfzzl5          ^perl-file-sharedir-install@0.14%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   za34vfz              ^perl-module-build@0.4232%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   urn7w4j          ^perl-ipc-system-simple@1.30%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   am4nkxy          ^perl-path-tiny@0.144%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   bmay2dw          ^perl-test-file-sharedir@1.001002%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   cn5fx4v              ^perl-class-tiny@1.008%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   fg6fsbx              ^perl-file-copy-recursive@0.45%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   w2xvaug              ^perl-scope-guard@0.21%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   y46rumo          ^perl-test2-plugin-nowarnings@0.09%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   z2ja6rr              ^perl-ipc-run3@0.048%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   iskdj5a          ^perl-test2-suite@0.000159%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   iy75iyn              ^perl-term-table@0.018%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   eez7opy      ^perl-datetime-timezone@2.60%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   f5wlng6          ^perl-module-runtime@0.016%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   kl2hxtv          ^perl-test-requires@0.11%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   alz4xgk      ^perl-devel-cover@1.40%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   zzyrjkg      ^perl-devel-stacktrace@2.04%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   6khoen5      ^perl-digest-md5@2.55%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   zkszejk      ^perl-eval-closure@0.14%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   e4t2f5d      ^perl-exception-class@1.45%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   jodxequ          ^perl-class-data-inheritable@0.08%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   zqfindh      ^perl-file-sharedir@1.118%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   fwhim6b      ^perl-file-spec@0.90%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   f2zbybf      ^perl-json@4.10%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   z326l5c      ^perl-memory-process@0.06%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   2ddlyn2      ^perl-module-implementation@0.09%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   k3sfc5b      ^perl-mro-compat@0.15%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   f7uzd46      ^perl-namespace-clean@0.27%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   tzvqjp5      ^perl-package-stash@0.37%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   fst2ife      ^perl-params-validationcompiler@0.31%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   vofdfrw      ^perl-role-tiny@2.002004%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   uo7i35c          ^perl-exporter-tiny@1.006002%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   g4nhcqc      ^perl-specio@0.48%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   vhko7pt          ^perl-sub-quote@2.006008%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   ruvgcjy              ^perl-scalar-list-utils@1.63%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   hxneccl          ^perl-test-needs@0.002010%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   bgigm3b      ^perl-sub-identify@0.14%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   4zvc65g      ^perl-time-hires@1.9758%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell

==> Concretized vtk@9.1
 -   bher5da  vtk@9.1.0%gcc@4.8.5~examples~ffmpeg~ipo+mpi+opengl2~osmesa~python~qt~xdmf build_system=cmake build_type=Release generator=make patches=c446a90 arch=linux-centos7-haswell
 -   clqqc4f      ^cgns@4.4.0%gcc@4.8.5~base_scope~fortran+hdf5~int64~ipo~legacy~mem_debug+mpi~pic+scoping+shared~static~testing~tools build_system=cmake build_type=Release generator=make arch=linux-centos7-haswell
 -   2p5m6q4      ^cmake@3.27.9%gcc@4.8.5~doc+ncurses+ownlibs build_system=generic build_type=Release arch=linux-centos7-haswell
 -   n2lasn6          ^curl@8.7.1%gcc@4.8.5~gssapi~ldap~libidn2~librtmp~libssh~libssh2+nghttp2 build_system=autotools libs=shared,static tls=openssl arch=linux-centos7-haswell
 -   czln4pt              ^nghttp2@1.57.0%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   zardory              ^openssl@3.3.0%gcc@4.8.5~docs+shared build_system=generic certs=mozilla arch=linux-centos7-haswell
 -   ul7pntz                  ^ca-certificates-mozilla@2023-05-30%gcc@4.8.5 build_system=generic arch=linux-centos7-haswell
 -   4gyl5nt          ^ncurses@6.5%gcc@4.8.5~symlinks+termlib abi=none build_system=autotools patches=7a351bc arch=linux-centos7-haswell
 -   i7dhebz      ^double-conversion@3.3.0%gcc@4.8.5~ipo build_system=cmake build_type=Release generator=make arch=linux-centos7-haswell
 -   cbsizqf      ^eigen@3.4.0%gcc@4.8.5~ipo build_system=cmake build_type=RelWithDebInfo generator=make arch=linux-centos7-haswell
 -   lg4xeuz      ^expat@2.6.2%gcc@4.8.5+libbsd build_system=autotools arch=linux-centos7-haswell
 -   iplqxsq          ^libbsd@0.12.1%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   nvcc6ty              ^libmd@1.0.4%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   n2lcmlm      ^freetype@2.13.2%gcc@4.8.5+pic+shared build_system=autotools arch=linux-centos7-haswell
 -   wgdwsud          ^bzip2@1.0.8%gcc@4.8.5~debug~pic+shared build_system=generic arch=linux-centos7-haswell
 -   dbcgyfj              ^diffutils@3.10%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   cqndkwd          ^pkgconf@2.2.0%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   crat2yd      ^gcc-runtime@4.8.5%gcc@4.8.5 build_system=generic arch=linux-centos7-haswell
 -   qifxnj2      ^gl2ps@1.4.2%gcc@4.8.5~doc~ipo+png+zlib build_system=cmake build_type=Release generator=make arch=linux-centos7-haswell
 -   5yukwrg      ^glew@2.2.0%gcc@4.8.5~ipo build_system=cmake build_type=Release generator=make gl=glx patches=7992e52 arch=linux-centos7-haswell
 -   uaqoe2a          ^libx11@1.8.7%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   ssylgsx              ^inputproto@2.3.2%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   qopzmyl              ^libxcb@1.16%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   7ytgxea                  ^libpthread-stubs@0.5%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   x32oaar                  ^libxau@1.0.11%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   g2ka66p                  ^libxdmcp@1.1.4%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   gwwgbsj                  ^xcb-proto@1.16.0%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   qvpimpa              ^xextproto@7.3.0%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   udqvcu2              ^xtrans@1.5.0%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   2toqega          ^xproto@7.0.31%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
[e]  5iblaop      ^glibc@2.17%gcc@4.8.5 build_system=autotools patches=be65fec,e179c43 arch=linux-centos7-haswell
 -   aldcypw      ^glx@1.4%gcc@4.8.5 build_system=bundle arch=linux-centos7-haswell
 -   fi6zeim          ^mesa@23.3.6%gcc@4.8.5+glx+llvm+opengl~opengles+osmesa~strip build_system=meson buildtype=release default_library=shared arch=linux-centos7-haswell
 -   jp36swj              ^bison@3.8.2%gcc@4.8.5~color build_system=autotools arch=linux-centos7-haswell
 -   hihc5ix              ^flex@2.6.3%gcc@4.8.5+lex~nls build_system=autotools arch=linux-centos7-haswell
 -   3kbpvev              ^gettext@0.22.5%gcc@4.8.5+bzip2+curses+git~libunistring+libxml2+pic+shared+tar+xz build_system=autotools arch=linux-centos7-haswell
 -   fmldsrz                  ^tar@1.34%gcc@4.8.5 build_system=autotools zip=pigz arch=linux-centos7-haswell
 -   okjognj                      ^pigz@2.8%gcc@4.8.5 build_system=makefile arch=linux-centos7-haswell
 -   fooh6ar              ^glproto@1.4.17%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   rfw5tfh              ^libunwind@1.6.2%gcc@4.8.5~block_signals~conservative_checks~cxx_exceptions~debug~debug_frame+docs~pic+tests+weak_backtrace~xz~zlib build_system=autotools components=none libs=shared,static arch=linux-centos7-haswell
 -   ryxzzsh              ^libxext@1.3.5%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   i7xn4bp              ^llvm-amdgpu@6.0.2%gcc@4.8.5~ipo~link_llvm_dylib~llvm_dylib+rocm-device-libs build_system=cmake build_type=Release generator=ninja patches=53f9500,b4774ca arch=linux-centos7-haswell
 -   ac4lq7j                  ^z3@4.12.4%gcc@4.8.5~gmp~ipo~python build_system=cmake build_type=Release generator=make arch=linux-centos7-haswell
 -   gi5elwm              ^meson@1.3.2%gcc@4.8.5 build_system=python_pip patches=0f0b1bd arch=linux-centos7-haswell
 -   zgltimy                  ^py-pip@23.1.2%gcc@4.8.5 build_system=generic arch=linux-centos7-haswell
 -   4xdzvj5                  ^py-setuptools@69.2.0%gcc@4.8.5 build_system=generic arch=linux-centos7-haswell
 -   z37s7f3                  ^py-wheel@0.41.2%gcc@4.8.5 build_system=generic arch=linux-centos7-haswell
 -   b6hksep                  ^python-venv@1.0%gcc@4.8.5 build_system=generic arch=linux-centos7-haswell
 -   eyl2e3u              ^ninja@1.11.1%gcc@4.8.5+re2c build_system=generic arch=linux-centos7-haswell
 -   6bvedvg                  ^re2c@2.2%gcc@4.8.5 build_system=generic arch=linux-centos7-haswell
 -   fao76gh              ^py-mako@1.2.4%gcc@4.8.5 build_system=python_pip arch=linux-centos7-haswell
 -   dhsbyxo                  ^py-markupsafe@2.1.3%gcc@4.8.5 build_system=python_pip arch=linux-centos7-haswell
 -   ayvno46              ^python@3.11.7%gcc@4.8.5+bz2+crypt+ctypes+dbm~debug+libxml2+lzma~nis~optimizations+pic+pyexpat+pythoncmd+readline+shared+sqlite3+ssl~tkinter+uuid+zlib build_system=generic patches=13fa8bf,b0615b2,ebdca64,f2fd060 arch=linux-centos7-haswell
 -   qt2beyl                  ^libffi@3.4.6%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   eplqa3l              ^xrandr@1.5.2%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   adp32lw                  ^libxrandr@1.5.4%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   rq6nnzv                      ^renderproto@0.11.1%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   hjqz55r                  ^libxrender@0.9.11%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   22xg7g6                  ^randrproto@1.5.0%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   qxwvnt4      ^gmake@4.4.1%gcc@4.8.5~guile build_system=generic arch=linux-centos7-haswell
 -   6eaimzo      ^hdf5@1.14.3%gcc@4.8.5~cxx~fortran+hl~ipo~java~map+mpi+shared~subfiling~szip~threadsafe+tools api=default build_system=cmake build_type=Release generator=make patches=82088c8 arch=linux-centos7-haswell
 -   qf5uod2      ^jsoncpp@1.9.5%gcc@4.8.5~ipo build_system=cmake build_type=Release generator=make arch=linux-centos7-haswell
 -   wyyfhpv      ^libjpeg-turbo@3.0.0%gcc@4.8.5~ipo~jpeg8~partial_decoder+pic build_system=cmake build_type=Release generator=make libs=shared,static arch=linux-centos7-haswell
 -   et6dxli          ^nasm@2.15.05%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   4q27knh      ^libogg@1.3.5%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   4hp2mxw      ^libpng@1.6.39%gcc@4.8.5~ipo~pic build_system=cmake build_type=Release generator=make libs=shared,static arch=linux-centos7-haswell
 -   zxuba3t      ^libtheora@1.1.1%gcc@4.8.5~doc build_system=autotools patches=d9bb5a9,e01511a,e01ef71,ff8478d arch=linux-centos7-haswell
 -   aji3c6m          ^autoconf@2.72%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   kmbxfoo          ^automake@1.16.5%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   qybucwo          ^libtool@2.4.7%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   4x4lox4              ^findutils@4.9.0%gcc@4.8.5 build_system=autotools patches=440b954 arch=linux-centos7-haswell
 -   3b3ek3j          ^m4@1.4.19%gcc@4.8.5+sigsegv build_system=autotools patches=9dc5fbd,bfdffa7 arch=linux-centos7-haswell
 -   nrpah3n              ^libsigsegv@2.14%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   3g4xhw6      ^libtiff@4.5.1%gcc@4.8.5+ccitt~ipo~jbig+jpeg~jpeg12~lerc~libdeflate+logluv~lzma+lzw+next~old-jpeg+packbits~pic~pixarlog+shared+thunder~webp+zlib~zstd build_system=cmake build_type=Release generator=make arch=linux-centos7-haswell
 -   qk5obz6      ^libxml2@2.10.3%gcc@4.8.5+pic~python+shared build_system=autotools arch=linux-centos7-haswell
 -   3uceuxe      ^libxt@1.3.0%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   w2j354w          ^kbproto@1.0.7%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   baz2vor          ^libice@1.1.1%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   w3we2m2          ^libsm@1.2.4%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   egpexp7              ^util-linux-uuid@2.36.2%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   lvyrnxh          ^util-macros@1.19.3%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   qf7yjzi      ^lz4@1.9.4%gcc@4.8.5+pic build_system=makefile libs=shared,static arch=linux-centos7-haswell
 -   pismd5w      ^netcdf-c@4.9.2%gcc@4.8.5+blosc~byterange~dap~fsync~hdf4~jna+mpi~nczarr_zip+optimize+parallel-netcdf+pic+shared+szip+zstd build_system=autotools patches=0161eb8 arch=linux-centos7-haswell
 -   jbnvrs7          ^c-blosc@1.21.5%gcc@4.8.5+avx2~ipo build_system=cmake build_type=Release generator=make arch=linux-centos7-haswell
 -   dq6iwg4              ^snappy@1.1.10%gcc@4.8.5~ipo+pic+shared build_system=cmake build_type=Release generator=make arch=linux-centos7-haswell
 -   p7okusi          ^libaec@1.0.6%gcc@4.8.5~ipo+shared build_system=cmake build_type=Release generator=make arch=linux-centos7-haswell
 -   v66qsdq          ^parallel-netcdf@1.12.3%gcc@4.8.5~burstbuffer+cxx+fortran+pic+shared build_system=autotools arch=linux-centos7-haswell
 -   wwsnver          ^zstd@1.5.6%gcc@4.8.5+programs build_system=makefile compression=none libs=shared,static arch=linux-centos7-haswell
 -   5tn7gka      ^openmpi@5.0.3%gcc@4.8.5~atomics~cuda~gpfs~internal-hwloc~internal-libevent~internal-pmix~java~legacylaunchers~lustre~memchecker~openshmem~orterunprefix~romio+rsh~static+vt+wrapper-rpath build_system=autotools fabrics=none romio-filesystem=none schedulers=none arch=linux-centos7-haswell
 -   ghcqjwe          ^hwloc@2.9.1%gcc@4.8.5~cairo~cuda~gl~libudev+libxml2~netloc~nvml~oneapi-level-zero~opencl+pci~rocm build_system=autotools libs=shared,static arch=linux-centos7-haswell
 -   mhry57g              ^libpciaccess@0.17%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   6hn3fer          ^libevent@2.1.12%gcc@4.8.5+openssl build_system=autotools arch=linux-centos7-haswell
 -   acktmvn          ^numactl@2.0.14%gcc@4.8.5 build_system=autotools patches=4e1d78c,62fc8a8,ff37630 arch=linux-centos7-haswell
 -   fbp5nvl          ^openssh@9.7p1%gcc@4.8.5+gssapi build_system=autotools arch=linux-centos7-haswell
 -   egkl74v              ^krb5@1.20.1%gcc@4.8.5+shared build_system=autotools arch=linux-centos7-haswell
 -   fwjmngo              ^libedit@3.1-20230828%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   uguj4de              ^libxcrypt@4.4.35%gcc@4.8.5~obsolete_api build_system=autotools patches=4885da3 arch=linux-centos7-haswell
 -   kxuukvy          ^perl@5.38.0%gcc@4.8.5+cpanm+opcode+open+shared+threads build_system=generic patches=714e4d1 arch=linux-centos7-haswell
 -   biblila              ^berkeley-db@18.1.40%gcc@4.8.5+cxx~docs+stl build_system=autotools patches=26090f4,b231fcc arch=linux-centos7-haswell
 -   lvejmvi              ^gdbm@1.23%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   vwuqxn6          ^pmix@5.0.1%gcc@4.8.5~docs+pmi_backwards_compatibility~python~restful build_system=autotools arch=linux-centos7-haswell
 -   wxqwuu7      ^proj@9.2.1%gcc@4.8.5+curl~ipo~pic+shared+tiff build_system=cmake build_type=Release generator=make arch=linux-centos7-haswell
 -   rkftxzn      ^pugixml@1.13%gcc@4.8.5~ipo+pic+shared build_system=cmake build_type=Release generator=make arch=linux-centos7-haswell
 -   okoxvu5      ^seacas@2024-04-03%gcc@4.8.5~adios2+applications+cgns~faodel+fortran~ipo+legacy+matio~metis+mpi~pamgen+shared+tests~thread_safe+x11~zlib build_system=cmake build_type=Release generator=make arch=linux-centos7-haswell
 -   xbeluyv          ^catch2@3.4.0%gcc@4.8.5~ipo+pic~shared build_system=cmake build_type=Release cxxstd=17 generator=make arch=linux-centos7-haswell
 -   fboaj3a          ^fmt@10.2.1%gcc@4.8.5~ipo+pic~shared build_system=cmake build_type=Release cxxstd=11 generator=make arch=linux-centos7-haswell
 -   yxmibe2          ^matio@1.5.26%gcc@4.8.5+hdf5+shared+zlib build_system=autotools arch=linux-centos7-haswell
 -   3s3u5e7      ^sqlite@3.43.2%gcc@4.8.5+column_metadata+dynamic_extensions+fts~functions+rtree build_system=autotools arch=linux-centos7-haswell
 -   xpycboo          ^readline@8.2%gcc@4.8.5 build_system=autotools patches=bbf97f1 arch=linux-centos7-haswell
 -   zkldrzi      ^utf8cpp@2.3.4%gcc@4.8.5 build_system=generic arch=linux-centos7-haswell
 -   tdiyku6      ^xz@5.4.6%gcc@4.8.5~pic build_system=autotools libs=shared,static arch=linux-centos7-haswell
 -   2uvtapu      ^zlib-ng@2.1.6%gcc@4.8.5+compat+new_strategies+opt+pic+shared build_system=autotools arch=linux-centos7-haswell

One must use a more specific constraint to actually get lcov@=1.16:

spack:
  specs:
  - lcov@1.16:1
  - vtk@9.1
$ spack -e test concretize --fresh --force
==> Concretized lcov@1.16:1
 -   rci3mgk  lcov@1.16%gcc@4.8.5 build_system=makefile arch=linux-centos7-haswell
 -   crat2yd      ^gcc-runtime@4.8.5%gcc@4.8.5 build_system=generic arch=linux-centos7-haswell
[e]  5iblaop      ^glibc@2.17%gcc@4.8.5 build_system=autotools patches=be65fec,e179c43 arch=linux-centos7-haswell
 -   qxwvnt4      ^gmake@4.4.1%gcc@4.8.5~guile build_system=generic arch=linux-centos7-haswell
 -   kxuukvy      ^perl@5.38.0%gcc@4.8.5+cpanm+opcode+open+shared+threads build_system=generic patches=714e4d1 arch=linux-centos7-haswell
 -   biblila          ^berkeley-db@18.1.40%gcc@4.8.5+cxx~docs+stl build_system=autotools patches=26090f4,b231fcc arch=linux-centos7-haswell
 -   wgdwsud          ^bzip2@1.0.8%gcc@4.8.5~debug~pic+shared build_system=generic arch=linux-centos7-haswell
 -   dbcgyfj              ^diffutils@3.10%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   lvejmvi          ^gdbm@1.23%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   xpycboo              ^readline@8.2%gcc@4.8.5 build_system=autotools patches=bbf97f1 arch=linux-centos7-haswell
 -   4gyl5nt                  ^ncurses@6.5%gcc@4.8.5~symlinks+termlib abi=none build_system=autotools patches=7a351bc arch=linux-centos7-haswell
 -   cqndkwd                      ^pkgconf@2.2.0%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   2uvtapu          ^zlib-ng@2.1.6%gcc@4.8.5+compat+new_strategies+opt+pic+shared build_system=autotools arch=linux-centos7-haswell
 -   hm3enx5      ^perl-b-hooks-endofscope@0.26%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   btgdwyb          ^perl-sub-exporter-progressive@0.001013%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   qbsvk36      ^perl-capture-tiny@0.48%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   dephsmm      ^perl-class-inspector@1.36%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   qboen4h      ^perl-class-singleton@1.6%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   gtq7fuo      ^perl-datetime@1.65%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   2d5jec2          ^perl-cpan-meta-check@0.017%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   s2alodu              ^perl-test-deep@1.204%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   qdx67uo          ^perl-dist-checkconflicts@0.11%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   hbyqbpi          ^perl-namespace-autoclean@0.29%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   lomk24d          ^perl-test-fatal@0.017%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   iauu4h2          ^perl-test-warnings@0.031%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   5ezrtfr          ^perl-test-without-module@0.21%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   wwxgsv3          ^perl-try-tiny@0.31%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   tnyhq4a      ^perl-datetime-locale@1.40%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   pkfzzl5          ^perl-file-sharedir-install@0.14%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   za34vfz              ^perl-module-build@0.4232%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   urn7w4j          ^perl-ipc-system-simple@1.30%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   am4nkxy          ^perl-path-tiny@0.144%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   bmay2dw          ^perl-test-file-sharedir@1.001002%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   cn5fx4v              ^perl-class-tiny@1.008%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   fg6fsbx              ^perl-file-copy-recursive@0.45%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   w2xvaug              ^perl-scope-guard@0.21%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   y46rumo          ^perl-test2-plugin-nowarnings@0.09%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   z2ja6rr              ^perl-ipc-run3@0.048%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   iskdj5a          ^perl-test2-suite@0.000159%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   iy75iyn              ^perl-term-table@0.018%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   eez7opy      ^perl-datetime-timezone@2.60%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   f5wlng6          ^perl-module-runtime@0.016%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   kl2hxtv          ^perl-test-requires@0.11%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   alz4xgk      ^perl-devel-cover@1.40%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   zzyrjkg      ^perl-devel-stacktrace@2.04%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   6khoen5      ^perl-digest-md5@2.55%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   zkszejk      ^perl-eval-closure@0.14%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   e4t2f5d      ^perl-exception-class@1.45%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   jodxequ          ^perl-class-data-inheritable@0.08%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   zqfindh      ^perl-file-sharedir@1.118%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   fwhim6b      ^perl-file-spec@0.90%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   f2zbybf      ^perl-json@4.10%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   z326l5c      ^perl-memory-process@0.06%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   2ddlyn2      ^perl-module-implementation@0.09%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   k3sfc5b      ^perl-mro-compat@0.15%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   f7uzd46      ^perl-namespace-clean@0.27%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   tzvqjp5      ^perl-package-stash@0.37%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   fst2ife      ^perl-params-validationcompiler@0.31%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   vofdfrw      ^perl-role-tiny@2.002004%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   uo7i35c          ^perl-exporter-tiny@1.006002%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   g4nhcqc      ^perl-specio@0.48%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   vhko7pt          ^perl-sub-quote@2.006008%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   ruvgcjy              ^perl-scalar-list-utils@1.63%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   hxneccl          ^perl-test-needs@0.002010%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   bgigm3b      ^perl-sub-identify@0.14%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell
 -   4zvc65g      ^perl-time-hires@1.9758%gcc@4.8.5 build_system=perl arch=linux-centos7-haswell

==> Concretized vtk@9.1
 -   bher5da  vtk@9.1.0%gcc@4.8.5~examples~ffmpeg~ipo+mpi+opengl2~osmesa~python~qt~xdmf build_system=cmake build_type=Release generator=make patches=c446a90 arch=linux-centos7-haswell
 -   clqqc4f      ^cgns@4.4.0%gcc@4.8.5~base_scope~fortran+hdf5~int64~ipo~legacy~mem_debug+mpi~pic+scoping+shared~static~testing~tools build_system=cmake build_type=Release generator=make arch=linux-centos7-haswell
 -   2p5m6q4      ^cmake@3.27.9%gcc@4.8.5~doc+ncurses+ownlibs build_system=generic build_type=Release arch=linux-centos7-haswell
 -   n2lasn6          ^curl@8.7.1%gcc@4.8.5~gssapi~ldap~libidn2~librtmp~libssh~libssh2+nghttp2 build_system=autotools libs=shared,static tls=openssl arch=linux-centos7-haswell
 -   czln4pt              ^nghttp2@1.57.0%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   zardory              ^openssl@3.3.0%gcc@4.8.5~docs+shared build_system=generic certs=mozilla arch=linux-centos7-haswell
 -   ul7pntz                  ^ca-certificates-mozilla@2023-05-30%gcc@4.8.5 build_system=generic arch=linux-centos7-haswell
 -   4gyl5nt          ^ncurses@6.5%gcc@4.8.5~symlinks+termlib abi=none build_system=autotools patches=7a351bc arch=linux-centos7-haswell
 -   i7dhebz      ^double-conversion@3.3.0%gcc@4.8.5~ipo build_system=cmake build_type=Release generator=make arch=linux-centos7-haswell
 -   cbsizqf      ^eigen@3.4.0%gcc@4.8.5~ipo build_system=cmake build_type=RelWithDebInfo generator=make arch=linux-centos7-haswell
 -   lg4xeuz      ^expat@2.6.2%gcc@4.8.5+libbsd build_system=autotools arch=linux-centos7-haswell
 -   iplqxsq          ^libbsd@0.12.1%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   nvcc6ty              ^libmd@1.0.4%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   n2lcmlm      ^freetype@2.13.2%gcc@4.8.5+pic+shared build_system=autotools arch=linux-centos7-haswell
 -   wgdwsud          ^bzip2@1.0.8%gcc@4.8.5~debug~pic+shared build_system=generic arch=linux-centos7-haswell
 -   dbcgyfj              ^diffutils@3.10%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   cqndkwd          ^pkgconf@2.2.0%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   crat2yd      ^gcc-runtime@4.8.5%gcc@4.8.5 build_system=generic arch=linux-centos7-haswell
 -   qifxnj2      ^gl2ps@1.4.2%gcc@4.8.5~doc~ipo+png+zlib build_system=cmake build_type=Release generator=make arch=linux-centos7-haswell
 -   5yukwrg      ^glew@2.2.0%gcc@4.8.5~ipo build_system=cmake build_type=Release generator=make gl=glx patches=7992e52 arch=linux-centos7-haswell
 -   uaqoe2a          ^libx11@1.8.7%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   ssylgsx              ^inputproto@2.3.2%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   qopzmyl              ^libxcb@1.16%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   7ytgxea                  ^libpthread-stubs@0.5%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   x32oaar                  ^libxau@1.0.11%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   g2ka66p                  ^libxdmcp@1.1.4%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   gwwgbsj                  ^xcb-proto@1.16.0%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   qvpimpa              ^xextproto@7.3.0%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   udqvcu2              ^xtrans@1.5.0%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   2toqega          ^xproto@7.0.31%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
[e]  5iblaop      ^glibc@2.17%gcc@4.8.5 build_system=autotools patches=be65fec,e179c43 arch=linux-centos7-haswell
 -   aldcypw      ^glx@1.4%gcc@4.8.5 build_system=bundle arch=linux-centos7-haswell
 -   fi6zeim          ^mesa@23.3.6%gcc@4.8.5+glx+llvm+opengl~opengles+osmesa~strip build_system=meson buildtype=release default_library=shared arch=linux-centos7-haswell
 -   jp36swj              ^bison@3.8.2%gcc@4.8.5~color build_system=autotools arch=linux-centos7-haswell
 -   hihc5ix              ^flex@2.6.3%gcc@4.8.5+lex~nls build_system=autotools arch=linux-centos7-haswell
 -   3kbpvev              ^gettext@0.22.5%gcc@4.8.5+bzip2+curses+git~libunistring+libxml2+pic+shared+tar+xz build_system=autotools arch=linux-centos7-haswell
 -   fmldsrz                  ^tar@1.34%gcc@4.8.5 build_system=autotools zip=pigz arch=linux-centos7-haswell
 -   okjognj                      ^pigz@2.8%gcc@4.8.5 build_system=makefile arch=linux-centos7-haswell
 -   fooh6ar              ^glproto@1.4.17%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   rfw5tfh              ^libunwind@1.6.2%gcc@4.8.5~block_signals~conservative_checks~cxx_exceptions~debug~debug_frame+docs~pic+tests+weak_backtrace~xz~zlib build_system=autotools components=none libs=shared,static arch=linux-centos7-haswell
 -   ryxzzsh              ^libxext@1.3.5%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   i7xn4bp              ^llvm-amdgpu@6.0.2%gcc@4.8.5~ipo~link_llvm_dylib~llvm_dylib+rocm-device-libs build_system=cmake build_type=Release generator=ninja patches=53f9500,b4774ca arch=linux-centos7-haswell
 -   ac4lq7j                  ^z3@4.12.4%gcc@4.8.5~gmp~ipo~python build_system=cmake build_type=Release generator=make arch=linux-centos7-haswell
 -   gi5elwm              ^meson@1.3.2%gcc@4.8.5 build_system=python_pip patches=0f0b1bd arch=linux-centos7-haswell
 -   zgltimy                  ^py-pip@23.1.2%gcc@4.8.5 build_system=generic arch=linux-centos7-haswell
 -   4xdzvj5                  ^py-setuptools@69.2.0%gcc@4.8.5 build_system=generic arch=linux-centos7-haswell
 -   z37s7f3                  ^py-wheel@0.41.2%gcc@4.8.5 build_system=generic arch=linux-centos7-haswell
 -   b6hksep                  ^python-venv@1.0%gcc@4.8.5 build_system=generic arch=linux-centos7-haswell
 -   eyl2e3u              ^ninja@1.11.1%gcc@4.8.5+re2c build_system=generic arch=linux-centos7-haswell
 -   6bvedvg                  ^re2c@2.2%gcc@4.8.5 build_system=generic arch=linux-centos7-haswell
 -   fao76gh              ^py-mako@1.2.4%gcc@4.8.5 build_system=python_pip arch=linux-centos7-haswell
 -   dhsbyxo                  ^py-markupsafe@2.1.3%gcc@4.8.5 build_system=python_pip arch=linux-centos7-haswell
 -   ayvno46              ^python@3.11.7%gcc@4.8.5+bz2+crypt+ctypes+dbm~debug+libxml2+lzma~nis~optimizations+pic+pyexpat+pythoncmd+readline+shared+sqlite3+ssl~tkinter+uuid+zlib build_system=generic patches=13fa8bf,b0615b2,ebdca64,f2fd060 arch=linux-centos7-haswell
 -   qt2beyl                  ^libffi@3.4.6%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   eplqa3l              ^xrandr@1.5.2%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   adp32lw                  ^libxrandr@1.5.4%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   rq6nnzv                      ^renderproto@0.11.1%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   hjqz55r                  ^libxrender@0.9.11%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   22xg7g6                  ^randrproto@1.5.0%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   qxwvnt4      ^gmake@4.4.1%gcc@4.8.5~guile build_system=generic arch=linux-centos7-haswell
 -   6eaimzo      ^hdf5@1.14.3%gcc@4.8.5~cxx~fortran+hl~ipo~java~map+mpi+shared~subfiling~szip~threadsafe+tools api=default build_system=cmake build_type=Release generator=make patches=82088c8 arch=linux-centos7-haswell
 -   qf5uod2      ^jsoncpp@1.9.5%gcc@4.8.5~ipo build_system=cmake build_type=Release generator=make arch=linux-centos7-haswell
 -   wyyfhpv      ^libjpeg-turbo@3.0.0%gcc@4.8.5~ipo~jpeg8~partial_decoder+pic build_system=cmake build_type=Release generator=make libs=shared,static arch=linux-centos7-haswell
 -   et6dxli          ^nasm@2.15.05%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   4q27knh      ^libogg@1.3.5%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   4hp2mxw      ^libpng@1.6.39%gcc@4.8.5~ipo~pic build_system=cmake build_type=Release generator=make libs=shared,static arch=linux-centos7-haswell
 -   zxuba3t      ^libtheora@1.1.1%gcc@4.8.5~doc build_system=autotools patches=d9bb5a9,e01511a,e01ef71,ff8478d arch=linux-centos7-haswell
 -   aji3c6m          ^autoconf@2.72%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   kmbxfoo          ^automake@1.16.5%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   qybucwo          ^libtool@2.4.7%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   4x4lox4              ^findutils@4.9.0%gcc@4.8.5 build_system=autotools patches=440b954 arch=linux-centos7-haswell
 -   3b3ek3j          ^m4@1.4.19%gcc@4.8.5+sigsegv build_system=autotools patches=9dc5fbd,bfdffa7 arch=linux-centos7-haswell
 -   nrpah3n              ^libsigsegv@2.14%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   3g4xhw6      ^libtiff@4.5.1%gcc@4.8.5+ccitt~ipo~jbig+jpeg~jpeg12~lerc~libdeflate+logluv~lzma+lzw+next~old-jpeg+packbits~pic~pixarlog+shared+thunder~webp+zlib~zstd build_system=cmake build_type=Release generator=make arch=linux-centos7-haswell
 -   qk5obz6      ^libxml2@2.10.3%gcc@4.8.5+pic~python+shared build_system=autotools arch=linux-centos7-haswell
 -   3uceuxe      ^libxt@1.3.0%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   w2j354w          ^kbproto@1.0.7%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   baz2vor          ^libice@1.1.1%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   w3we2m2          ^libsm@1.2.4%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   egpexp7              ^util-linux-uuid@2.36.2%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   lvyrnxh          ^util-macros@1.19.3%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   qf7yjzi      ^lz4@1.9.4%gcc@4.8.5+pic build_system=makefile libs=shared,static arch=linux-centos7-haswell
 -   pismd5w      ^netcdf-c@4.9.2%gcc@4.8.5+blosc~byterange~dap~fsync~hdf4~jna+mpi~nczarr_zip+optimize+parallel-netcdf+pic+shared+szip+zstd build_system=autotools patches=0161eb8 arch=linux-centos7-haswell
 -   jbnvrs7          ^c-blosc@1.21.5%gcc@4.8.5+avx2~ipo build_system=cmake build_type=Release generator=make arch=linux-centos7-haswell
 -   dq6iwg4              ^snappy@1.1.10%gcc@4.8.5~ipo+pic+shared build_system=cmake build_type=Release generator=make arch=linux-centos7-haswell
 -   p7okusi          ^libaec@1.0.6%gcc@4.8.5~ipo+shared build_system=cmake build_type=Release generator=make arch=linux-centos7-haswell
 -   v66qsdq          ^parallel-netcdf@1.12.3%gcc@4.8.5~burstbuffer+cxx+fortran+pic+shared build_system=autotools arch=linux-centos7-haswell
 -   wwsnver          ^zstd@1.5.6%gcc@4.8.5+programs build_system=makefile compression=none libs=shared,static arch=linux-centos7-haswell
 -   5tn7gka      ^openmpi@5.0.3%gcc@4.8.5~atomics~cuda~gpfs~internal-hwloc~internal-libevent~internal-pmix~java~legacylaunchers~lustre~memchecker~openshmem~orterunprefix~romio+rsh~static+vt+wrapper-rpath build_system=autotools fabrics=none romio-filesystem=none schedulers=none arch=linux-centos7-haswell
 -   ghcqjwe          ^hwloc@2.9.1%gcc@4.8.5~cairo~cuda~gl~libudev+libxml2~netloc~nvml~oneapi-level-zero~opencl+pci~rocm build_system=autotools libs=shared,static arch=linux-centos7-haswell
 -   mhry57g              ^libpciaccess@0.17%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   6hn3fer          ^libevent@2.1.12%gcc@4.8.5+openssl build_system=autotools arch=linux-centos7-haswell
 -   acktmvn          ^numactl@2.0.14%gcc@4.8.5 build_system=autotools patches=4e1d78c,62fc8a8,ff37630 arch=linux-centos7-haswell
 -   fbp5nvl          ^openssh@9.7p1%gcc@4.8.5+gssapi build_system=autotools arch=linux-centos7-haswell
 -   egkl74v              ^krb5@1.20.1%gcc@4.8.5+shared build_system=autotools arch=linux-centos7-haswell
 -   fwjmngo              ^libedit@3.1-20230828%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   uguj4de              ^libxcrypt@4.4.35%gcc@4.8.5~obsolete_api build_system=autotools patches=4885da3 arch=linux-centos7-haswell
 -   kxuukvy          ^perl@5.38.0%gcc@4.8.5+cpanm+opcode+open+shared+threads build_system=generic patches=714e4d1 arch=linux-centos7-haswell
 -   biblila              ^berkeley-db@18.1.40%gcc@4.8.5+cxx~docs+stl build_system=autotools patches=26090f4,b231fcc arch=linux-centos7-haswell
 -   lvejmvi              ^gdbm@1.23%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   vwuqxn6          ^pmix@5.0.1%gcc@4.8.5~docs+pmi_backwards_compatibility~python~restful build_system=autotools arch=linux-centos7-haswell
 -   wxqwuu7      ^proj@9.2.1%gcc@4.8.5+curl~ipo~pic+shared+tiff build_system=cmake build_type=Release generator=make arch=linux-centos7-haswell
 -   rkftxzn      ^pugixml@1.13%gcc@4.8.5~ipo+pic+shared build_system=cmake build_type=Release generator=make arch=linux-centos7-haswell
 -   okoxvu5      ^seacas@2024-04-03%gcc@4.8.5~adios2+applications+cgns~faodel+fortran~ipo+legacy+matio~metis+mpi~pamgen+shared+tests~thread_safe+x11~zlib build_system=cmake build_type=Release generator=make arch=linux-centos7-haswell
 -   xbeluyv          ^catch2@3.4.0%gcc@4.8.5~ipo+pic~shared build_system=cmake build_type=Release cxxstd=17 generator=make arch=linux-centos7-haswell
 -   fboaj3a          ^fmt@10.2.1%gcc@4.8.5~ipo+pic~shared build_system=cmake build_type=Release cxxstd=11 generator=make arch=linux-centos7-haswell
 -   yxmibe2          ^matio@1.5.26%gcc@4.8.5+hdf5+shared+zlib build_system=autotools arch=linux-centos7-haswell
 -   3s3u5e7      ^sqlite@3.43.2%gcc@4.8.5+column_metadata+dynamic_extensions+fts~functions+rtree build_system=autotools arch=linux-centos7-haswell
 -   xpycboo          ^readline@8.2%gcc@4.8.5 build_system=autotools patches=bbf97f1 arch=linux-centos7-haswell
 -   zkldrzi      ^utf8cpp@2.3.4%gcc@4.8.5 build_system=generic arch=linux-centos7-haswell
 -   tdiyku6      ^xz@5.4.6%gcc@4.8.5~pic build_system=autotools libs=shared,static arch=linux-centos7-haswell
 -   2uvtapu      ^zlib-ng@2.1.6%gcc@4.8.5+compat+new_strategies+opt+pic+shared build_system=autotools arch=linux-centos7-haswell

Note that in both cases the concrete specs for vtk@9.1 are the same (hash bher5da). Hence it seems fair to conclude that the concretizer did not pick the "best" solution in the first case.

The above case is only a minimal example that shows the issue. For larger cases, I have observed many suboptimal choices, for seemingly random packages, for instance py-cython, pmix, openmpi, and so on.

That behavior did not occur using spack v0.21. For instance, using again the less constrainedspack.yaml file for the environment test:

spack:
  specs:
  - lcov@1
  - vtk@9.1

then the v0.21 concretizer selects the version 1.16 of lcov:

==> Concretized lcov@1
 -   zls7s2k  lcov@1.16%gcc@4.8.5 build_system=makefile arch=linux-centos7-haswell
 -   dqngc5g      ^gmake@4.4.1%gcc@4.8.5~guile build_system=generic arch=linux-centos7-haswell
 -   hue2kvc      ^perl@5.38.0%gcc@4.8.5+cpanm+opcode+open+shared+threads build_system=generic patches=714e4d1 arch=linux-centos7-haswell
 -   zjxiexw          ^berkeley-db@18.1.40%gcc@4.8.5+cxx~docs+stl build_system=autotools patches=26090f4,b231fcc arch=linux-centos7-haswell
 -   ndfjfxq          ^bzip2@1.0.8%gcc@4.8.5~debug~pic+shared build_system=generic arch=linux-centos7-haswell
 -   p45tlf4              ^diffutils@3.9%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   3a5lmmb                  ^libiconv@1.17%gcc@4.8.5 build_system=autotools libs=shared,static arch=linux-centos7-haswell
 -   gltmkvw          ^gdbm@1.23%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   liitlpz              ^readline@8.2%gcc@4.8.5 build_system=autotools patches=bbf97f1 arch=linux-centos7-haswell
 -   zgmokxc                  ^ncurses@6.4%gcc@4.8.5~symlinks+termlib abi=none build_system=autotools arch=linux-centos7-haswell
 -   lt2wyf3                      ^pkgconf@1.9.5%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   a2ywqkl          ^zlib-ng@2.1.4%gcc@4.8.5+compat+opt build_system=autotools arch=linux-centos7-haswell

==> Concretized vtk@9.1
 -   eno7qju  vtk@9.1.0%gcc@4.8.5~ffmpeg~ipo+mpi+opengl2~osmesa~python~qt~xdmf build_system=cmake build_type=Release generator=make patches=c446a90 arch=linux-centos7-haswell
 -   cg7soq3      ^cgns@4.4.0%gcc@4.8.5~base_scope~fortran+hdf5~int64~ipo~legacy~mem_debug+mpi~pic+scoping+shared~static~testing~tools build_system=cmake build_type=Release generator=make arch=linux-centos7-haswell
 -   2qozugi      ^cmake@3.27.7%gcc@4.8.5~doc+ncurses+ownlibs build_system=generic build_type=Release arch=linux-centos7-haswell
 -   eoyphxu          ^curl@8.4.0%gcc@4.8.5~gssapi~ldap~libidn2~librtmp~libssh~libssh2+nghttp2 build_system=autotools libs=shared,static tls=openssl arch=linux-centos7-haswell
 -   isk67na              ^nghttp2@1.57.0%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   j4wbgjw              ^openssl@3.1.3%gcc@4.8.5~docs+shared build_system=generic certs=mozilla arch=linux-centos7-haswell
 -   2z5iwao                  ^ca-certificates-mozilla@2023-05-30%gcc@4.8.5 build_system=generic arch=linux-centos7-haswell
 -   zgmokxc          ^ncurses@6.4%gcc@4.8.5~symlinks+termlib abi=none build_system=autotools arch=linux-centos7-haswell
 -   7gnolxy      ^double-conversion@3.3.0%gcc@4.8.5~ipo build_system=cmake build_type=Release generator=make arch=linux-centos7-haswell
 -   jb3ltnq      ^eigen@3.4.0%gcc@4.8.5~ipo build_system=cmake build_type=RelWithDebInfo generator=make arch=linux-centos7-haswell
 -   h7ho4ln      ^expat@2.5.0%gcc@4.8.5+libbsd build_system=autotools arch=linux-centos7-haswell
 -   i4qqavx          ^libbsd@0.11.7%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   wgmumbw              ^libmd@1.0.4%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   c7breyp      ^freetype@2.11.1%gcc@4.8.5+pic+shared build_system=autotools arch=linux-centos7-haswell
 -   ndfjfxq          ^bzip2@1.0.8%gcc@4.8.5~debug~pic+shared build_system=generic arch=linux-centos7-haswell
 -   p45tlf4              ^diffutils@3.9%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   lt2wyf3          ^pkgconf@1.9.5%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   grd2u42      ^gl2ps@1.4.2%gcc@4.8.5~doc~ipo+png+zlib build_system=cmake build_type=Release generator=make arch=linux-centos7-haswell
 -   ocjjstr      ^glew@2.2.0%gcc@4.8.5~ipo build_system=cmake build_type=Release generator=make gl=glx patches=7992e52 arch=linux-centos7-haswell
 -   yzglgrx          ^libx11@1.8.4%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   wflgsqk              ^inputproto@2.3.2%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   r5qlbyr              ^libxcb@1.14%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   7zuoa4b                  ^libpthread-stubs@0.4%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   6thq3in                  ^libxau@1.0.8%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   bqshp75                  ^libxdmcp@1.1.4%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   ss5isjc                  ^xcb-proto@1.15.2%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   jy7qebk              ^xextproto@7.3.0%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   pi7brsj              ^xtrans@1.4.0%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   qxqaxmu          ^xproto@7.0.31%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   xmaykf7      ^glx@1.4%gcc@4.8.5 build_system=bundle arch=linux-centos7-haswell
 -   e7dhbvs          ^mesa@23.0.3%gcc@4.8.5+glx+llvm+opengl~opengles+osmesa~strip build_system=meson buildtype=release default_library=shared arch=linux-centos7-haswell
 -   zgo7spf              ^bison@3.8.2%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   tj6v3jw              ^flex@2.6.3%gcc@4.8.5+lex~nls build_system=autotools arch=linux-centos7-haswell
 -   45eclhr                  ^findutils@4.9.0%gcc@4.8.5 build_system=autotools patches=440b954 arch=linux-centos7-haswell
 -   2ej3dqt              ^gettext@0.22.3%gcc@4.8.5+bzip2+curses+git~libunistring+libxml2+pic+shared+tar+xz build_system=autotools arch=linux-centos7-haswell
 -   w53vjtw                  ^tar@1.34%gcc@4.8.5 build_system=autotools zip=pigz arch=linux-centos7-haswell
 -   alo2o3o                      ^pigz@2.7%gcc@4.8.5 build_system=makefile arch=linux-centos7-haswell
 -   fck5fft              ^glproto@1.4.17%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   42ubbot              ^libunwind@1.6.2%gcc@4.8.5~block_signals~conservative_checks~cxx_exceptions~debug~debug_frame+docs~pic+tests+weak_backtrace~xz~zlib build_system=autotools components=none libs=shared,static arch=linux-centos7-haswell
 -   f5ocqh4              ^libxext@1.3.3%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   5x7ycj6              ^llvm-amdgpu@5.6.1%gcc@4.8.5~ipo~link_llvm_dylib~llvm_dylib~openmp+rocm-device-libs build_system=cmake build_type=Release generator=ninja patches=a08bbe1,b66529f,d35aec9 arch=linux-centos7-haswell
 -   nl4xln4                  ^z3@4.11.2%gcc@4.8.5~gmp~ipo~python build_system=cmake build_type=Release generator=make arch=linux-centos7-haswell
 -   dkuvfmh              ^meson@1.2.2%gcc@4.8.5 build_system=python_pip patches=0f0b1bd,ae59765 arch=linux-centos7-haswell
 -   qc6zpkn                  ^py-pip@23.1.2%gcc@4.8.5 build_system=generic arch=linux-centos7-haswell
 -   zc5hhbt                  ^py-setuptools@68.0.0%gcc@4.8.5 build_system=generic arch=linux-centos7-haswell
 -   4qig6oa                  ^py-wheel@0.41.2%gcc@4.8.5 build_system=generic arch=linux-centos7-haswell
 -   evod6lf              ^ninja@1.11.1%gcc@4.8.5+re2c build_system=generic arch=linux-centos7-haswell
 -   bj4rhxj                  ^re2c@2.2%gcc@4.8.5 build_system=generic arch=linux-centos7-haswell
 -   7ntp6tz              ^py-mako@1.2.4%gcc@4.8.5 build_system=python_pip arch=linux-centos7-haswell
 -   nugviz4                  ^py-markupsafe@2.1.3%gcc@4.8.5 build_system=python_pip arch=linux-centos7-haswell
 -   unw3cks              ^python@3.11.6%gcc@4.8.5+bz2+crypt+ctypes+dbm~debug+libxml2+lzma~nis~optimizations+pic+pyexpat+pythoncmd+readline+shared+sqlite3+ssl~tkinter+uuid+zlib build_system=generic patches=13fa8bf,b0615b2,ebdca64,f2fd060 arch=linux-centos7-haswell
 -   263ymkj                  ^libffi@3.4.4%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   3h3v4qr              ^xrandr@1.5.0%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   lozw67b                  ^libxrandr@1.5.3%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   li3vv6s                      ^renderproto@0.11.1%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   4oulidx                  ^libxrender@0.9.10%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   4rli3lb                  ^randrproto@1.5.0%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   dqngc5g      ^gmake@4.4.1%gcc@4.8.5~guile build_system=generic arch=linux-centos7-haswell
 -   pl2rbnx      ^hdf5@1.14.3%gcc@4.8.5~cxx~fortran+hl~ipo~java~map+mpi+shared~szip~threadsafe+tools api=default build_system=cmake build_type=Release generator=make arch=linux-centos7-haswell
 -   2ecljrv      ^jsoncpp@1.9.5%gcc@4.8.5~ipo build_system=cmake build_type=Release generator=make arch=linux-centos7-haswell
 -   qpo226m      ^libjpeg-turbo@3.0.0%gcc@4.8.5~ipo~jpeg8+shared+static build_system=cmake build_type=Release generator=make arch=linux-centos7-haswell
 -   yblwbkx          ^nasm@2.15.05%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   uqb7zth      ^libogg@1.3.5%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   ekkunv4      ^libpng@1.6.39%gcc@4.8.5~ipo~pic build_system=cmake build_type=Release generator=make libs=shared,static arch=linux-centos7-haswell
 -   67b5lzg      ^libtheora@1.1.1%gcc@4.8.5~doc build_system=autotools patches=d9bb5a9,e01511a,e01ef71,ff8478d arch=linux-centos7-haswell
 -   jlwdcie          ^autoconf@2.69%gcc@4.8.5 build_system=autotools patches=35c4492,7793209,a49dd5b arch=linux-centos7-haswell
 -   y5q3o2m          ^automake@1.16.5%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   7aixs44          ^libtool@2.4.7%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   i3fuvtz          ^m4@1.4.19%gcc@4.8.5+sigsegv build_system=autotools patches=9dc5fbd,bfdffa7 arch=linux-centos7-haswell
 -   7fovklt              ^libsigsegv@2.14%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   pdnsbmg      ^libtiff@4.5.1%gcc@4.8.5+ccitt~ipo~jbig+jpeg~jpeg12~lerc~libdeflate+logluv~lzma+lzw+next~old-jpeg+packbits~pic~pixarlog+shared+thunder~webp+zlib~zstd build_system=cmake build_type=Release generator=make arch=linux-centos7-haswell
 -   chzesie      ^libxml2@2.10.3%gcc@4.8.5+pic~python+shared build_system=autotools arch=linux-centos7-haswell
 -   3a5lmmb          ^libiconv@1.17%gcc@4.8.5 build_system=autotools libs=shared,static arch=linux-centos7-haswell
 -   npplqel          ^xz@5.4.1%gcc@4.8.5~pic build_system=autotools libs=shared,static arch=linux-centos7-haswell
 -   qgr7bgz      ^libxt@1.1.5%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   av4hbxy          ^kbproto@1.0.7%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   vosyihs          ^libice@1.0.9%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   y7rpib4          ^libsm@1.2.3%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   lc4la5w              ^util-linux-uuid@2.36.2%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   hnrv2o4          ^util-macros@1.19.3%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   jmi73ab      ^lz4@1.9.4%gcc@4.8.5+pic build_system=makefile libs=shared,static arch=linux-centos7-haswell
 -   tugji5t      ^netcdf-c@4.9.2%gcc@4.8.5+blosc~byterange~dap~fsync~hdf4~jna+mpi~nczarr_zip+optimize+parallel-netcdf+pic+shared+szip+zstd build_system=autotools patches=0161eb8 arch=linux-centos7-haswell
 -   l7rczrn          ^c-blosc@1.21.5%gcc@4.8.5+avx2~ipo build_system=cmake build_type=Release generator=make arch=linux-centos7-haswell
 -   jqx6izz              ^snappy@1.1.10%gcc@4.8.5~ipo+pic+shared build_system=cmake build_type=Release generator=make arch=linux-centos7-haswell
 -   7wfmzbb          ^libaec@1.0.6%gcc@4.8.5~ipo+shared build_system=cmake build_type=Release generator=make arch=linux-centos7-haswell
 -   5ldjzjw          ^parallel-netcdf@1.12.3%gcc@4.8.5~burstbuffer+cxx+fortran+pic+shared build_system=autotools arch=linux-centos7-haswell
 -   mx5ni7y          ^zstd@1.5.5%gcc@4.8.5+programs build_system=makefile compression=none libs=shared,static arch=linux-centos7-haswell
 -   bvbscqi      ^netcdf-cxx@4.2%gcc@4.8.5+netcdf4 build_system=autotools patches=8892291 arch=linux-centos7-haswell
 -   52pzigf      ^openmpi@4.1.6%gcc@4.8.5~atomics~cuda~cxx~cxx_exceptions~gpfs~internal-hwloc~internal-pmix~java~legacylaunchers~lustre~memchecker~openshmem~orterunprefix+romio+rsh~singularity+static+vt+wrapper-rpath build_system=autotools fabrics=none schedulers=none arch=linux-centos7-haswell
 -   pl3f7vq          ^hwloc@2.9.1%gcc@4.8.5~cairo~cuda~gl~libudev+libxml2~netloc~nvml~oneapi-level-zero~opencl+pci~rocm build_system=autotools libs=shared,static arch=linux-centos7-haswell
 -   ncdgjio              ^libpciaccess@0.17%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   bmhhfpf          ^numactl@2.0.14%gcc@4.8.5 build_system=autotools patches=4e1d78c,62fc8a8,ff37630 arch=linux-centos7-haswell
 -   24f7ktm          ^openssh@9.5p1%gcc@4.8.5+gssapi build_system=autotools arch=linux-centos7-haswell
 -   lic2oku              ^krb5@1.20.1%gcc@4.8.5+shared build_system=autotools arch=linux-centos7-haswell
 -   q5dazat              ^libedit@3.1-20210216%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   4cegi5g              ^libxcrypt@4.4.35%gcc@4.8.5~obsolete_api build_system=autotools patches=4885da3 arch=linux-centos7-haswell
 -   hue2kvc          ^perl@5.38.0%gcc@4.8.5+cpanm+opcode+open+shared+threads build_system=generic patches=714e4d1 arch=linux-centos7-haswell
 -   zjxiexw              ^berkeley-db@18.1.40%gcc@4.8.5+cxx~docs+stl build_system=autotools patches=26090f4,b231fcc arch=linux-centos7-haswell
 -   gltmkvw              ^gdbm@1.23%gcc@4.8.5 build_system=autotools arch=linux-centos7-haswell
 -   g3rgcab          ^pmix@5.0.1%gcc@4.8.5~docs+pmi_backwards_compatibility~python~restful build_system=autotools arch=linux-centos7-haswell
 -   er3atc6              ^libevent@2.1.12%gcc@4.8.5+openssl build_system=autotools arch=linux-centos7-haswell
 -   cjilirj      ^proj@7.2.1%gcc@4.8.5+curl~ipo~pic+shared+tiff build_system=cmake build_type=Release generator=make patches=dc620ff arch=linux-centos7-haswell
 -   fttdcvi      ^pugixml@1.13%gcc@4.8.5~ipo+pic+shared build_system=cmake build_type=Release generator=make arch=linux-centos7-haswell
 -   yq6aad6      ^seacas@2023-10-24%gcc@4.8.5~adios2+applications+cgns~faodel+fortran~ipo+legacy+matio~metis+mpi+shared~thread_safe+x11 build_system=cmake build_type=Release generator=make arch=linux-centos7-haswell
 -   ygtuo2e          ^fmt@10.1.0%gcc@4.8.5~ipo+pic~shared build_system=cmake build_type=Release cxxstd=11 generator=make arch=linux-centos7-haswell
 -   b7rnuei          ^matio@1.5.17%gcc@4.8.5+hdf5+shared+zlib build_system=autotools arch=linux-centos7-haswell
 -   jmpsqfc      ^sqlite@3.43.2%gcc@4.8.5+column_metadata+dynamic_extensions+fts~functions+rtree build_system=autotools arch=linux-centos7-haswell
 -   liitlpz          ^readline@8.2%gcc@4.8.5 build_system=autotools patches=bbf97f1 arch=linux-centos7-haswell
 -   lzwhtvl      ^utf8cpp@2.3.4%gcc@4.8.5 build_system=generic arch=linux-centos7-haswell
 -   a2ywqkl      ^zlib-ng@2.1.4%gcc@4.8.5+compat+opt build_system=autotools arch=linux-centos7-haswell

Error message

No response

Information on your system

  • Spack: 0.22.0
  • Python: 3.10.12
  • Platform: linux-centos7-cascadelake
  • Concretizer: clingo

General 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
@jcortial-safran jcortial-safran added bug Something isn't working triage The issue needs to be prioritized labels May 15, 2024
@haampie
Copy link
Member

haampie commented May 20, 2024

Bisected to 89fc9a9, which just adds new versions and deps, not immediately useful.

edit: just removing version 2.0 from lcov is sufficient to have it pick up 1.16 on @1.

@alalazo alalazo added impact-low and removed triage The issue needs to be prioritized labels May 20, 2024
@alalazo
Copy link
Member

alalazo commented May 20, 2024

I can reproduce too. The optimization weights when @1.16 is forced say:

==> Best of 7 considered solutions.
==> Optimization Criteria:
  Priority  Criterion                                            Installed  ToBuild
  1         number of packages to build (vs. reuse)                      -        0
  2         number of nodes from the same package                        -        0
  3         requirement weight                                           0        0
  4         deprecated versions used                                     0        0
  5         version weight                                               0        3
  6         number of non-default variants (roots)                       0        0
  7         preferred providers for roots                                0        0
  8         default values of variants not being used (roots)            0        0
  9         number of non-default variants (non-roots)                   0        0
  10        preferred providers (non-roots)                              0        0
  11        compiler mismatches that are not from CLI                    0        0
  12        compiler mismatches that are not from CLI                    0        0
  13        non-preferred OS's                                           0        0
  14        version badness                                              0       15
  15        default values of variants not being used (non-roots)        0        6
  16        non-preferred compilers                                      0        0
  17        target mismatches                                            0        0
  18        non-preferred targets                                        0        0
  19        compiler mismatches (runtimes)                               0        0
  20        version badness (runtimes)                                   0        0
  21        non-preferred targets (runtimes)                             0        0
  22        edge wiring                                                 12        0

versus this output when @1 is given:

==> Best of 8 considered solutions.
==> Optimization Criteria:
  Priority  Criterion                                            Installed  ToBuild
  1         number of packages to build (vs. reuse)                      -        0
  2         number of nodes from the same package                        -        0
  3         requirement weight                                           0        0
  4         deprecated versions used                                     0        0
  5         version weight                                               0        2
  6         number of non-default variants (roots)                       0        0
  7         preferred providers for roots                                0        0
  8         default values of variants not being used (roots)            0        0
  9         number of non-default variants (non-roots)                   0        0
  10        preferred providers (non-roots)                              0        0
  11        compiler mismatches that are not from CLI                    0        0
  12        compiler mismatches that are not from CLI                    0        0
  13        non-preferred OS's                                           0        0
  14        version badness                                              0       16
  15        default values of variants not being used (non-roots)        0        6
  16        non-preferred compilers                                      0        0
  17        target mismatches                                            0        0
  18        non-preferred targets                                        0        0
  19        compiler mismatches (runtimes)                               0        0
  20        version badness (runtimes)                                   0        0
  21        non-preferred targets (runtimes)                             0        0
  22        edge wiring                                                 12        0

@alalazo alalazo added this to the v0.22.1 milestone May 20, 2024
@alalazo alalazo self-assigned this May 20, 2024
@alalazo
Copy link
Member

alalazo commented May 20, 2024

Looking into it

@alalazo
Copy link
Member

alalazo commented May 20, 2024

Wow, I found a trivial typo in the root optimisation weight that apparently has been there since ever. I'm submitting a bugfix, but this bug is kind of rare to hit, since there must be two sub-optimal versions used in the environment and they must have the same penalty score.

@alalazo
Copy link
Member

alalazo commented May 20, 2024

Bisected to 89fc9a9, which just adds new versions and deps, not immediately useful.

That was indeed the trigger in this case, cause it caused the old version of vtk and the old version of lcov to have both a penalty of 2.

@jcortial-safran Thank you very much for the reproducer, that was super helpful. Can you confirm that this:

diff --git a/lib/spack/spack/solver/concretize.lp b/lib/spack/spack/solver/concretize.lp
index 60165338c6..4d8a202ce3 100644
--- a/lib/spack/spack/solver/concretize.lp
+++ b/lib/spack/spack/solver/concretize.lp
@@ -1432,11 +1432,11 @@ opt_criterion(73, "deprecated versions used").
 % 1. Version weight
 % 2. Number of variants with a non default value, if not set
 % for the root package.
-opt_criterion(70, "version weight").
+opt_criterion(70, "version badness (roots)").
 #minimize{ 0@270: #true }.
 #minimize{ 0@70: #true }.
 #minimize {
-    Weight@70+Priority
+    Weight@70+Priority,PackageNode
     : attr("root", PackageNode),
       version_weight(PackageNode, Weight),
       build_priority(PackageNode, Priority)
@@ -1526,13 +1526,14 @@ opt_criterion(30, "non-preferred OS's").
 }.
 
 % Choose more recent versions for nodes
-opt_criterion(25, "version badness").
+opt_criterion(25, "version badness (non roots)").
 #minimize{ 0@225: #true }.
 #minimize{ 0@25: #true }.
 #minimize{
     Weight@25+Priority,node(X, Package)
     : version_weight(node(X, Package), Weight),
       build_priority(node(X, Package), Priority),
+      not attr("root", node(X, Package)),
       not runtime(Package)
 }.

solves the issue for you?

alalazo added a commit to alalazo/spack that referenced this issue May 20, 2024
fixes spack#44216

This fixes a bug occurring when two root specs need to select
old versions, and these versions have the same penalty in the
optimization. This sometimes caused an older version to be
preferred to a more recent one.

The issue was the omission of `PackageNode` in the optimization
tuple.
@jcortial-safran
Copy link
Contributor Author

Bisected to 89fc9a9, which just adds new versions and deps, not immediately useful.

That was indeed the trigger in this case, cause it caused the old version of vtk and the old version of lcov to have both a penalty of 2.

@jcortial-safran Thank you very much for the reproducer, that was super helpful. Can you confirm that this:

diff --git a/lib/spack/spack/solver/concretize.lp b/lib/spack/spack/solver/concretize.lp
index 60165338c6..4d8a202ce3 100644
--- a/lib/spack/spack/solver/concretize.lp
+++ b/lib/spack/spack/solver/concretize.lp
@@ -1432,11 +1432,11 @@ opt_criterion(73, "deprecated versions used").
 % 1. Version weight
 % 2. Number of variants with a non default value, if not set
 % for the root package.
-opt_criterion(70, "version weight").
+opt_criterion(70, "version badness (roots)").
 #minimize{ 0@270: #true }.
 #minimize{ 0@70: #true }.
 #minimize {
-    Weight@70+Priority
+    Weight@70+Priority,PackageNode
     : attr("root", PackageNode),
       version_weight(PackageNode, Weight),
       build_priority(PackageNode, Priority)
@@ -1526,13 +1526,14 @@ opt_criterion(30, "non-preferred OS's").
 }.
 
 % Choose more recent versions for nodes
-opt_criterion(25, "version badness").
+opt_criterion(25, "version badness (non roots)").
 #minimize{ 0@225: #true }.
 #minimize{ 0@25: #true }.
 #minimize{
     Weight@25+Priority,node(X, Package)
     : version_weight(node(X, Package), Weight),
       build_priority(node(X, Package), Priority),
+      not attr("root", node(X, Package)),
       not runtime(Package)
 }.

solves the issue for you?

Thanks for your help !

Yes it solves the issue in the example. It also improves greatmy the concretized specs in my real case. However it seems that some suboptimal specs (not in the roots, but in a dependent package, namely py-cython) remain even after your changes, I will try to exhibit a minimal example before I submit a new issue.

@alalazo
Copy link
Member

alalazo commented May 21, 2024

However it seems that some suboptimal specs (not in the roots, but in a dependent package, namely py-cython) remain even after your changes, I will try to exhibit a minimal example before I submit a new issue.

Note that cases like that might happen if giving a penalty to some nodes results in avoiding bigger penalties on other nodes.

@jcortial-safran
Copy link
Contributor Author

However it seems that some suboptimal specs (not in the roots, but in a dependent package, namely py-cython) remain even after your changes, I will try to exhibit a minimal example before I submit a new issue.

Note that cases like that might happen if giving a penalty to some nodes results in avoiding bigger penalties on other nodes.

Yes, I agree. I need to confirm that the solution is indeed suboptimal.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working impact-low
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

3 participants