Search code examples
pythonpackagecondasnakemake

Samtools shared library libcrypto.so.1.0.0 not found


I am trying to run a snakemake pipeline with packages installed from a main.yml file. One of the dependencies of the package is samtools, Previously, having the dependency listed as samtools did not seem to run into any problems.

The actual yml file is:

name: yevo_pipeline_env
channels:
  - defaults
  - conda-forge
  - bioconda
dependencies:
  - bcftools
  - bedtools=2.27.1
  - biopython=1.71
  - bwa=0.7.15
  - fastqc=0.11.9
  - freebayes=1.0.2
  - gatk=3.7
  - htslib
  - lofreq
  - numpy=1.16.6
  - perl
  - r-base
  - picard=2.23.3
  - pip=19.3.1
  - python
  - samtools
  - vcftools=0.1.16
  - zlib=1.2.11
  - libgcc-ng
  - xz

I am reading online that one solution was to do a force reinstall of samtools, but I am not sure how to do that with a YAML file.

I tried installing samtools=1.9 into the base environment, but there were a few package conflicts.

I also tried conda env update --name myenv --file local.yml --prune, but that did not resolve the error either.


Solution

  • The order of channels is incorrect. Using Bioconda channel packages requires:

    channels:
      - conda-forge
      - bioconda
      - defaults
    

    This is what Bioconda uses when building the packages. Shared libraries on different channels are not necessarily built with the same stack, and so swapping in defaults channels packages instead of conda-forge can lead to shared library errors.