??在解決這個報錯的過程中纬向,我學(xué)到了Linux下解決問題的一種新思路参滴。這個報錯很早之前就遇到過怖喻,當(dāng)時是用自己安裝的miniconda來下載安裝samtools(非root用戶)业岁,安裝完成之后運行就這樣報錯了操禀,但是其他的軟件又可以正常運行勇边,比如bwa犹撒。今天安裝deeptools,也是這個情況:成功安裝了粒褒,就是無法運行识颊,顯示缺文件。
??我在/usr/lib64/文件夾下面找了找奕坟,看到了類似的文件
$ cd /usr/lib64/
$ ll libbz2*
lrwxrwxrwx. 1 root root 11 Aug 30 2018 libbz2.so -> libbz2.so.1
lrwxrwxrwx. 1 root root 15 Aug 30 2018 libbz2.so.1 -> libbz2.so.1.0.6
-rwxr-xr-x. 1 root root 67K Nov 20 2015 libbz2.so.1.0.6
這幾個文件(其實只有一個libbz2.so.1.0.6)和我們需要的libbz2.so.1.0名稱很相似祥款,猜測作用應(yīng)該是一樣的,能不能軟鏈接一下月杉?肯定是不行的刃跛,非root用戶沒有權(quán)限在/usr/lib64/這種目錄下面瞎搞。
$ ln -s libbz2.so.1 libbz2.so.1.0
ln: failed to create symbolic link ‘libbz2.so.1.0’: Permission denied
不過我有個辦法苛萎,就是把/usr/lib64/下面的這幾個文件拷貝到自己的目錄下面桨昙,這樣就能肆意盤它了。問題又來了腌歉,拷貝到哪個目錄下面蛙酪?我放到了mypath/miniconda3/lib下面,因為既然目錄名稱都叫"lib"翘盖,說明存放的文件類別相同桂塞,并且我在mypath/miniconda3/lib下面也找到了很多l(xiāng)ib*so*這樣的文件。
$ cp libbz2.so.1 ~/miniconda3/lib
接著在mypath/miniconda3/lib目錄下面軟鏈接或是改名稱
$ cd ~/miniconda3/lib
$ ln -s libbz2.so.1 libbz2.so.1.0
$ ll libbz2*
-rwxr-xr-x. 1 huangsiyuan grp3 67K Jul 9 19:39 libbz2.so.1
lrwxrwxrwx. 1 huangsiyuan grp3 11 Jul 9 19:43 libbz2.so.1.0 -> libbz2.so.1
再運行bamCoverage或是samtools就沒問題了
類似的問題也可以用另外一種思路解決:libiconv.so.2: cannot open shared object file: No such file or directory