本打算安装几个软件,缺一直没成功,其实linux下安装软件方法自己比较熟了,不知道为啥这次就没成功。
在学习小RNA分析时,需要下载这两个软件包ViennaRNA package和EMBOSS package。我先从官网上下载了源码的压缩包,准备按照README和INSTALL里面介绍的,configure(配置),make(编译),make install(安装),结果报错了!
......
/ifs1/Software/miniconda3/bin/mkdir -p '/usr/local/lib'
/bin/sh ../../libtool --mode=install /ifs1/Software/miniconda3/bin/install -c libRNA.la '/usr/local/lib'
libtool: install: /ifs1/Software/miniconda3/bin/install -c .libs/libRNA.lai /usr/local/lib/libRNA.la
!!!这一行:/ifs1/Software/miniconda3/bin/install: cannot create regular file '/usr/local/lib/libRNA.la': Permission denied
make[4]: *** [Makefile:1114: install-libLTLIBRARIES] Error 1
make[4]: Leaving directory '/ifs1/Grp3/huangsiyuan/learn_rnaseq/srna_project/soft/ViennaRNA-2.4.11/src/ViennaRNA'
......
安装过程总报错,说没有在某个文件夹下添加某个文件的权限。/ifs1/Software/miniconda3/bin/install这个是管理员的路径,加到了每个账户的.bashrc文件中,一般优先调用这个install。我觉得应该是这个路径的原因。
换个方法,去bioconda看了看,还真有,在这里搜索bioconda是否有某个软件:https://bioconda.github.io/recipes.html

然后安装:conda install viennarna
结果还是报错了,报错信息跟上面差不多,whcih conda一看,还是管理员的路径。到这儿我知道原因了,的确是路径的问题。如果把别人的bin目录添加到自己的环境变量中,是可以使用其中的软件的;但是如果用这里面的conda,install这些来安装自己想要的软件可能就不行了,因为中间会产生一些指定了(别人)文件夹路径的文件可能就没有权限实现了。
解决方法想到了两个,一是使用自己的conda,加绝对路径;二是将中间文件重新指定到自己的文件夹下面。
第一种
~/miniconda3/bin/conda install emboss
第二种
cd ViennaRNA-2.4.11/
./configure --prefix=/ifs1/Grp3/huangsiyuan/local
make
make check
make install
make clean
cd EMBOSS-6.6.0/
./configure --prefix=/ifs1/Grp3/huangsiyuan/local
make
make check
make install
make clean
亲测有效!
都是路径惹的祸!