gcc、g++安装
dnmtools在比较旧的ubuntu版本上,gcc不兼容 very-cheap cost model。
查看是否兼容:
执行下面的命令,如果出现very-cheap表示兼容。默认ubuntu 20.04 gcc-9和gcc-10都不兼容,需要安装test库gcc-11。
# gcc -Q -O3 --help=optimizers | grep "cheap"
-fsimd-cost-model=[unlimited|dynamic|cheap|very-cheap] unlimited
-fvect-cost-model=[unlimited|dynamic|cheap|very-cheap] dynamic
安装命令:
# 添加gcc test 源
add-apt-repository ppa:ubuntu-toolchain-r/test
apt install gcc-11 g++-11
# 删除旧版本软连接
cd /usr/bin/
ls -lh gcc* g++*
rm -f g++ gcc
ln -s /usr/bin/gcc-11 /usr/bin/gcc
ln -s /usr/bin/g++-11 /usr/bin/g++
# 过滤出现very-cheap表示,very-cheap可以正常使用
# gcc -Q -O3 --help=optimizers | grep "cheap"
安装GNU Scientific Library
运行以下命令来安装GSL软件包:
apt install libgsl-dev
# 如果成功安装,将显示GSL的版本号。
gsl-config --version
HTSlib安装
安装必要的依赖项:HTSlib需要一些依赖项
apt install build-essential zlib1g-dev libbz2-dev liblzma-dev libcurl4-gnutls-dev libssl-dev
源码编译htslib
# 下载HTSlib源代码:
wget https://github.com/samtools/htslib/releases/download/1.18/htslib-1.18.tar.bz2
tar xf htslib-1.18.tar.bz2
cd htslib-1.18
# 编译和安装HTSlib
make && make install
echo $?
编译dnmtools
wget https://github.com/smithlabcode/dnmtools/releases/download/v1.4.2/dnmtools-1.4.2.tar.gz
tar xf dnmtools-1.4.2.tar.gz
cd dnmtools-1.4.2
mkdir /root/app/dnmtools -pv
../configure --prefix=~/app/dnmtools
make && make install
报错解决方法:
note: valid arguments to '-fvect-cost-model=' are: cheap dynamic unlimited
error: unknown vectorizer cost model 'very-cheap'
问题原因: gcc版本过低,没有cost model :'very-cheap'
# 查看cost model :
# gcc -Q -O3 --help=optimizers | grep "cheap"
-fsimd-cost-model=[unlimited|dynamic|cheap|very-cheap] unlimited
-fvect-cost-model=[unlimited|dynamic|cheap|very-cheap] dynamic
解决方法:
查看上面安装gcc-11、g++-11的方法。
评论区