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

Unsatisfiable error misleading with --strict-priority #9415

Closed
Tracked by #11555
alanhdu opened this issue Nov 7, 2019 · 4 comments
Closed
Tracked by #11555

Unsatisfiable error misleading with --strict-priority #9415

alanhdu opened this issue Nov 7, 2019 · 4 comments
Labels
locked [bot] locked due to inactivity solver::messaging pertains to the solver's messaging stale::closed [bot] closed after being marked as stale stale [bot] marked as stale due to inactivity

Comments

@alanhdu
Copy link
Contributor

alanhdu commented Nov 7, 2019

Current Behavior

Under both conda 4.7.12 on Ubuntu 18.04 with Python 3.7.3, and conda 4.8.0rc0 from conda-canary, trying to install dependency that doesn't exist in conda-forge but does exist on defaults fails with a very confusing error.

Steps to Reproduce

Run:

$ docker run -it continuumio/miniconda3:4.7.12 /bin/bash
(base) root@98b5049e0fa9:/# conda config --set channel_priority strict
(base) root@98b5049e0fa9:/# conda config --add channels conda-forge
# conda create -n test --yes python-jose=3.0.1
Collecting package metadata (current_repodata.json): done
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: / 
Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.
failed                                                                                                                                                                       

UnsatisfiableError: The following specifications were found to be incompatible with each other:



Package openssl conflicts for:
python -> openssl[version='1.0.*|>=1.0.2o,<1.0.3a|>=1.0.2p,<1.0.3a|>=1.1.1a,<1.1.2a']
Package zlib conflicts for:
python -> zlib[version='1.2.*|1.2.11.*|1.2.11|1.2.8|>=1.2.11,<1.3.0a0']
Package sqlite conflicts for:
python -> sqlite[version='3.13.*|3.20.*|3.9.*|>=3.24.0,<4.0a0|>=3.25.1,<4.0a0|>=3.25.2,<4.0a0|>=3.25.3,<4.0a0|>=3.26.0,<4.0a0|>=3.28.0,<4.0a0|>=3.30.1,<4.0a0']
Package libstdcxx-ng conflicts for:
python -> libstdcxx-ng[version='>=4.9|>=7.3.0']
Package libgcc-ng conflicts for:
pycryptodome[version='>=3.3.1,<4.0.0'] -> libgcc-ng[version='>=4.9|>=7.3.0']
python -> libgcc-ng[version='>=4.9|>=7.3.0']
Package bzip2 conflicts for:
python -> bzip2[version='>=1.0.6,<2.0a0']
Package xz conflicts for:
python -> xz[version='5.0.*|5.2.*|>=5.2.3,<5.3.0a0|>=5.2.4,<5.3.0a0']
Package tk conflicts for:
python -> tk[version='8.5.*|8.6.*|>=8.6.7,<8.7.0a0|>=8.6.8,<8.7.0a0|>=8.6.9,<8.7.0a0']
Package gmp conflicts for:
pycryptodome[version='>=3.3.1,<4.0.0'] -> gmp[version='>=6.1.2,<7.0a0']
Package readline conflicts for:
python -> readline[version='6.2.*|7.0.*|7.0|>=7.0,<8.0a0|>=8.0,<9.0a0']
Package pip conflicts for:
python -> pip
Package ncurses conflicts for:
python -> ncurses[version='5.9|5.9.*|>=6.1,<6.2.0a0']
Package libffi conflicts for:
python -> libffi[version='>=3.2.1,<3.3.0a0']
Note that strict channel priority may have removed packages required for satisfiability.

Environment Information

`conda info`

     active environment : base
    active env location : /opt/anaconda
            shell level : 2
       user config file : /home/alan/.condarc
 populated config files : /home/alan/.condarc
          conda version : 4.7.12
    conda-build version : not installed
         python version : 3.7.3.final.0
       virtual packages : 
       base environment : /opt/anaconda  (writable)
           channel URLs : https://conda.anaconda.org/conda-forge/linux-64
                          https://conda.anaconda.org/conda-forge/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 : /opt/anaconda/pkgs
                          /home/alan/.conda/pkgs
       envs directories : /opt/anaconda/envs
                          /home/alan/.conda/envs
               platform : linux-64
             user-agent : conda/4.7.12 requests/2.22.0 CPython/3.7.3 Linux/5.0.0-23-generic ubuntu/18.04.3 glibc/2.27
                UID:GID : 1000:1000
             netrc file : None
           offline mode : False

`conda config --show-sources`

==> /home/alan/.condarc <==
channel_priority: strict
channels:
  - conda-forge
  - defaults

`conda list --show-channel-urls`

