Skip to content

Unsatisfiable constraint when no explicit package version given #10000

@SteVwonder

Description

@SteVwonder

Installing flux-core with an explicit version (i.e., [email protected], [email protected], flux-core@master) works perfectly. Attempting to install without an explicit version (i.e., spack install flux-core) fails when spack cannot seem to satisfy the lua dependency. It appears as though the concretizer just grabs tha latest version of lua (5.3.X) and then some other verification pass realizes that this doesn't meet the specification for the latest version of flux-core ([email protected] and [email protected]:5.2.99).

My guess is that this is either:
A) improper specification of dependencies in the flux-core package
B) a bug in the concretizer

Flux's lua dependency specification currently looks like:

    depends_on("lua", type=('build', 'run', 'link'))
    depends_on("[email protected]:5.1.99", when="@0.1.0:0.9.0")
    depends_on("[email protected]:5.2.99", when="@0.10.0:,master")

Does the when argument only apply when a user explicitly adds that variant/customization in the command?

Steps to reproduce the issue & Error Message

$ spack -d install flux-core
<snip some lines about reading configs and getting locks>
--------------------------------
flux-core

Concretized
--------------------------------
==> Error: An unsatisfiable version constraint has been detected for spec:

    [email protected]%[email protected] arch=linux-rhel7-x86_64 
        ^[email protected]%[email protected]~symlinks~termlib arch=linux-rhel7-x86_64 
            ^[email protected]%[email protected] arch=linux-rhel7-x86_64 
        ^[email protected]%[email protected] arch=linux-rhel7-x86_64 
        ^[email protected]%[email protected] arch=linux-rhel7-x86_64 


while trying to concretize the partial spec:

    [email protected]%[email protected]~cuda~docs arch=linux-rhel7-x86_64 
        ^[email protected]%[email protected] arch=linux-rhel7-x86_64 
            ^[email protected]%[email protected] arch=linux-rhel7-x86_64 
                ^[email protected]%[email protected]+sigsegv arch=linux-rhel7-x86_64 
                    ^libsigsegv
                ^[email protected]%[email protected]+cpanm+shared+threads arch=linux-rhel7-x86_64 
                    ^[email protected]%[email protected] arch=linux-rhel7-x86_64 
                        ^[email protected]%[email protected] arch=linux-rhel7-x86_64 
                            ^[email protected]%[email protected]~symlinks~termlib arch=linux-rhel7-x86_64 
                                ^[email protected]%[email protected] arch=linux-rhel7-x86_64 
            ^[email protected]%[email protected] arch=linux-rhel7-x86_64 
            ^[email protected]%[email protected] arch=linux-rhel7-x86_64 
            ^[email protected]%[email protected] arch=linux-rhel7-x86_64 
            ^[email protected]%[email protected]+libsodium arch=linux-rhel7-x86_64 
                ^libsodium
        ^[email protected]%[email protected]~cairo~cuda+libxml2+pci+shared arch=linux-rhel7-x86_64 
            ^libpciaccess
                ^util-macros
            ^libxml2
                ^xz
                ^[email protected]%[email protected]+optimize+pic+shared arch=linux-rhel7-x86_64 
            ^numactl
        ^[email protected]%[email protected] build_type=RelWithDebInfo +shared arch=linux-rhel7-x86_64 
            ^[email protected]%[email protected]~doc+ncurses+openssl+ownlibs~qt arch=linux-rhel7-x86_64 
                ^[email protected]%[email protected]+systemcerts arch=linux-rhel7-x86_64 
        ^[email protected]%[email protected] arch=linux-rhel7-x86_64 
            ^[email protected]%[email protected] arch=linux-rhel7-x86_64 
                ^[email protected]%[email protected] arch=linux-rhel7-x86_64 
        ^[email protected]%[email protected] arch=linux-rhel7-x86_64 
            ^[email protected]%[email protected] arch=linux-rhel7-x86_64 
                ^[email protected]%[email protected] arch=linux-rhel7-x86_64 
        ^[email protected]%[email protected]+dbm~optimizations+pic+pythoncmd+shared~tk~ucs4 arch=linux-rhel7-x86_64 
            ^[email protected]%[email protected]+shared arch=linux-rhel7-x86_64 
                ^[email protected]%[email protected] arch=linux-rhel7-x86_64 
            ^[email protected]%[email protected]~functions arch=linux-rhel7-x86_64 


flux-core requires lua version 5.1:5.2.99, but spec asked for 5.3.4
Traceback (most recent call last):
  File "/g/g0/herbein1/Repositories/spack/lib/spack/spack/main.py", line 669, in main
    return _invoke_command(command, parser, args, unknown)
  File "/g/g0/herbein1/Repositories/spack/lib/spack/spack/main.py", line 440, in _invoke_command
    return_val = command(parser, args)
  File "/g/g0/herbein1/Repositories/spack/lib/spack/spack/cmd/spec.py", line 72, in spec
    spec.concretize()
  File "/g/g0/herbein1/Repositories/spack/lib/spack/spack/spec.py", line 1865, in concretize
    user_spec_deps=user_spec_deps),
  File "/g/g0/herbein1/Repositories/spack/lib/spack/spack/spec.py", line 2288, in normalize
    visited, all_spec_deps, provider_index, tests)
  File "/g/g0/herbein1/Repositories/spack/lib/spack/spack/spec.py", line 2227, in _normalize_helper
    dep, visited, spec_deps, provider_index, tests)
  File "/g/g0/herbein1/Repositories/spack/lib/spack/spack/spec.py", line 2168, in _merge_dependency
    changed |= spec_deps[dep.name].constrain(dep)
  File "/g/g0/herbein1/Repositories/spack/lib/spack/spack/spec.py", line 2361, in constrain
    raise UnsatisfiableVersionSpecError(self.versions, other.versions)
spack.spec.UnsatisfiableVersionSpecError: An unsatisfiable version constraint has been detected for spec:
<snip repeated spec>

Information on your system

This includes:

  1. TOSS3 system at LLNL

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions