bedtools軟件安裝報錯:gzopen函數未定義(undefined reference to `gzopen64')

在如下網站下載最新版軟件:https://github.com/arq5x/bedtools2/releases/tag/v2.26.0

wget https://github.com/arq5x/bedtools2/releases/download/v2.26.0/bedtools-2.26.0.tar.gz
tar xzf bedtools-2.26.0.tar.gz
cd bedtools2
vim Makefile,將第28行修改爲:prefix = /ifs4/BC_COM_P5/F15FTSECKF0984/PEOahnD/PEOahnD/hlb/bin/bedtools-2.26/
make
報錯:
- Building main bedtools binary.
obj/gzstream.o: In function `gzstreambuf::open(char const*, int)':
gzstream.C:(.text+0x2a2): undefined reference to `gzopen64'
collect2: ld 返回 1
make: *** [all] 錯誤 1

搜索系統中庫文件:
locate libz.so | less
輸出如下:
/lib64/libz.so.1
/lib64/libz.so.1.2.3
/root/zlib-1.2.8/libz.so
/root/zlib-1.2.8/libz.so.1
/root/zlib-1.2.8/libz.so.1.2.8
/usr/lib64/libz.so
/usr/local/lib/libz.so
/usr/local/lib/libz.so.1
/usr/local/lib/libz.so.1.2.8

分別查詢上述.so文件中的函數地址,如果都找不到,則需安裝最新版本的libz
objdump -T /lib64/libz.so.1 | grep gzopen64
objdump -T /lib64/libz.so.1.2.3 | grep gzopen64
objdump -T /root/zlib-1.2.8/libz.so | grep gzopen64
objdump -T /root/zlib-1.2.8/libz.so.1 | grep gzopen64
objdump -T /root/zlib-1.2.8/libz.so.1.2.8 | grep gzopen64
objdump -T /usr/lib64/libz.so | grep gzopen64
objdump -T /usr/local/lib/libz.so | grep gzopen64
objdump -T /usr/local/lib/libz.so.1.2.8 | grep gzopen64

export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
export LDFLAGS="-L/usr/local/lib"
make
安裝成功
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章