Skip to content

Conda incompatibility with CUDA #1284

Closed
@silvia-s

Description

@silvia-s

Hi, I was trying to install the latest MultiQC version with conda install -c bioconda multiqc=1.9 in a new conda environment (no other packages installed yet), but got the following error:

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:

Output in format: Requested package -> Available versionsThe following specifications were found to be incompatible with your system:

  - feature:/linux-64::__cuda==10.1=0
  - feature:|@/linux-64::__cuda==10.1=0

Your installed version is: 10.1

My operating system is Ubuntu 18.04.5 LTS and this is the output of the command nvidia-smi | grep Version, if helpful:

| NVIDIA-SMI 435.21 Driver Version: 435.21 CUDA Version: 10.1 |

Any idea on how to fix this problem?

BTW, apparently the same kind of error has been reported for another software (pytorch-metric-learning). The bug was fixed by the software developer by editing the meta.yaml file needed to build the conda package (see KevinMusgrave/pytorch-metric-learning#55 ). Could this perhaps help to identify and solve the issue in MultiQC?

Many thanks!

Activity

silvia-s

silvia-s commented on Sep 4, 2020

@silvia-s
Author

I forgot to mention that if I don't specify the MultiQC version I need, conda installs version 0.9 without problems. Could you perhaps check the differences between the meta.yaml files of versions 0.9 and 1.9, to see whether there's any dependency breaking the installation?

Cheers,
Silvia

tadas-subonis

tadas-subonis commented on Sep 6, 2020

@tadas-subonis

This seems to be broken on Win in general

Works:

conda create -n nn python=3.7

Fails:

conda create -n nn python=3.8

with

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 your CUDA driver:

  - feature:/win-64::__cuda==11.0=0

ewels

ewels commented on Sep 7, 2020

@ewels
Member

Hi all,

I wonder if this could be due to a larger bioconda issue with Python 3.8 that was fixed very recently - see bioconda/bioconda-recipes#24215

Would you mind having another go and seeing if you still hit the same problem please?

Note that you should not put -c bioconda in the installation command (the docs used to list this but I have since removed it). Instead, make sure that your conda channel priority is set up correctly (see the bioconda docs) and then just do conda install multiqc. This is because the conda-forge channel should have top priority.

Thanks!

Phil

silvia-s

silvia-s commented on Sep 7, 2020

@silvia-s
Author

Hi Phil,

I've tried specifying python=3.7 as suggested by @tadas-subonis, but still got the same CUDA incompatibility error - it seems to be independent on the Python 3 version (on Ubuntu, at least!). If I try with python=2.7 I don't get the error, but can only install MultiQC version 0.9 (i.e. pretty old).

I've also looked for MultiQC in the conda-forge channel, but it doesn't seem to be included in their list of packages (see output of conda search multiqc -c conda-forge and https://conda-forge.org/feedstocks/ ).

Could you perhaps find any particular difference between the meta.yaml files of versions 0.9 and 1.9, as I mentioned in my second post of this thread?

Cheers,
Silvia

mbargull

mbargull commented on Sep 7, 2020

@mbargull

multiqc is available via the bioconda channel, which itself uses the conda-forge channel for non-bio related packages.
You have to use both channels when using packages from Bioconda, i.e., use
conda create -c conda-forge -c bioconda ...
or add them to your
conda configuration via conda config --prepend channels bioconda --prepend channels conda-forge
(you can check your configuration entries via conda config --show-sources).


Unfortunately, conda often does not give helpful error messages for conflicting/missing packages. There is a newer alternative implementation of the conda package manager, called mamba, that usually gives more helpful messages here. If you don't include the conda-forge channel, mamba install ... tells you that the lzstring package cannot be found -- that one is provided by conda-forge.

Cheers, Marcel

silvia-s

silvia-s commented on Sep 7, 2020

@silvia-s
Author

Thanks a lot @mbargull, your solution worked and I could finally install version 1.9! Will definitely look at mamba, thank you :)

@ewels: it might be a good idea to update the README.md file of the MultiQC repository by changing the installation command (currently conda install -c bioconda multiqc) with conda install -c conda-forge -c bioconda multiqc, for any users (like me) who don't have conda-forge among the channels listed in their .condarc file.

Best,
Silvia

ewels

ewels commented on Sep 10, 2020

@ewels
Member

Great, thanks for the more detailed help @mbargull!

@silvia-s - I used to do this but have stopped, as it caused problems when my docs got out of date. Instead, the MultiQC docs link to the bioconda documentation, which should always be accurate.

Phil

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @tadas-subonis@ewels@silvia-s@mbargull

        Issue actions

          Conda incompatibility with CUDA · Issue #1284 · MultiQC/MultiQC