# packages in environment at /opt/anaconda:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                        main    defaults
asn1crypto                1.2.0                    py37_0    conda-forge
astor                     0.8.0                    pypi_0    pypi
bzip2                     1.0.8                h516909a_1    conda-forge
ca-certificates           2019.9.11            hecc5488_0    conda-forge
certifi                   2019.9.11                py37_0    conda-forge
cffi                      1.13.2           py37h8022711_0    conda-forge
chardet                   3.0.4                 py37_1003    conda-forge
click                     7.0                      pypi_0    pypi
conda                     4.7.12                   py37_0    conda-forge
conda-package-handling    1.6.0            py37h516909a_0    conda-forge
cryptography              2.7              py37h72c5cf5_0    conda-forge
idna                      2.8                   py37_1000    conda-forge
libffi                    3.2.1             he1b5a44_1006    conda-forge
libgcc-ng                 9.1.0                hdf63c60_0    defaults
libstdcxx-ng              9.1.0                hdf63c60_0    defaults
ncurses                   6.1               hf484d3e_1002    conda-forge
openssl                   1.1.1c               h516909a_0    conda-forge
pip                       19.3.1                   py37_0    conda-forge
pur                       5.2.2                    pypi_0    pypi
pycosat                   0.6.3           py37h516909a_1002    conda-forge
pycparser                 2.19                     py37_1    conda-forge
pyopenssl                 19.0.0                   py37_0    conda-forge
pysocks                   1.7.1                    py37_0    conda-forge
python                    3.7.3                h33d41f4_1    conda-forge
readline                  8.0                  hf8c457e_0    conda-forge
requests                  2.22.0                   py37_1    conda-forge
ruamel_yaml               0.15.71         py37h14c3975_1000    conda-forge
setuptools                41.6.0                   py37_1    conda-forge
six                       1.12.0                py37_1001    conda-forge
sqlite                    3.30.1               hcee41ef_0    conda-forge
tk                        8.6.9             hed695b0_1003    conda-forge
tqdm                      4.36.1                     py_0    conda-forge
urllib3                   1.25.6                   py37_0    conda-forge
wheel                     0.33.6                   py37_0    conda-forge
xz                        5.2.4             h14c3975_1001    conda-forge
yaml                      0.1.7             h14c3975_1001    conda-forge
zlib                      1.2.11            h516909a_1006    conda-forge

@soapy1 soapy1 added the solver::messaging pertains to the solver's messaging label Nov 7, 2019
@soapy1
Copy link
Contributor

soapy1 commented Nov 7, 2019

Good observation, thanks for this report. This issue is related to #9363

@183amir
Copy link
Contributor

183amir commented Jan 9, 2020

I am facing this issue as well but I don't understand what is wrong here. What part of the error is misleading? What would be a better error?

I am trying to create an environment:

$ conda create -n temp --override-channels \
--channel=http://www.idiap.ch/software/bob/conda \
--channel=defaults \
--strict-channel-priority \
"python" "setuptools" "black" "click" "click-plugins" \
"conda" "conda-build" "conda-verify" "certifi" "docformatter" \
"pytz" "python-dateutil" "gitpython" "python-gitlab" \
"requests" "sphinx" "pyyaml" "twine" "lxml" "jinja2" \
"termcolor" "psutil" "tabulate" "python-graphviz" "sphinx_rtd_theme"

and I have done a conda search on all packages that get installed when I create the environment without --strict-channel-priority.

conda search ... alabaster appdirs asn1crypto beautifulsoup4 black bleach \
cffi chardet click cmarkgfm conda conda-build conda-package-handling \
cryptography docformatter docutils future icu idna libarchive libedit libffi \
libgcc-ng liblief libstdcxx-ng libxml2 libxslt lxml lz4-c lzo markupsafe ncurses \
openssl pkginfo psutil py-lief pycosat pycparser pyopenssl pysocks python-gitlab \
python-libarchive-c pyyaml readline readme_renderer requests ruamel_yaml \
setuptools smmap2 soupsieve tabulate termcolor tk toml untokenize urllib3 \
webencodings xz yaml zlib zstd ...

No package exists in both channels.
So, why adding --strict-channel-priority breaks this?

@183amir
Copy link
Contributor

183amir commented Jan 9, 2020

I found it! Both channels had tqdm and that's what was conflicting!

tqdm                          4.11.1          py27_0  software/bob/conda  
tqdm                          4.11.1          py35_0  software/bob/conda  
tqdm                          4.11.1          py36_0  software/bob/conda  
....
tqdm                          4.39.0            py_0  pkgs/main           
tqdm                          4.40.0            py_0  pkgs/main           
tqdm                          4.40.2            py_0  pkgs/main           

@github-actions
Copy link

Hi there, thank you for your contribution!

This issue has been automatically marked as stale because it has not had recent activity. It will be closed automatically if no further activity occurs.

If you would like this issue to remain open please:

  1. Verify that you can still reproduce the issue at hand
  2. Comment that the issue is still reproducible and include:
    - What OS and version you reproduced the issue on
    - What steps you followed to reproduce the issue

NOTE: If this issue was closed prematurely, please leave a comment.

Thanks!

@github-actions github-actions bot added the stale [bot] marked as stale due to inactivity label Jun 18, 2022
@github-actions github-actions bot added the stale::closed [bot] closed after being marked as stale label Jul 18, 2022
@github-actions github-actions bot added the locked [bot] locked due to inactivity label Jul 18, 2023
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jul 18, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
locked [bot] locked due to inactivity solver::messaging pertains to the solver's messaging stale::closed [bot] closed after being marked as stale stale [bot] marked as stale due to inactivity
Projects
None yet
Development

No branches or pull requests

3 participants