开发者
资源
kylinV10安装SOAPdenovo r241解决报错/usr/bin/ld: skipping incompatible ./standardPregraph/inc/libbam.a when searching for -lbam
kylinV10安装SOAPdenovo r241解决报错/usr/bin/ld: skipping incompatible ./standardPregraph/inc/libbam.a when searching for -lbam
发表于2023/08/11
5513

现象:

按照鲲鹏社区文档https://www.hikunpeng.com/document/detail/zh/kunpenghpcs/prtg-osc/kunpengsoapdenovo_02_0006.html安装SOAPdenovo,出现/usr/bin/ld: skipping incompatible ./standardPregraph/inc/libbam.a when searching for -lbam

cke_1367.png

问题分析过程:

根据报错信息提示, cannot find -lbam,但bam.a是在sparsePregraph或者standardPregraph是有的,往前提示是跳过了这个.a,那为什么会跳过这个.a文件?

使用命令readelf -h ./sparsePregraph/inc/libbam.a发现该静态库是源于X86的,非aarch64架构,此时需要替换成arm架构的静态库,该静态库来源于samtools。

cke_42259.png

解决方案:

①在centos上在可使用yum install samtools安装

②在kylin上可以采用源码方式安装samtools:

cd /path/to/samtools

wget https://codeload.github.com/samtools/samtools/tar.gz/0.1.19 -O samtools-0.1.19.tar.gz

tar xf samtools-0.1.19.tar.gz 

cd samtools-0.1.19

make

此时已安装完成samtools,在当前目录下会生成libbam.a

使用命令readelf -h ./libbam.a可以看到,当前的架构已经是aarch64

cke_92360.png

进入到SOAPdenovo的源码目录,将libbam.a链接到makefile中,在第13行后面加上 -L/path/to/samtools/samtools-0.1.19 

cke_138275.png

再次重新make,即可安装成功,生成二进制!

cke_153653.png

收藏举报
Level 1
0
帖子
0
粉丝
0
获赞