Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

External packages affect concretization #4635

Closed
adamjstewart opened this issue Jun 28, 2017 · 2 comments · Fixed by #19501
Closed

External packages affect concretization #4635

adamjstewart opened this issue Jun 28, 2017 · 2 comments · Fixed by #19501

Comments

@adamjstewart
Copy link
Member

This is a weird one. I have a packages.yaml containing:

packages:
  all:
    # Set Intel as default compiler
    compiler: [intel, gcc, pgi, nag]
  cmake:
    paths:
      cmake@2.8.12.2: /usr

When I run:

$ spack spec cmake %gcc
Input spec
--------------------------------
cmake%gcc

Normalized
--------------------------------
cmake%gcc

Concretized
--------------------------------
cmake@2.8.12.2%intel@17.0.4 cflags="-axCOMMON-AVX512,MIC-AVX512,CORE-AVX512,CORE-AVX2,AVX" cxxflags="-axCOMMON-AVX512,MIC-AVX512,CORE-AVX512,CORE-AVX2,AVX" fflags="-axCOMMON-AVX512,MIC-AVX512,CORE-AVX512,CORE-AVX2,AVX" ~doc+ncurses+openssl+ownlibs~qt arch=linux-centos7-x86_64

It chooses a different compiler and version than I requested. If I comment out the external package, it works as I would expect:

$ spack spec cmake %gcc
Input spec
--------------------------------
cmake%gcc

Normalized
--------------------------------
cmake%gcc

Concretized
--------------------------------
cmake@3.8.1%gcc@7.1.0~doc+ncurses+openssl+ownlibs~qt arch=linux-centos7-x86_64 
    ^ncurses@6.0%gcc@7.1.0~symlinks arch=linux-centos7-x86_64 
        ^pkg-config@0.27.1%gcc@7.1.0+internal_glib arch=linux-centos7-x86_64 
    ^openssl@1.0.1e%gcc@7.1.0 arch=linux-centos7-x86_64 
@dev-zero
Copy link
Contributor

I believe I found a similar case with the following packages.yaml

packages:
  cmake:
    externals:
    - spec: cmake@3.10.2
      prefix: /usr

and running :

$ spack spec sirius
Input spec
--------------------------------
sirius

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

    cmake@3.10.2%gcc@7.5.0~doc+ncurses+openssl+ownlibs~qt arch=linux-opensuse_leap15-sandybridge


while trying to concretize the partial spec:

    spfft


spfft requires cmake version 3.11:, but spec asked for 3.10.2

Note: spfft is a dependency of sirius, both of them depend on CMake.

But when trying to concretize spfft alone it works:

$ spack spec spft
Input spec
--------------------------------
spfft

