fbreitwieser / krakenuniq

🐙 KrakenUniq: Metagenomics classifier with unique k-mer counting for more specific results
GNU General Public License v3.0
218 stars 45 forks source link

Dependency conflicts when installing with conda #102

Open dunatotatos opened 2 years ago

dunatotatos commented 2 years ago

Hi,

I'm trying to install the version 0.7 of krakenuniq with conda, but get a "UnsatisfiableError" with strange conflicts. I wrote a simple Dockerfile showing the exact issue:

FROM ubuntu:22.04

RUN apt update -y
RUN apt install -y wget
ENV CONDA_DIR /opt/conda
RUN wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda.sh && \
     /bin/bash ~/miniconda.sh -b -p /opt/conda && rm ~/miniconda.sh
ENV PATH=$CONDA_DIR/bin:$PATH

RUN conda config --add channels bioconda
RUN conda install -c bioconda krakenuniq=0.7.2

Here is the output of the latest step (conda install...) of a docker build:

Step 8/8 : RUN conda install -c bioconda krakenuniq=0.7.2
 ---> Running in d46012d2d6fd
Collecting package metadata (current_repodata.json): ...working... done
Solving environment: ...working... failed with initial frozen solve. Retrying with flexible solve.
Solving environment: ...working... failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): ...working... done
Solving environment: ...working... failed with initial frozen solve. Retrying with flexible solve.

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 versions

Package libgcc-ng conflicts for:
python=3.9 -> zlib[version='>=1.2.11,<1.3.0a0'] -> libgcc-ng[version='>=7.2.0']
python=3.9 -> libgcc-ng[version='>=7.3.0|>=7.5.0']

Package openssl conflicts for:
krakenuniq=0.7.2 -> perl-lwp-protocol-https -> openssl[version='1.0.*|>=1.0.2o,<1.0.3a|>=1.1.1a,<1.1.2a|>=1.1.1b,<1.1.2a|>=1.1.1n,<1.1.2a']
python=3.9 -> openssl[version='>=1.1.1h,<1.1.2a|>=1.1.1i,<1.1.2a|>=1.1.1j,<1.1.2a|>=1.1.1k,<1.1.2a|>=1.1.1l,<1.1.2a|>=1.1.1n,<1.1.2a|>=1.1.1o,<1.1.2a']The following specifications were found to be incompatible with your system:

  - feature:/linux-64::__glibc==2.35=0
  - feature:|@/linux-64::__glibc==2.35=0

Your installed version is: 2.35

The command '/bin/sh -c conda install -c bioconda krakenuniq=0.7.2' returned a non-zero code: 1

I tried using ubuntu 20.04 and Python3.7 hoping for some kind of magic dependency miracle, but it didn't help. Am I doing something wrong?

alekseyzimin commented 2 years ago

We can work with conda to resolve this. In meanwhile, can you try downloading and installing from the tarball for the latest distribution v0.7.3.

dunatotatos commented 2 years ago

I confirm that installing from the tarball works in a Dockerfile. If it can be useful, here is the one I used:


FROM ubuntu:22.04

RUN apt-get update -y
RUN apt-get install -y build-essential libbz2-dev tar wget zlib1g-dev
ENV VERSION=0.7.3
RUN wget https://github.com/fbreitwieser/krakenuniq/archive/refs/tags/v$VERSION.tar.gz && \
        tar xzf v$VERSION.tar.gz && \
        cd krakenuniq-$VERSION && \
        ./install_krakenuniq.sh /opt/krakenuniq &&\
        cd .. && rm -rf krakenuniq-$VERSION

ENV PATH=/opt/krakenuniq:$PATH```
emrahkirdok commented 1 year ago

Hi. This issue persists. I can not install older versions of krakenuniq (like v0.6) using conda. I can use these versions by compiling from source but my aim is to integrate this tool in a reproducible snakemake workflow. Will there be a fix for that in the future?

My command:

conda install -c bioconda krakenuniq=0.6

Thank you for your help.

alekseyzimin commented 1 year ago

Can you try downloading and installing the latest release from github. It is straightforward.

On Tue, Mar 21, 2023 at 5:33 AM Emrah Kırdök @.***> wrote:

Hi. This issue persists. I can not install older versions of krakenuniq (like v0.6) using conda. I can use these versions by compiling from source but my aim is to integrate this tool in a reproducible snakemake workflow. Will there be a fix for that in the future?

My command:

conda install -c bioconda krakenuniq=0.6

Thank you for your help.

— Reply to this email directly, view it on GitHub https://github.com/fbreitwieser/krakenuniq/issues/102#issuecomment-1477519603, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGPXGHNRIXVW5BODXGBOJPLW5FYVVANCNFSM5ZNIIB5A . You are receiving this because you commented.Message ID: @.***>

-- Dr. Alexey V. Zimin Associate Research Scientist Department of Biomedical Engineering, Johns Hopkins University, Baltimore, MD, USA (301)-437-6260 website http://ccb.jhu.edu/people/alekseyz/ blog http://masurca.blogspot.com