conda安装bowtie2的报错:undefined symbol

使用conda安装bowtie2遇到undefined symbol报错

/public/home/xuzhougeng/miniconda3/envs/bsseq/bin/bowtie2-build-s: symbol lookup error: /public/home/xuzhougeng/miniconda3/envs/bsseq/bin/bowtie2-build-s/public/home/xuzhougeng/miniconda3/envs/bsseq/bin/bowtie2-build-s: undefined symbol: _ZN3tbb10interface78internal15task_arena_base19internal_initializeEv
: symbol lookup error: /public/home/xuzhougeng/miniconda3/envs/bsseq/bin/bowtie2-build-s: undefined symbol: _ZN3tbb10interface78internal15task_arena_base19internal_initializeEv

直接复制报错信息进行谷歌检索,没有找到答案。

复制_ZN3tbb10interface78internal15task_arena_base19internal_initializeEv进行检索,定位到这个symbol由 tbb定义

tbb

使用ldd分析bowtie2-build-s的动态链接,发现libtbb的静态链接是对应的是系统的libtbb

ldd

切换到anaconda的动态库目录中,发现没有libtbb.so.2

image.png

因此最容易想到的解决方案就是

ln -s libtbb.so.12 libtbb.so.2

但是依然会报错。因为出现undefined symbol的根本原因是,tbb有bioconda, main, conda-forge三个版本,conda-forge是最新的结果,而我安装bowtie2用的就是最新的conda-forge, 而非bowtie2构建时候用的bioconda版本。如果我系统没有自带tbb,那么报错就是 symbol not found, 而非undefined symbol。因此真正的解决方法是卸载tbb和bowtie2,重新安装(确保bioconda是最高优先级)

conda install -c bioconda bowtie2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值