Concretized
--------------------------------
spfft@0.9.13%gcc@7.5.0~cuda~fortran~gpu_direct+mpi+openmp~rocm~single_precision~static amdgpu_target=gfx803,gfx900,gfx906 build_type=Release cuda_arch=none arch=linux-opensuse_leap15-sandybridge
    ^cmake@3.18.2%gcc@7.5.0~doc+ncurses+openssl+ownlibs~qt arch=linux-opensuse_leap15-sandybridge
        ^ncurses@6.2%gcc@7.5.0~symlinks+termlib arch=linux-opensuse_leap15-sandybridge
            ^pkgconf@1.7.3%gcc@7.5.0 arch=linux-opensuse_leap15-sandybridge
        ^openssl@1.1.1g%gcc@7.5.0+systemcerts arch=linux-opensuse_leap15-sandybridge
            ^perl@5.30.3%gcc@7.5.0+cpanm+shared+threads arch=linux-opensuse_leap15-sandybridge
                ^berkeley-db@18.1.40%gcc@7.5.0 arch=linux-opensuse_leap15-sandybridge
                ^gdbm@1.18.1%gcc@7.5.0 arch=linux-opensuse_leap15-sandybridge
                    ^readline@8.0%gcc@7.5.0 arch=linux-opensuse_leap15-sandybridge
            ^zlib@1.2.11%gcc@7.5.0+optimize+pic+shared arch=linux-opensuse_leap15-sandybridge
    ^fftw@3.3.8%gcc@7.5.0+mpi~openmp~pfft_patches precision=double,float arch=linux-opensuse_leap15-sandybridge
        ^openmpi@3.1.6%gcc@7.5.0~atomics~cuda~cxx~cxx_exceptions+gpfs~java~legacylaunchers~lustre~memchecker~pmi~singularity~sqlite3+static~thread_multiple+vt+wrapper-rpath fabrics=none schedulers=none arch=linux-opensuse_leap15-sandybridge
            ^hwloc@1.11.11%gcc@7.5.0~cairo~cuda~gl~libudev+libxml2~netloc~nvml+pci+shared arch=linux-opensuse_leap15-sandybridge
                ^libpciaccess@0.16%gcc@7.5.0 arch=linux-opensuse_leap15-sandybridge
                    ^libtool@2.4.6%gcc@7.5.0 arch=linux-opensuse_leap15-sandybridge
                        ^m4@1.4.18%gcc@7.5.0+sigsegv patches=3877ab548f88597ab2327a2230ee048d2d07ace1062efe81fc92e91b7f39cd00,fc9b61654a3ba1a8d6cd78ce087e7c96366c290bc8d2c299f09828d793b853c8 arch=linux-opensuse_leap15-sandybridge
                            ^libsigsegv@2.12%gcc@7.5.0 arch=linux-opensuse_leap15-sandybridge
                    ^util-macros@1.19.1%gcc@7.5.0 arch=linux-opensuse_leap15-sandybridge
                ^libxml2@2.9.10%gcc@7.5.0~python arch=linux-opensuse_leap15-sandybridge
                    ^libiconv@1.16%gcc@7.5.0 arch=linux-opensuse_leap15-sandybridge
                    ^xz@5.2.5%gcc@7.5.0~pic arch=linux-opensuse_leap15-sandybridge
                ^numactl@2.0.12%gcc@7.5.0 arch=linux-opensuse_leap15-sandybridge
                    ^autoconf@2.69%gcc@7.5.0 arch=linux-opensuse_leap15-sandybridge
                    ^automake@1.16.2%gcc@7.5.0 arch=linux-opensuse_leap15-sandybridge

as does it without package.yaml and having installed CMake with spack install cmake@3.10.21:

$ spack spec sirius
Input spec
--------------------------------
sirius

Concretized
--------------------------------
sirius@6.5.6%gcc@7.5.0~cuda~elpa~fortran~magma+memory_pool~nlcglib+openmp~python~rocm~scalapack+shared~vdwxc amdgpu_target=gfx803,gfx900,gfx906 build_type=Release cuda_arch=none arch=linux-opensuse_leap15-sandybridge
    ^cmake@3.18.2%gcc@7.5.0~doc+ncurses+openssl+ownlibs~qt arch=linux-opensuse_leap15-sandybridge
        ^ncurses@6.2%gcc@7.5.0~symlinks+termlib arch=linux-opensuse_leap15-sandybridge
            ^pkgconf@1.7.3%gcc@7.5.0 arch=linux-opensuse_leap15-sandybridge
        ^openssl@1.1.1g%gcc@7.5.0+systemcerts arch=linux-opensuse_leap15-sandybridge
            ^perl@5.30.3%gcc@7.5.0+cpanm+shared+threads arch=linux-opensuse_leap15-sandybridge
                ^berkeley-db@18.1.40%gcc@7.5.0 arch=linux-opensuse_leap15-sandybridge
                ^gdbm@1.18.1%gcc@7.5.0 arch=linux-opensuse_leap15-sandybridge
                    ^readline@8.0%gcc@7.5.0 arch=linux-opensuse_leap15-sandybridge
            ^zlib@1.2.11%gcc@7.5.0+optimize+pic+shared arch=linux-opensuse_leap15-sandybridge
    ^fftw@3.3.8%gcc@7.5.0+mpi~openmp~pfft_patches precision=double,float arch=linux-opensuse_leap15-sandybridge
        ^openmpi@3.1.6%gcc@7.5.0~atomics~cuda~cxx~cxx_exceptions+gpfs~java~legacylaunchers~lustre~memchecker~pmi~singularity~sqlite3+static~thread_multiple+vt+wrapper-rpath fabrics=none schedulers=none arch=linux-opensuse_leap15-sandybridge
            ^hwloc@1.11.11%gcc@7.5.0~cairo~cuda~gl~libudev+libxml2~netloc~nvml+pci+shared arch=linux-opensuse_leap15-sandybridge
                ^libpciaccess@0.16%gcc@7.5.0 arch=linux-opensuse_leap15-sandybridge
                    ^libtool@2.4.6%gcc@7.5.0 arch=linux-opensuse_leap15-sandybridge
                        ^m4@1.4.18%gcc@7.5.0+sigsegv patches=3877ab548f88597ab2327a2230ee048d2d07ace1062efe81fc92e91b7f39cd00,fc9b61654a3ba1a8d6cd78ce087e7c96366c290bc8d2c299f09828d793b853c8 arch=linux-opensuse_leap15-sandybridge
                            ^libsigsegv@2.12%gcc@7.5.0 arch=linux-opensuse_leap15-sandybridge
                    ^util-macros@1.19.1%gcc@7.5.0 arch=linux-opensuse_leap15-sandybridge
                ^libxml2@2.9.10%gcc@7.5.0~python arch=linux-opensuse_leap15-sandybridge
                    ^libiconv@1.16%gcc@7.5.0 arch=linux-opensuse_leap15-sandybridge
                    ^xz@5.2.5%gcc@7.5.0~pic arch=linux-opensuse_leap15-sandybridge
                ^numactl@2.0.12%gcc@7.5.0 arch=linux-opensuse_leap15-sandybridge
                    ^autoconf@2.69%gcc@7.5.0 arch=linux-opensuse_leap15-sandybridge
                    ^automake@1.16.2%gcc@7.5.0 arch=linux-opensuse_leap15-sandybridge
    ^gsl@2.5%gcc@7.5.0~external-cblas arch=linux-opensuse_leap15-sandybridge
    ^hdf5@1.10.6%gcc@7.5.0~cxx~debug~fortran+hl~java+mpi+pic+shared~szip~threadsafe api=none arch=linux-opensuse_leap15-sandybridge
    ^libxc@5.0.0%gcc@7.5.0~cuda+shared cuda_arch=none patches=42e805682b7120163998a6d7e9abb8d7065602a2d548877b0fb7cd13233f4c9a,a2977e2f48c9bc7c9627eaadd4bef5323dcfa0e69a65e66b8c2eb4689b670959 arch=linux-opensuse_leap15-sandybridge
    ^openblas@0.3.10%gcc@7.5.0~consistent_fpcsr~ilp64+pic+shared threads=none arch=linux-opensuse_leap15-sandybridge
    ^python@3.8.5%gcc@7.5.0+bz2+ctypes+dbm~debug+libxml2+lzma~nis~optimizations+pic+pyexpat+pythoncmd+readline+shared+sqlite3+ssl~tix~tkinter~ucs4+uuid+zlib patches=0d98e93189bc278fbc37a50ed7f183bd8aaf249a8e1670a465f0db6bb4f8cf87 arch=linux-opensuse_leap15-sandybridge
        ^bzip2@1.0.8%gcc@7.5.0+shared arch=linux-opensuse_leap15-sandybridge
            ^diffutils@3.7%gcc@7.5.0 arch=linux-opensuse_leap15-sandybridge
        ^expat@2.2.9%gcc@7.5.0+libbsd arch=linux-opensuse_leap15-sandybridge
            ^libbsd@0.10.0%gcc@7.5.0 arch=linux-opensuse_leap15-sandybridge
        ^gettext@0.21%gcc@7.5.0+bzip2+curses+git~libunistring+libxml2+tar+xz arch=linux-opensuse_leap15-sandybridge
            ^tar@1.32%gcc@7.5.0 arch=linux-opensuse_leap15-sandybridge
        ^libffi@3.3%gcc@7.5.0 patches=26f26c6f29a7ce9bf370ad3ab2610f99365b4bdd7b82e7c31df41a3370d685c0 arch=linux-opensuse_leap15-sandybridge
        ^libuuid@1.0.3%gcc@7.5.0 arch=linux-opensuse_leap15-sandybridge
        ^sqlite@3.33.0%gcc@7.5.0+column_metadata+fts~functions~rtree arch=linux-opensuse_leap15-sandybridge
    ^spfft@0.9.13%gcc@7.5.0~cuda~fortran~gpu_direct+mpi+openmp~rocm~single_precision~static amdgpu_target=gfx803,gfx900,gfx906 build_type=Release cuda_arch=none arch=linux-opensuse_leap15-sandybridge
    ^spglib@1.10.3%gcc@7.5.0 build_type=RelWithDebInfo patches=4d354dc336694c1577dfc9950ccec99255332c4f08f6525b6465d7a31c4e8c75,ea0ed0f06861b91d7dbc367d3533b4dd764b7bf35b3e739af60acb6e25b91e37 arch=linux-opensuse_leap15-sandybridge

@dev-zero
Copy link
Contributor

ok, it seems that my issue is already represented in #7288 (slightly different from the original issue reported here)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants