辣雞conda,總莫名其妙整出一些事故;之前在其他環境安裝過Samtools,可以正常使用,但新建虛擬環境后重新安裝,報以上錯誤;
報錯原因:未找到庫文件libbz2.so.1.0;懷疑是conda安裝samtools是跳過了這個庫的安裝【查看之前可以正常使用的samtools版本,和現在安裝的版本不同】;
解決方案:將軟件所需要的庫文件放到虛擬環境的lib目錄下【本人之前在conda其他虛擬環境安裝過軟件,所以我的環境中存在libbz2.so.0.1這個庫文件(見下面操作步驟),我覺得從任何地方把這玩意復制過來應該都可以解決問題】;理論上其他庫文件丟失可以以同樣方式解決。
1.查找conda內其他地方是否有libbz2.so.1.0庫
1 find /home/shenqingsong/project/APP/miniconda3 -name libbz2*
可以看到在conda中存在這樣的庫,雖然版本不同,但問題應該不大,因為報錯是指定版本,但復制后直接進行軟連接就行
2.將庫文件復制一份到虛擬環境下的lib文件夾,並軟連接
1 cd /home/shenqingsong/project/APP/miniconda3/envs/chipseq/lib 2 cp /home/shenqingsong/project/APP/miniconda3/pkgs/bzip2-1.0.8-h7f98852_4/lib/libbz2.so.1.0.8 ./ 3 ln -s libbz2.so.1.0.8 libbz2.so.1.0 4 ll libbz*
3.重新嘗試運行samtools
1 samtools --help