1 动态库缺失
conda的确是一个非常好的工具,对于初学者而言,安装软件就跟用apt/yum软件管理器一样方便。但软件安装后有时会出现的动态库缺失的问题。但是近期我在使用conda安装samtools的过程中,遇到了各种各样的报错,如下
error while loading shared libraries: libcrypto.so.1.1: cannot open shared object file: No such file or directory
samtools: error while loading shared libraries: libtinfow.so.5: cannot open shared object file: No such file or directory
samtools: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
折腾了三四天,频繁的创建和删除环境,心态已崩。。。
……
2 Debug过程:
2.1 常规操作
绝对大多数的问题,都是可以通过万能的谷歌和百度进行解决的,我们要相信我们遇到的这些问题,早已有很多人已经历过
然而一通谷歌百度,搜索到了各种帖子,解决方案,结果当然是没什么作用
慎用Anaconda进行软件管理
如何用conda安装软件|处理conda安装工具的动态库问题
2.2 卸载重装,无效。。
conda remove samtools
conda install samtools
2.3 给samtools降级,无效,依然无效
conda remove samtools
conda install samtools=1.5
3.解决办法
3.1 解决办法1
在conda下新建一个虚拟环境,重新安装,凑效
conda create -n sp
conda install samtools
samtools
3.2 解决办法2
conda create -n sp
conda install samtools
samtools
# 找到sp环境下samtools的库文件夹
cd /home/cqs/biosoft/miniconda3/envs/sp/
# 压缩库文件夹
tar zcvf samtools_lib.tar.gz lib/
# 回到home
cd
# 将压缩的库文件备份
mkdir Backup
mv samtools_lib.tar.gz Backup/
百度网盘链接:
链接:https://pan.baidu.com/s/1GHHNw015jSPmD-bpL1-ptw
提取码:8qma
可直接下载解压后,直接将缺少的库文件,复制以后放入虚拟环境下对应lib文件夹中
如下:
# 下载samtools_lib.tar.gz,复制到/home
cp /mnt/d/samtools_lib.tar.gz ~
# 解压
tar xzvf samtools_lib.tar.gz
# 将解压后的lib文件夹下,找到报错提到的库文件,复制到报错环境下的lib文件夹中,path为miniconda3所在的路径,env_name为samtools所在的报错环境
cp lib/libcrypto.so.1.0.0 <path>/miniconda3/envs/env_name/lib
3.3 解决办法3
找到官方的库文件下载地址,下载对应的库文件,同3.2方法一样,放入指定的lib文件夹
4 一劳永逸
对于初学者来说,conda不失为一个很好用的软件管理工具,但是傻瓜式的操作带来的报错,可能会让我们无所是从,软件的安装,还是应学习如何使用源码或者软件包进行自定义安装
网友评论