<meta charset="utf-8">
在解决这个报错的过程中,我学到了Linux下解决问题的一种新思路。这个报错很早之前就遇到过,当时是用自己安装的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名称很相似,猜测作用应该是一样的,能不能软链接一下?肯定是不行的,非root用户没有权限在/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下面也找到了很多libso这样的文件。
$ 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
作者:TOP生物信息
链接:https://www.jianshu.com/p/848119d1e349
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。