samtools用conda安裝后,總是出現共享庫缺失的報錯。即便你剛安裝samtools時可以用,但后面在同一環境中安裝其他相關軟件,有可能產生了沖突,導致庫替換,因而報錯。
避免這種情況,可能最好是給samtools單獨一個環境。但我不喜歡這樣,我的習慣是一般做一件事才建一個環境,不然環境太多了,我自己都忘了。
網上很多回答分析原因說:samtools的版本已經在1.9以上了,但是conda安裝的samtools版本依然是1.7。所以建議強制安裝1.9版本:conda install -c bioconda samtools=1.9 --force-reinstall
這回答有可能對某些人管用。但其實conda已經早到1.9以上了:conda search samtools

我裝的版本默認已經是1.10,仍然缺這庫那庫的。總之,仍然是依賴庫的版本不匹配。
這一問題在github有很多issue,如libtinfow.so.5
開發者建議從別處軟鏈接過來(降級)。
比如,我的samtools缺libcrypto.so.1.0.0,libncurses.so.5,libtinfow.so.5。
先找到其他軟件的相同依賴庫,軟鏈接為以上名稱即可。
find ./ -name "libtinfow*"
ln -s ../../predict/lib/libtinfow.so.6 libtinfow.so.5

其他缺失庫類似,如失敗,可多嘗試幾個。相鄰版本之間並無太大差異。
ln -s libcrypto.so.1.1 libcrypto.so.1.0.0
ln -s /lib64/libbz2.so.1 /usr/lib64/libbz2.so.1.0
https://www.cnblogs.com/emanlee/p/7325171.html
https://www.cnblogs.com/emanlee/p/7325171.html
https://www.jianshu.com/p/093522c89aef
