目 录CONTENT

文章目录

dnmtool-1.4.2工具编译安装

xlong
2024-06-01 / 0 评论 / 0 点赞 / 20 阅读 / 2705 字 / 正在检测是否收录...

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的方法。

0

评论区