Skip to content

Concretization broken for version ranges #2793

@adamjstewart

Description

@adamjstewart
$ spack spec py-configparser
...
py-configparser@3.5.0%gcc@6.1.0 arch=linux-centos6-x86_64
    ^py-ordereddict@1.1%gcc@6.1.0 arch=linux-centos6-x86_64
        ^python@2.6.999%gcc@6.1.0+tk~ucs4 arch=linux-centos6-x86_64
            ^bzip2@1.0.6%gcc@6.1.0 arch=linux-centos6-x86_64
            ^ncurses@6.0%gcc@6.1.0 arch=linux-centos6-x86_64
            ^openssl@1.0.2j%gcc@6.1.0 arch=linux-centos6-x86_64
                ^zlib@1.2.10%gcc@6.1.0+pic arch=linux-centos6-x86_64
            ^readline@6.3%gcc@6.1.0 arch=linux-centos6-x86_64
            ^sqlite@3.8.5%gcc@6.1.0 arch=linux-centos6-x86_64
            ^tcl@8.6.5%gcc@6.1.0 arch=linux-centos6-x86_64
            ^tk@8.6.5%gcc@6.1.0~X arch=linux-centos6-x86_64
    ^py-setuptools@25.2.0%gcc@6.1.0 arch=linux-centos6-x86_64

Why is it choosing python@2.6.999 here? I see two places where we went wrong.

First of all, py-configparser doesn't depend on py-ordereddict unless we are building with Python 2.6. Spack should still default to the latest version of Python 2.7.

Second, the following doesn't fare any better:

$ spack spec py-ordereddict
...
py-ordereddict@1.1%gcc@6.1.0 arch=linux-centos6-x86_64
    ^python@2.6.999%gcc@6.1.0+tk~ucs4 arch=linux-centos6-x86_64
        ^bzip2@1.0.6%gcc@6.1.0 arch=linux-centos6-x86_64
        ^ncurses@6.0%gcc@6.1.0 arch=linux-centos6-x86_64
        ^openssl@1.0.2j%gcc@6.1.0 arch=linux-centos6-x86_64
            ^zlib@1.2.10%gcc@6.1.0+pic arch=linux-centos6-x86_64
        ^readline@6.3%gcc@6.1.0 arch=linux-centos6-x86_64
        ^sqlite@3.8.5%gcc@6.1.0 arch=linux-centos6-x86_64
        ^tcl@8.6.5%gcc@6.1.0 arch=linux-centos6-x86_64
        ^tk@8.6.5%gcc@6.1.0~X arch=linux-centos6-x86_64

This is also choosing python@2.6.999 even though it should be choosing the latest version of Python 2.6 in Spack.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions