conda-forge / fitsio-feedstock

A conda-smithy repository for fitsio.
BSD 3-Clause "New" or "Revised" License
0 stars 4 forks source link

Getting conflicts trying to update fitsio >= 1.0 #16

Open rmjarvis opened 4 years ago

rmjarvis commented 4 years ago

I don't know if this still ought to be an issue, since @beckermr already found a solution for me, but in case this is pointing at some problem somewhere, here is the problem I had and the solution Matt found for me.

Issue:

At Nersc, I had a conda environment with fitsio 0.9.11 installed. Trying to update to 1.1.0 (or >=1.0), I got the following error:

$ conda install fitsio==1.1.0
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: - 
Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.

<snip>

UnsatisfiableError: The following specifications were found to be incompatible with each other:     
Package readline conflicts for:
fitsio==1.1.0 -> python[version='>=3.8,<3.9.0a0'] -> readline[version='>=7.0,<8.0a0|>=8.0,<9.0a0']
python==3.6 -> readline[version='6.2|6.2.*']
Package python conflicts for:
python==3.6
Package sqlite conflicts for:
python==3.6 -> sqlite=3.13
fitsio==1.1.0 -> python[version='>=3.8,<3.9.0a0'] -> sqlite[version='>=3.25.2,<4.0a0|>=3.25.3,<4.0a0|>=3.26.0,<4.0a0|>=3.27.2,<4.0a0|>=3.28.0,<4.0a0|>=3.29.0,<4.0a0|>=3.30.0,<4.0a0|>=3.30.1,<4.0a0']
Package openssl conflicts for:
python==3.6 -> openssl[version='1.0.*|1.0.2.*']
fitsio==1.1.0 -> libcurl[version='>=7.64.1,<8.0a0'] -> openssl[version='>=1.1.1,<1.1.2.0a0|>=1.1.1a,<1.1.2a|>=1.1.1b,<1.1.2a|>=1.1.1c,<1.1.2a|>=1.1.1d,<1.1.2a']
Package tk conflicts for:
python==3.6 -> tk[version='8.5.*|8.5.18']
fitsio==1.1.0 -> python[version='>=3.8,<3.9.0a0'] -> tk[version='>=8.6.10,<8.7.0a0|>=8.6.8,<8.7.0a0|>=8.6.9,<8.7.0a0']

This looked like it was thinking that fitsio needed python 3.8, which I didn't really want. So I tried installing the 3.6 version explicitly:

$ conda install fitsio==1.1.0=py36h0c87ef4_0 
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: / 
Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.

<snip>       

UnsatisfiableError: The following specifications were found to be incompatible with each other:     
Package sqlite conflicts for:
python==3.6 -> sqlite=3.13
fitsio==1.1.0=py36h0c87ef4_0 -> python[version='>=3.6,<3.7.0a0'] -> sqlite[version='>=3.25.2,<4.0a0|>=3.26.0,<4.0a0|>=3.28.0,<4.0a0|>=3.29.0,<4.0a0|>=3.30.1,<4.0a0']
Package ncurses conflicts for:
fitsio==1.1.0=py36h0c87ef4_0 -> python[version='>=3.6,<3.7.0a0'] -> readline[version='>=7.0,<8.0a0'] -> ncurses[version='>=6.0,<7.0a0']
fitsio==1.1.0=py36h0c87ef4_0 -> python[version='>=3.6,<3.7.0a0'] -> ncurses[version='>=6.1,<6.2.0a0|>=6.1,<7.0a0']
python==3.6 -> ncurses=5.9
Package openssl conflicts for:
python==3.6 -> openssl[version='1.0.*|1.0.2.*']
fitsio==1.1.0=py36h0c87ef4_0 -> libcurl[version='>=7.64.1,<8.0a0'] -> openssl[version='>=1.1.1,<1.1.2.0a0|>=1.1.1a,<1.1.2a|>=1.1.1b,<1.1.2a|>=1.1.1c,<1.1.2a|>=1.1.1d,<1.1.2a']
Package python conflicts for:
python==3.6
Package tk conflicts for:
fitsio==1.1.0=py36h0c87ef4_0 -> libcurl[version='>=7.64.1,<8.0a0'] -> krb5[version='>=1.17.1,<1.18.0a0'] -> tk[version='>=8.6.10,<8.7.0a0']
fitsio==1.1.0=py36h0c87ef4_0 -> python[version='>=3.6,<3.7.0a0'] -> tk[version='>=8.6.8,<8.7.0a0|>=8.6.9,<8.7.0a0']
python==3.6 -> tk[version='8.5.*|8.5.18']
Package readline conflicts for:
fitsio==1.1.0=py36h0c87ef4_0 -> python[version='>=3.6,<3.7.0a0'] -> readline[version='>=7.0,<8.0a0|>=8.0,<9.0a0']
python==3.6 -> readline[version='6.2|6.2.*']

Matt suggested trying to update everything, which did work straight away with no conflicts:

$ conda update --all
Collecting package metadata (current_repodata.json): done
Solving environment: done
==> WARNING: A newer version of conda exists. <==
  current version: 4.7.12
  latest version: 4.8.2
Please update conda by running
    $ conda update -n base -c defaults conda
## Package Plan ##
  environment location: /global/homes/m/mjarvis/.conda/envs/piff
The following packages will be downloaded:
    package                    |            build
    ---------------------------|-----------------
    fitsio-1.1.0               |   py36h0c87ef4_0         669 KB  conda-forge
    pybind11-2.4.3             |   py36hc9558a2_1         119 KB  conda-forge
    ------------------------------------------------------------
                                           Total:         788 KB
The following NEW packages will be INSTALLED:
  krb5               conda-forge/linux-64::krb5-1.16.4-h2fd8d38_0
  libcurl            conda-forge/linux-64::libcurl-7.68.0-hda55be3_0
  libedit            conda-forge/linux-64::libedit-3.1.20170329-hf8c457e_1001
  libssh2            conda-forge/linux-64::libssh2-1.8.2-h22169c7_2
The following packages will be UPDATED:
  fitsio                           0.9.11-py36h53b300e_1001 --> 1.1.0-py36h0c87ef4_0
  galsim                               2.2.2-py36hb745460_1 --> 2.2.3-py36hb745460_0
  ncurses                                            5.9-10 --> 6.1-hf484d3e_1002
  numpy                               1.17.3-py36h95a1406_0 --> 1.18.1-py36h95a1406_0
  openssl                                 1.0.2u-h516909a_0 --> 1.1.1d-h516909a_0
  pybind11                                     2.2.2-py36_0 --> 2.4.3-py36hc9558a2_1
  python                                            3.6.0-2 --> 3.6.7-h357f687_1006
  readline                                            6.2-0 --> 8.0-hf8c457e_0
  sqlite                                           3.13.0-1 --> 3.30.1-hcee41ef_0
  tk                                               8.5.19-2 --> 8.6.10-hed695b0_0
Proceed ([y]/n)? 
Downloading and Extracting Packages
pybind11-2.4.3       | 119 KB    | ######################################################### | 100% 
fitsio-1.1.0         | 669 KB    | ######################################################### | 100% 
Preparing transaction: done
Verifying transaction: done
Executing transaction: done

So, not sure whether this is pointing to someone having a problematic dependency specification somewhere or what. I would have thought that conda could have found the eventual solution when I just asked for fitsio to be updated.


Environment (conda list):

After the update, here is my full environment. (Sorry - I didn't do this before the successful update.) ``` $ conda list # packages in environment at /global/homes/m/mjarvis/.conda/envs/piff: # # Name Version Build Channel _libgcc_mutex 0.1 conda_forge conda-forge _openmp_mutex 4.5 1_llvm conda-forge asteval 0.9.17 pypi_0 pypi astropy 4.0 py36h516909a_1 conda-forge bzip2 1.0.8 h516909a_2 conda-forge ca-certificates 2019.11.28 hecc5488_0 conda-forge certifi 2019.11.28 py36_0 conda-forge cffi 1.13.2 py36h8022711_0 conda-forge cycler 0.10.0 pypi_0 pypi eigen 3.3.7 hc9558a2_1001 conda-forge fftw 3.3.8 nompi_h7f3a6c3_1110 conda-forge fitsio 1.1.0 py36h0c87ef4_0 conda-forge future 0.18.2 py36_0 conda-forge galsim 2.2.2 pypi_0 pypi joblib 0.14.0 pypi_0 pypi kiwisolver 1.1.0 pypi_0 pypi krb5 1.16.4 h2fd8d38_0 conda-forge libblas 3.8.0 15_openblas conda-forge libcblas 3.8.0 15_openblas conda-forge libcurl 7.68.0 hda55be3_0 conda-forge libedit 3.1.20170329 hf8c457e_1001 conda-forge libffi 3.2.1 he1b5a44_1006 conda-forge libgcc-ng 9.2.0 h24d8f2e_2 conda-forge libgfortran-ng 7.3.0 hdf63c60_5 conda-forge liblapack 3.8.0 15_openblas conda-forge libopenblas 0.3.8 h5ec1e0e_0 conda-forge libssh2 1.8.2 h22169c7_2 conda-forge libstdcxx-ng 9.2.0 hdf63c60_2 conda-forge llvm-openmp 9.0.1 hc9558a2_2 conda-forge lmfit 0.9.14 pypi_0 pypi lsstdesc.coord 1.2.0 py36hc9558a2_0 conda-forge matplotlib 3.1.1 pypi_0 pypi ncurses 6.1 hf484d3e_1002 conda-forge numpy 1.18.1 py36h95a1406_0 conda-forge openssl 1.1.1d h516909a_0 conda-forge pip 20.0.2 py_2 conda-forge pybind11 2.4.3 pypi_0 pypi pycparser 2.19 py_2 conda-forge python 3.6.7 h357f687_1006 conda-forge python-dateutil 2.8.1 pypi_0 pypi pyyaml 5.1.2 pypi_0 pypi readline 8.0 hf8c457e_0 conda-forge scikit-learn 0.21.3 pypi_0 pypi scipy 1.3.2 pypi_0 pypi setuptools 45.2.0 py36_0 conda-forge sqlite 3.30.1 hcee41ef_0 conda-forge tk 8.6.10 hed695b0_0 conda-forge treecorr 4.0.10 pypi_0 pypi uncertainties 3.1.2 pypi_0 pypi wheel 0.34.2 py_1 conda-forge xz 5.2.4 h14c3975_1001 conda-forge zlib 1.2.11 h516909a_1006 conda-forge ```


Details about conda and system ( conda info ):

``` $ conda info active environment : piff active env location : /global/homes/m/mjarvis/.conda/envs/piff shell level : 1 user config file : /global/homes/m/mjarvis/.condarc populated config files : /global/homes/m/mjarvis/.condarc conda version : 4.7.12 conda-build version : 3.18.8 python version : 2.7.16.final.0 virtual packages : base environment : /usr/common/software/python/2.7-anaconda-2019.07 (read only) channel URLs : https://conda.anaconda.org/conda-forge/linux-64 https://conda.anaconda.org/conda-forge/noarch https://conda.anaconda.org/astropy/linux-64 https://conda.anaconda.org/astropy/noarch https://conda.anaconda.org/anaconda/linux-64 https://conda.anaconda.org/anaconda/noarch https://repo.anaconda.com/pkgs/main/linux-64 https://repo.anaconda.com/pkgs/main/noarch https://repo.anaconda.com/pkgs/r/linux-64 https://repo.anaconda.com/pkgs/r/noarch package cache : /usr/common/software/python/2.7-anaconda-2019.07/pkgs /global/homes/m/mjarvis/.conda/pkgs envs directories : /global/homes/m/mjarvis/.conda/envs /usr/common/software/python/2.7-anaconda-2019.07/envs platform : linux-64 user-agent : conda/4.7.12 requests/2.22.0 CPython/2.7.16 Linux/4.12.14-150.47-default sles/15 glibc/2.26 UID:GID : 34001:1034001 netrc file : None offline mode : False ```
beckermr commented 4 years ago

Your python version was rather old. This might be part of things.