Forum:Update to tbb (2021.1.1, conda-forge) breaks bowtie2 (bioconda)
1
10
Entering edit mode
5 weeks ago
bendall ▴ 110

I was having issues creating new conda environments containing bowtie2. For example:

$conda create -n bttest -c bioconda bowtie2$ conda activate bttest
bowtie2 ~/.conda/envs/bttest/bin/bowtie2-align-s: error while loading shared libraries: libtbb.so.2: cannot open shared object file: No such file or directory (ERR): Description of arguments failed! Exiting now ...  I found that downgrading to tbb=2020.2 fixes the problem, the 2021.1. This fixes the problem (within the env above):  conda install tbb=2020.2
\$ bowtie2 -h


Hoping this saves someone else a few minutes!

bioconda conda bowtie2 tbb software error Forum • 678 views
0
Entering edit mode

This is a sneaky one. Under Ubuntu 18.04 I don't get a segfault, primarily because there's a compatible TBB installed on the system. I expect the conda-forge TBB package needs to be updated to better pin things.

0
Entering edit mode

Update: while there run_export in that package isn't ideal, there is supposed to be a project-wide pin to TBB 2020, which is being ignored for some reason. I'm looking into that.

0
Entering edit mode

Hoping this saves someone else a few minutes!

It did! You Sir just won the internet for today.

6
Entering edit mode
5 weeks ago

I found the cause of this. The TBB and TBB-devel conda-forge packages have their run_exports set such that anything compiled against them can pull in a newer version (e.g., if a binary is compiled against TBB version 2020.2 it can pull in 2020.3, 2021.1, 2050.12, etc.). There is a project-wide pinning within conda-forge to TBB 2020, but that was only recently added. Since (A) that pinning hasn't yet made it over to bioconda and (B) even if it had, packages predating said pinning couldn't possibly have it yet, installing one of these packages could result in this error.

You have discovered the easiest solution to this problem. Conda-forge appears to have modified the meta-data associated with the TBB to handle this, but of course that also won't fix anything already built against TBB. So we (bioconda) need to update our pinnings to handle this.