Skip to content

Not super consistent dependency resolution #22871

@maxim-belkin

Description

@maxim-belkin

The result of spack spec is not super consistent and depends on the flags used. This makes debugging lengthy build failures (e.g., py-torch) difficult...

Steps to reproduce the issue

$ spack spec    [email protected]%[email protected] arch=cray-suse_linux11-bulldozer
$ spack spec -I [email protected]%[email protected] arch=cray-suse_linux11-bulldozer
$ spack --debug --stacktrace spec    [email protected]%[email protected] arch=cray-suse_linux11-bulldozer
$ spack --debug --stacktrace spec -I [email protected]%[email protected] arch=cray-suse_linux11-bulldozer
  1. spack spec ... command resolves diffutils and ncurses to arch=cray-cnl5-bulldozer:

    spack spec [email protected]%[email protected] arch=cray-suse_linux11-bulldozer
     
     Input spec
     --------------------------------
     [email protected]%[email protected] arch=cray-suse_linux11-bulldozer
    
     Concretized
     --------------------------------
     ==> Warning: Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors
     [email protected]%[email protected]+bzip2+curses+git~libunistring+libxml2+tar+xz arch=cray-suse_linux11-bulldozer
         ^[email protected]%[email protected]+shared arch=cray-suse_linux11-bulldozer
             ^[email protected]%[email protected] arch=cray-cnl5-bulldozer
                 ^[email protected]%[email protected] arch=cray-suse_linux11-bulldozer
         ^[email protected]%[email protected]~python arch=cray-suse_linux11-bulldozer
             ^[email protected]%[email protected] arch=cray-suse_linux11-bulldozer
             ^[email protected]%[email protected]~pic arch=cray-suse_linux11-bulldozer
             ^[email protected]%[email protected]+optimize+pic+shared arch=cray-suse_linux11-bulldozer
         ^[email protected]%[email protected]~symlinks+termlib abi=none arch=cray-cnl5-bulldozer
         ^[email protected]%[email protected] arch=cray-suse_linux11-bulldozer
     
     
  2. spack spec -I ... command resolves bzip2, libiconv, xz, zlib, and ncurses to arch=cray-cnl5-bulldozer:

    spack spec -I [email protected]%[email protected] arch=cray-suse_linux11-bulldozer
     
     Input spec
     --------------------------------
     -   [email protected]%[email protected] arch=cray-suse_linux11-bulldozer
    
     Concretized
     --------------------------------
     ==> Warning: Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors
     -   [email protected]%[email protected]+bzip2+curses+git~libunistring+libxml2+tar+xz arch=cray-suse_linux11-bulldozer
     [+]      ^[email protected]%[email protected]+shared arch=cray-cnl5-bulldozer
     [+]          ^[email protected]%[email protected] arch=cray-suse_linux11-bulldozer
     [+]              ^[email protected]%[email protected] arch=cray-cnl5-bulldozer
     -       ^[email protected]%[email protected]~python arch=cray-suse_linux11-bulldozer
     [+]          ^[email protected]%[email protected] arch=cray-suse_linux11-bulldozer
     [+]          ^[email protected]%[email protected]~pic arch=cray-cnl5-bulldozer
     [+]          ^[email protected]%[email protected]+optimize+pic+shared arch=cray-cnl5-bulldozer
     [+]      ^[email protected]%[email protected]~symlinks+termlib abi=none arch=cray-cnl5-bulldozer
     [+]      ^[email protected]%[email protected] arch=cray-suse_linux11-bulldozer
     
     
  3. spack --debug --stacktrace spec command resolves bzip2, libiconv,pkgconf, zlib, and ncurses to arch=cray-cnl5-bulldozer:

    spack --debug --stacktrace spec [email protected]%[email protected] arch=cray-suse_linux11-bulldozer
     lib/spack/spack/util/executable.py:188 ==> [2021-04-08-10:54:00.287407] '/bin/bash' '--norc' '--noprofile' '-lc' 'echo $CRAY_CPU_TARGET'
     lib/spack/spack/platforms/cray.py:154 ==> [2021-04-08-10:54:00.306459] default to front-end architecture
     lib/spack/spack/cmd/__init__.py:122 ==> [2021-04-08-10:54:00.466622] Imported spec from built-in commands
     lib/spack/spack/cmd/__init__.py:122 ==> [2021-04-08-10:54:00.468600] Imported spec from built-in commands
     Input spec
     --------------------------------
     [email protected]%[email protected] arch=cray-suse_linux11-bulldozer
     
     Concretized
     --------------------------------
     lib/spack/spack/config.py:981 ==> [2021-04-08-10:54:00.475995] Reading config file /dev/shm/spack/test/etc/spack/defaults/config.yaml
     lib/spack/spack/config.py:981 ==> [2021-04-08-10:54:00.550154] Reading config file /dev/shm/spack/test/etc/spack/config.yaml
     lib/spack/spack/config.py:981 ==> [2021-04-08-10:54:00.559828] Reading config file /u/staff/mbelkin/.spack/config.yaml
     lib/spack/spack/config.py:981 ==> [2021-04-08-10:54:01.539299] Reading config file /dev/shm/spack/test/etc/spack/defaults/repos.yaml
     lib/spack/spack/config.py:981 ==> [2021-04-08-10:54:01.546097] Reading config file /dev/shm/spack/test/etc/spack/repos.yaml
     lib/spack/spack/config.py:981 ==> [2021-04-08-10:54:02.983742] Reading config file /dev/shm/spack/test/etc/spack/compilers.yaml
     lib/spack/spack/config.py:981 ==> [2021-04-08-10:54:04.806201] Reading config file /dev/shm/spack/test/etc/spack/defaults/packages.yaml
     lib/spack/spack/config.py:981 ==> [2021-04-08-10:54:04.907017] Reading config file /dev/shm/spack/test/etc/spack/packages.yaml
     dev/shm/spack/test/lib/spack/spack/main.py:431 ==> [2021-04-08-10:54:05.868855] Warning: Intel's compilers may or may not optimize to the same degрee for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors
     lib/spack/spack/solver/asp.py:1566 ==> [2021-04-08-10:54:10.186875] opt_criterion(15, version weight)
     lib/spack/spack/solver/asp.py:1566 ==> [2021-04-08-10:54:10.187378] opt_criterion(14, number of non-default variants (roots))
     lib/spack/spack/solver/asp.py:1566 ==> [2021-04-08-10:54:10.187777] opt_criterion(13, multi-valued variants + preferred providers for roots)
     lib/spack/spack/solver/asp.py:1566 ==> [2021-04-08-10:54:10.188175] opt_criterion(11, number of non-default variants (non-roots))
     lib/spack/spack/solver/asp.py:1566 ==> [2021-04-08-10:54:10.188569] opt_criterion(9, number of non-default providers (non-roots))
     lib/spack/spack/solver/asp.py:1566 ==> [2021-04-08-10:54:10.188961] opt_criterion(8, count of non-root multi-valued variants)
     lib/spack/spack/solver/asp.py:1566 ==> [2021-04-08-10:54:10.189354] opt_criterion(7, compiler matches + number of nodes)
     lib/spack/spack/solver/asp.py:1566 ==> [2021-04-08-10:54:10.189762] opt_criterion(6, version badness)
     lib/spack/spack/solver/asp.py:1566 ==> [2021-04-08-10:54:10.190156] opt_criterion(5, non-preferred compilers)
     lib/spack/spack/solver/asp.py:1566 ==> [2021-04-08-10:54:10.190547] opt_criterion(4, target matches)
     lib/spack/spack/solver/asp.py:1566 ==> [2021-04-08-10:54:10.190939] opt_criterion(3, non-preferred targets)
     lib/spack/spack/database.py:364 ==> [2021-04-08-10:54:10.212736] DATABASE LOCK TIMEOUT: 3s
     lib/spack/spack/database.py:368 ==> [2021-04-08-10:54:10.213675] PACKAGE LOCK TIMEOUT: No timeout
     [email protected]%[email protected]+bzip2+curses+git~libunistring+libxml2+tar+xz arch=cray-suse_linux11-bulldozer
         ^[email protected]%[email protected]+shared arch=cray-cnl5-bulldozer
             ^[email protected]%[email protected] arch=cray-suse_linux11-bulldozer
                 ^[email protected]%[email protected] arch=cray-cnl5-bulldozer
         ^[email protected]%[email protected]~python arch=cray-suse_linux11-bulldozer
             ^[email protected]%[email protected] arch=cray-cnl5-bulldozer
             ^[email protected]%[email protected]~pic arch=cray-suse_linux11-bulldozer
             ^[email protected]%[email protected]+optimize+pic+shared arch=cray-cnl5-bulldozer
         ^[email protected]%[email protected]~symlinks+termlib abi=none arch=cray-cnl5-bulldozer
         ^[email protected]%[email protected] arch=cray-suse_linux11-bulldozer
     
     
  4. spack --debug --stacktrace spec -I command resolves libiconv and xz to arch=cray-cnl5-bulldozer:

    spack --debug --stacktrace spec [email protected]%[email protected] arch=cray-suse_linux11-bulldozer
     
     lib/spack/spack/util/executable.py:188 ==> [2021-04-08-11:22:13.590133] '/bin/bash' '--norc' '--noprofile' '-lc' 'echo $CRAY_CPU_TARGET'
     lib/spack/spack/platforms/cray.py:154 ==> [2021-04-08-11:22:13.610731] default to front-end architecture
     lib/spack/spack/cmd/__init__.py:122 ==> [2021-04-08-11:22:13.802151] Imported spec from built-in commands
     lib/spack/spack/cmd/__init__.py:122 ==> [2021-04-08-11:22:13.804152] Imported spec from built-in commands
     lib/spack/spack/config.py:981 ==> [2021-04-08-11:22:13.808353] Reading config file /dev/shm/spack/test/etc/spack/defaults/config.yaml
     lib/spack/spack/config.py:981 ==> [2021-04-08-11:22:13.881523] Reading config file /dev/shm/spack/test/etc/spack/config.yaml
     lib/spack/spack/config.py:981 ==> [2021-04-08-11:22:13.891616] Reading config file /u/staff/mbelkin/.spack/config.yaml
     lib/spack/spack/database.py:364 ==> [2021-04-08-11:22:13.914982] DATABASE LOCK TIMEOUT: 3s
     lib/spack/spack/database.py:368 ==> [2021-04-08-11:22:13.915445] PACKAGE LOCK TIMEOUT: No timeout
     Input spec
     --------------------------------
     lib/spack/spack/config.py:981 ==> [2021-04-08-11:22:13.993712] Reading config file /dev/shm/spack/test/etc/spack/defaults/repos.yaml
     lib/spack/spack/config.py:981 ==> [2021-04-08-11:22:14.000272] Reading config file /dev/shm/spack/test/etc/spack/repos.yaml
      -   [email protected]%[email protected] arch=cray-suse_linux11-bulldozer
     
     Concretized
     --------------------------------
     lib/spack/spack/config.py:981 ==> [2021-04-08-11:22:16.414900] Reading config file /dev/shm/spack/test/etc/spack/compilers.yaml
     lib/spack/spack/config.py:981 ==> [2021-04-08-11:22:18.230479] Reading config file /dev/shm/spack/test/etc/spack/defaults/packages.yaml
     lib/spack/spack/config.py:981 ==> [2021-04-08-11:22:18.332947] Reading config file /dev/shm/spack/test/etc/spack/packages.yaml
     dev/shm/spack/test/lib/spack/spack/main.py:431 ==> [2021-04-08-11:22:19.302837] Warning: Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors
     lib/spack/spack/solver/asp.py:1566 ==> [2021-04-08-11:22:23.475782] opt_criterion(15, version weight)
     lib/spack/spack/solver/asp.py:1566 ==> [2021-04-08-11:22:23.476663] opt_criterion(14, number of non-default variants (roots))
     lib/spack/spack/solver/asp.py:1566 ==> [2021-04-08-11:22:23.477074] opt_criterion(13, multi-valued variants + preferred providers for roots)
     lib/spack/spack/solver/asp.py:1566 ==> [2021-04-08-11:22:23.477476] opt_criterion(11, number of non-default variants (non-roots))
     lib/spack/spack/solver/asp.py:1566 ==> [2021-04-08-11:22:23.477872] opt_criterion(9, number of non-default providers (non-roots))
     lib/spack/spack/solver/asp.py:1566 ==> [2021-04-08-11:22:23.478268] opt_criterion(8, count of non-root multi-valued variants)
     lib/spack/spack/solver/asp.py:1566 ==> [2021-04-08-11:22:23.478662] opt_criterion(7, compiler matches + number of nodes)
     lib/spack/spack/solver/asp.py:1566 ==> [2021-04-08-11:22:23.479056] opt_criterion(6, version badness)
     lib/spack/spack/solver/asp.py:1566 ==> [2021-04-08-11:22:23.479450] opt_criterion(5, non-preferred compilers)
     lib/spack/spack/solver/asp.py:1566 ==> [2021-04-08-11:22:23.479842] opt_criterion(4, target matches)
     lib/spack/spack/solver/asp.py:1566 ==> [2021-04-08-11:22:23.480237] opt_criterion(3, non-preferred targets)
      -   [email protected]%[email protected]+bzip2+curses+git~libunistring+libxml2+tar+xz arch=cray-suse_linux11-bulldozer
     [+]      ^[email protected]%[email protected]+shared arch=cray-suse_linux11-bulldozer
     [+]          ^[email protected]%[email protected] arch=cray-suse_linux11-bulldozer
     [+]              ^[email protected]%[email protected] arch=cray-cnl5-bulldozer
      -       ^[email protected]%[email protected]~python arch=cray-suse_linux11-bulldozer
     [+]          ^[email protected]%[email protected] arch=cray-suse_linux11-bulldozer
     [+]          ^[email protected]%[email protected]~pic arch=cray-cnl5-bulldozer
     [+]          ^[email protected]%[email protected]+optimize+pic+shared arch=cray-suse_linux11-bulldozer
      -       ^[email protected]%[email protected]~symlinks+termlib abi=none arch=cray-suse_linux11-bulldozer
     [+]      ^[email protected]%[email protected] arch=cray-suse_linux11-bulldozer
     
     

Error Message

None

Information on your system

spack debug report

  • Spack: 0.16.1-2136-68cec598dc
  • Python: 3.7.9
  • Platform: cray-suse_linux11-bulldozer
  • 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

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions