stacks的安装
高能预警!!!
root有风险,操作需谨慎!
![](http://mmbiz.qpic.cn/mmbiz_png/CPzCjkN0MOc57NnhwyiagcKdCS1X8FiaAWjItCIBKdTecaYeZv828YDBuBpCgu0lkdNic7SXJC4MvBZnCuaw8iciatQ/0?wx_fmt=png)
stacks是一款常用于分析简化基因组的软件,可以分析研究对象的遗传图谱、群体遗传学和系统发育学。然而在安装过程中会遇到诸多问题,下面跟大家分享一下我在安装过程中遇到的问题,希望对你有所帮助!
1|下载并解压
wget http://catchenlab.life.illinois.edu/stacks/source/stacks-1.44.tar.gz
tar -zxvf stacks-1.44.tar.gz
cd stacks-1.44
2|配置
./configure
报错:原因是系统GCC版本太低,编译需要C++11
Error:configure: error: *** A compiler with support for C++11 language features is required.
安装GCC到个人用户下,系统下的还是不要随意的修改,负责后果不堪设想
2.1|下载
wget http://gcc.skazkaforyou.com/releases/gcc-4.9.1/gcc-4.9.1.tar.gz
2.2|解压缩
tar -xf gcc-4.9.1.tar.gz
2.3|进入目录
cd gcc-4.9.1
2.4|运行download_prerequisites脚本, ./contrib/download_prerequisites ,这个脚本会自动帮你下载所需要的依赖文件和库
./contrib/download_prerequisites
2.5|建立输出目录,将所有的中间文件都放到该目录,
mkdir gcc_temp
2.6|进入目录
cd gcc_temp
2.7|运行
../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
../configure --prefix=/home/zhaopeng/sysoft/gcc-4.9.1/gcc_temp/ --enable-checking=release --enable-languages=c,c++ --disable-multilib
2.8|编译
make & make install
2.9|添加环境变量
PATH=/home/username/sysoft/gcc-4.9.1/gcc_temp/bin/:$PATH
重新配置
./configure
3|编译
make -j 8
sudo make install
Error:
cstacks: /usr/lib64/libgomp.so.1: version `GOMP_4.0' not found (required by cstacks)cstacks: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by cstacks)cstacks: /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by cstacks)cstacks: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by cstacks)
原因是:我遇到这个问题的时候是在连接库的时候出现的问题,而且不是在编译的时候出现的,是在运行的时候才报错,出现这种问题就是因为编译库的编译器和编译当前程序的编译器版本是不一样的,在具体一点就是因为,当前程序的编译器的版本是比较低的,只要升级一下就可以了。
将安装在自己目录下的库文件添加到环境变量中PATH=/home/username/sysoft/gcc-4.9.1/gcc_temp/lib64/:$PATH
依然没有解决默认的是调用系统下面的/usr/lib64/libstdc++.so.6,是绝对路径,而不是环境变量中的,所以把自己在自己目录下更新的GCC的库文件添加到环境变量中也没有什么用!!!
经过查看/usr/lib64/目录下stacks需要的几个库文件都是建立的软连接,所以我只需要重新建立一个软连接就可以了,
切换root