日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

如何用conda安装软件|处理conda安装工具的动态库问题

發布時間:2025/3/14 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何用conda安装软件|处理conda安装工具的动态库问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

conda的確是一個非常好的工具,對于初學者而言,安裝軟件就跟用XXX軟件管理器一樣方便。正因為他如此便利,以至于我介紹如何手動安裝工具時,總有人問我為啥不用conda。

我用conda,并且用的很好。

下面解決一個非常有趣的conda安裝工具后出現的動態庫缺失的問題。這是我最近遇到的例子,

$ samtools

samtools: error while loading shared libraries: libtinfow.so.5: cannot open shared object file:No such file or directory

安裝的samtools居然說不能用,原因是動態庫找不到。那么這個問題應該怎么解決呢?

首先是確認問題,通過ldd查看samtools依賴了哪些工具。

$ which samtools

~/miniconda3/envs/align/bin/samtools

$ ldd ~/miniconda3/envs/align/bin/samtools

linux-vdso.so.1=>(0x00007ffc4aef8000)

libpthread.so.0=>/lib64/libpthread.so.0(0x00007f71902b3000)

libz.so.1=>/home/wangjw/miniconda3/envs/align/bin/../lib/libz.so.1(0x00007f719009b000)

libm.so.6=>/lib64/libm.so.6(0x00007f718fd99000)

libdl.so.2=>/lib64/libdl.so.2(0x00007f718fb95000)

libbz2.so.1.0=>/home/wangjw/miniconda3/envs/align/bin/../lib/libbz2.so.1.0(0x00007f718f982000)

liblzma.so.5=>/home/wangjw/miniconda3/envs/align/bin/../lib/liblzma.so.5(0x00007f718f75c000)

libdeflate.so =>/home/wangjw/miniconda3/envs/align/bin/../lib/libdeflate.so (0x00007f718f551000)

libncursesw.so.5=>/home/wangjw/miniconda3/envs/align/bin/../lib/libncursesw.so.5(0x00007f718f2f6000)

libcrypto.so.1.0.0=>/home/wangjw/miniconda3/envs/align/bin/../lib/libcrypto.so.1.0.0(0x00007f718eeb6000)

libcurl.so.4=>/home/wangjw/miniconda3/envs/align/bin/../lib/libcurl.so.4(0x00007f718ec42000)

libc.so.6=>/lib64/libc.so.6(0x00007f718e87e000)

/lib64/ld-linux-x86-64.so.2(0x000055f87a5eb000)

libtinfow.so.5=> not found

librt.so.1=>/lib64/librt.so.1(0x00007f718e675000)

libssl.so.1.0.0=>/home/wangjw/miniconda3/envs/align/bin/../lib/./libssl.so.1.0.0(0x00007f718e3ff000)

的確是libtinfow.so.5找不到了。

原因我根據直覺推測,是我安裝的1.8版本的samtools的預編譯版本安裝時不會自帶tinfow, 它默認我們自己提供tinfow這個動態庫。

如何解決?

第一個方案降級samtools,沒必要使用最新版的,新版雖然功能多,但是bug也不會少。所以可以使用舊版,比如說1.5

$ conda install samtools=1.5

ok,這個問題解決了

第二種方案,你一定要使用samtools的最新版,那么我們就自己解決不存在的依賴庫問題。這個問題其實的確有人提及

谷歌一下

有趣的是各個搜索引擎都企圖讓我把關鍵字改成 libinfo.so.5,真的是有趣呀

ncurses不存在導致

當我準備去安裝ncurses的時候,卻提示這個軟件已經安裝好了。

$ conda install ncurses

# All requested packages already installed

但是問題還在這是為什么?

顯然是ncurses安裝時存在了問題,當我卸載ncurses時我找到了問題所在,這就是conda的各個channel之間沖突了,默認去安裝官方的ncurses,而不是conda-forge, 而bioconda的軟件包搭配conda-forge才能用的很好

注意ncurses的安裝地址

因此修改 ~/.condarc提高conda-forge的優先級

conda-forge優先級最高

再次安裝:

正確的地址

這下運行成功了

嘿嘿嘿

最后說明,samtools的tview依賴于ncurses。

轉載于:https://www.cnblogs.com/nkwy2012/p/8986106.html

總結

以上是生活随笔為你收集整理的如何用conda安装软件|处理conda安装工具的动态库问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。