ndaniel / fusioncatcher

Finder of Somatic Fusion Genes in RNA-seq data
GNU General Public License v3.0
141 stars 66 forks source link

libtbb.so.2 not found (by bowtie) whrn running fusioncatcher=1.20 installed from conda #183

Open af8 opened 3 years ago

af8 commented 3 years ago

Hello,

I just installed fusioncatcher through conda:

conda create -n fusioncatcher-1.20 -c conda-forge -c bioconda fusioncatcher=1.20

After installation, it fails to run because bowtie can not found libtbb.so.2:

(fusioncatcher-1.20) master[12:36] ~ $ bowtie --version
/data-ddn/home/anthony/sw/miniconda3/envs/fusioncatcher-1.20/bin/bowtie-align-s: error while loading shared libraries: libtbb.so.2: cannot open shared object file: No such file or directory

Nonetheless, I can see that in the lib folder of the conda env libtbb.so.12.1 is present.

This issue relates to a few previous issues where it is advised to install tbb system wide with apt-get or such. I would like to avoid that to keep things in the conda env properly.

As a patch, I have done :

$ ln -s libtbb.so.12.1 libtbb.so.2
$ ldd ../bin/bowtie2-align-s
    linux-vdso.so.1 =>  (0x00007fff667ff000)
    libz.so.1 => /data-ddn/home/anthony/sw/miniconda3/envs/fusioncatcher-1.20/lib/../bin/../lib/libz.so.1 (0x00007f50236f2000)
    libtbb.so.2 => /data-ddn/home/anthony/sw/miniconda3/envs/fusioncatcher-1.20/lib/../bin/../lib/libtbb.so.2 (0x00007f50236b3000)
    libtbbmalloc.so.2 => /data-ddn/home/anthony/sw/miniconda3/envs/fusioncatcher-1.20/lib/../bin/../lib/libtbbmalloc.so.2 (0x00007f5023671000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f5023445000)
    libstdc++.so.6 => /data-ddn/home/anthony/sw/miniconda3/envs/fusioncatcher-1.20/lib/../bin/../lib/libstdc++.so.6 (0x00007f50232cf000)
    libm.so.6 => /lib64/libm.so.6 (0x00007f502304b000)
    libgcc_s.so.1 => /data-ddn/home/anthony/sw/miniconda3/envs/fusioncatcher-1.20/lib/../bin/../lib/libgcc_s.so.1 (0x00007f5023037000)
    libc.so.6 => /lib64/libc.so.6 (0x00007f5022c95000)
    libdl.so.2 => /lib64/libdl.so.2 (0x00007f5022a91000)
    /lib64/ld-linux-x86-64.so.2 (0x000000327bc00000)

Now obviously the lib is found and bowtie prints the version correctly:

bowtie --version
/data-ddn/home/anthony/sw/miniconda3/envs/fusioncatcher-1.20/bin/bowtie-align-s version 1.2.3
64-bit
Built on fv-az12
Thu Jul  9 20:29:24 UTC 2020
Compiler: gcc version 7.5.0 (crosstool-NG 1.24.0.123_1667d2b)
Options: -O3 -m64 -I/home/anthony/sw/miniconda3/envs/fusioncatcher-1.20/include -L/home/anthony/sw/miniconda3/envs/fusioncatcher-1.20/lib -Wl,--hash-style=both -DWITH_TBB -DPOPCNT_CAPABILITY -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /home/anthony/sw/miniconda3/envs/fusioncatcher-1.20/include -fdebug-prefix-map=/opt/conda/conda-bld/bowtie_1594325927634/work=/usr/local/src/conda/bowtie-1.2.3 -fdebug-prefix-map=/home/anthony/sw/miniconda3/envs/fusioncatcher-1.20=/usr/local/src/conda-prefix  -fvisibility-inlines-hidden -std=c++17 -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /home/anthony/sw/miniconda3/envs/fusioncatcher-1.20/include -fdebug-prefix-map=/opt/conda/conda-bld/bowtie_1594325927634/work=/usr/local/src/conda/bowtie-1.2.3 -fdebug-prefix-map=/home/anthony/sw/miniconda3/envs/fusioncatcher-1.20=/usr/local/src/conda-prefix
Sizeof {int, long, long long, void*, size_t, off_t}: {4, 8, 8, 8, 8, 8}

But I am not sure whether this is really clean. In others words if libtbb.so.12.1 is compatible with libtbb.so.2 and that both can be switched as I just did for bowtie ?

Or anything else you would advised to solve this situation ?

Many thanks, Anthony

ndaniel commented 3 years ago

Hi,

conda installation for FusionCatcher does not work. It needs to be updated. If someone would jump here and help would be great!

Cheers, Daniel

af8 commented 3 years ago

Ok thanks. I will then try to build from GitHub. By the way, the patch I mentioned above does not work. I got 'symbol lookup error' so this is not a good idea.

Cheers, Anthony

praveenraj2018 commented 3 years ago

@ndaniel

I am also getting the same error with docker.

/usr/local/bin/bowtie-align-s: error while loading shared libraries: libtbb.so.2: cannot open shared object file: No such file or directory

Used fusioncatcher.py 1.33, executed with docker run quay.io/biocontainers/fusioncatcher:1.33--hdfd78af_0 fusioncatcher

Any thoughts how to proceed further?

ndaniel commented 2 years ago

@praveenraj2018 It looks like libtbb is not installed. Probably this would help on Ubuntu:

sudo apt-get -y install libtbb-dev libtbb2

It is not clear why conda does not install the dependencies like libtbb-dev and libtbb2 for bowtie.

apeltzer commented 2 years ago

libtbb2 was broken on conda for while - attempting to fix the recipe in this PR here https://github.com/bioconda/bioconda-recipes/pull/32012