Skip to content

Concretizing failure between python and py-matplotlib #11659

@codeandkey

Description

@codeandkey

Spack will not concretize py-matplotlib and python together without explicit version constraints. Recent versions of matplotlib require python 3.5+, but it seems to conflict with a non-existing constraint "spec asked for 2.7.16".

Changing the python dependency to python@3.5: fixes the issue, but I feel like this should not be necessary.

Steps to reproduce the issue

Here is the minimal package file I tested.

from spack import *


class TestPackage(Package):
    git = "http://github.com/codeandkey/dotfiles"
    version('develop', branch='master')

    depends_on('python')
    depends_on('py-matplotlib')

Error Message

==> Error: An unsatisfiable version constraint has been detected for spec:
    python@2.7.16%gcc@4.8.5+bz2+ctypes+dbm+lzma~nis~optimizations+pic+pyexpat+pythoncmd+readline+shared+sqlite3+ssl~tkinter~ucs4~uuid+zlib arch=linux-rhel7-x86_64
        ^bzip2@1.0.6%gcc@4.8.5+shared arch=linux-rhel7-x86_64
            ^diffutils@3.7%gcc@4.8.5 arch=linux-rhel7-x86_64
        ^expat
        ^gdbm
            ^readline
                ^ncurses
                    ^pkgconf@1.6.0%gcc@4.8.5 arch=linux-rhel7-x86_64
        ^libffi
        ^openssl
            ^perl@5.14.0:
            ^zlib@1.2.11%gcc@4.8.5+optimize+pic+shared arch=linux-rhel7-x86_64
        ^sqlite@3.0.8:


while trying to concretize the partial spec:

    py-matplotlib@3.0.2%gcc@4.8.5~animation+image~ipython~latex~qt+tk arch=linux-rhel7-x86_64
        ^freetype@2.9.1%gcc@4.8.5 arch=linux-rhel7-x86_64
            ^bzip2@1.0.6%gcc@4.8.5+shared arch=linux-rhel7-x86_64
                ^diffutils@3.7%gcc@4.8.5 arch=linux-rhel7-x86_64
            ^libpng@1.6.34%gcc@4.8.5 arch=linux-rhel7-x86_64
               ^zlib@1.2.11%gcc@4.8.5+optimize+pic+shared arch=linux-rhel7-x86_64                                                                                                                                                                                  [21/760]
            ^pkgconf@1.6.0%gcc@4.8.5 arch=linux-rhel7-x86_64
        ^pil
        ^py-dateutil@2.7.5%gcc@4.8.5 arch=linux-rhel7-x86_64
            ^py-setuptools@41.0.1%gcc@4.8.5 arch=linux-rhel7-x86_64
                ^python@2.7.16%gcc@4.8.5+bz2+ctypes+dbm+lzma~nis~optimizations+pic+pyexpat+pythoncmd+readline+shared+sqlite3+ssl~tkinter~ucs4~uuid+zlib arch=linux-rhel7-x86_64
                    ^expat
                    ^gdbm
                        ^readline
                            ^ncurses
                    ^libffi
                    ^openssl
                        ^perl@5.14.0:
                    ^sqlite@3.0.8:
            ^py-setuptools-scm
            ^py-six@1.12.0%gcc@4.8.5 arch=linux-rhel7-x86_64
        ^py-functools32@3.2.3-2%gcc@4.8.5 arch=linux-rhel7-x86_64
        ^py-subprocess32@3.2.7%gcc@4.8.5 arch=linux-rhel7-x86_64
        ^qhull@2015.2%gcc@4.8.5 build_type=RelWithDebInfo arch=linux-rhel7-x86_64
            ^cmake@3.14.4%gcc@4.8.5~doc+ncurses+openssl+ownlibs~qt arch=linux-rhel7-x86_64
                ^gnutls@3.6.8%gcc@4.8.5+guile+zlib arch=linux-rhel7-x86_64
                    ^gettext@0.19.8.1%gcc@4.8.5+bzip2+curses+git~libunistring+libxml2+tar+xz arch=linux-rhel7-x86_64
                        ^libxml2
                            ^libiconv
                            ^xz
                        ^tar
                    ^guile
                        ^bdw-gc@7.0:
                        ^gmp@4.2:
                            ^autoconf
                                ^m4@1.4.6:
                            ^automake
                          ^libtool@1.5.6:
                        ^libunistring@0.9.3:
                    ^nettle@3.4.1:
        ^tk@8.3:
            ^libx11
                ^inputproto
                    ^util-macros
                ^kbproto
                ^libxcb@1.1.92:
                    ^libpthread-stubs
                    ^libxau@0.99.2:
                        ^xproto@7.0.17:
                    ^libxdmcp
                    ^xcb-proto
                ^xextproto
                ^xtrans
            ^tcl@8.6:

py-matplotlib requires python version 3.5:, but spec asked for 2.7.16

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions