Skip to content

Concretizer chooses build dep that doesn't satisfy all packages #27835

@adamjstewart

Description

@adamjstewart

Steps to reproduce

The py-jupyter-server package contains the following constraint:

depends_on('[email protected]:1', type=('build', 'run'), when='@1.10.2:')

However, this should actually be:

depends_on('[email protected]:0', type=('build', 'run'))

If you make this change, you'll be able to reproduce the following issue.

Error message

With the package on its own, the concretizer chooses the right thing:

$ spack spec py-jupyter-server
...
[email protected]%[email protected] arch=darwin-catalina-ivybridge
...
    ^[email protected]%[email protected] arch=darwin-catalina-ivybridge

However, with a package that depends on both, you get an invalid solve:

$ spack spec py-cinemasci
...
            ^[email protected]%[email protected] arch=darwin-catalina-ivybridge
...
                ^[email protected]%[email protected] arch=darwin-catalina-ivybridge

This prevents GitLab CI from building correctly in #27798.

Information on your system

  • Spack: 0.17.0-445-f81d84dfc6
  • Python: 3.8.12
  • Platform: darwin-catalina-ivybridge
  • 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingconcretizationtriageThe 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