Augustus安裝問題 (3.0 以上都適用)
augustus 3.2 (3.3) 編譯失敗
原因是依賴boost庫,而且需要bamtools,從而導致編譯失敗
報錯1:
$ make
mkdir -p bin
cd src && make
make[1]: Entering directory '/home/bio/augustus/augustus-3.2.3/src'
g++ -c -Wall -Wno-sign-compare -Wno-strict-overflow -ansi -pedantic -O3 -DZIPINPUT -o genbank.o genbank.cc -I../include
In file included from genbank.cc:15:0:
../include/genbank.hh:26:48: fatal error: boost/iostreams/filtering_stream.hpp: No such file or directory
#include <boost/iostreams/filtering_stream.hpp>
^
compilation terminated.
Makefile:71: recipe for target 'genbank.o' failed
make[1]: *** [genbank.o] Error 1
make[1]: Leaving directory '/home/bio/augustus/augustus-3.2.3/src'
Makefile:7: recipe for target 'all' failedmake: *** [all] Error 2
解決方法1:
修改src/Makefile
將 LIBS = -lboost_iostreams 改成 LIBS = -lboost_iostreams -L/Path_to_boost/lib
將 INCLS = -I../include 改成 INCLS = -I../include -I/Path_to_boost/include
解決了boost問題,但是又來了新的報錯
報錯2:
Makefile:29: recipe for target 'bam2hints.o' failed
make[2]: *** [bam2hints.o] Error 1
解決方法2:
修改 auxprogs/bam2hints/Makefile
將 INCLUDES = /usr/include/bamtools 改成 INCLUDES = /Path_to_bamtools/include
將 LIBS = -lbamtools -lz 改成 LIBS = /Path_to_bamtools/lib/libbamtools.a -lz
解決了bam2hints又來了新報錯。。。
報錯3:
Makefile:34: recipe for target 'filterBam.o' failed
make[3]: *** [filterBam.o] Error 1
解決方法3:
修改 auxprogs/filterBam/src/Makefile
將 BAMTOOLS = /usr/include/bamtools 改成 BAMTOOLS = /Path_to_bamtools/include
將 LIBS = -lbamtools -lz 改成 LIBS = /Path_to_bamtools/lib/libbamtools.a -lz
Finally succeeded ~~
注意事項:
1. bamtools最好下載2.5.0以下版本的,推薦2.4.1
2. 最后記得要把boost的庫放入linux的配置中
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/Path_to_bamtools/include:/Path_to_bamtools/lib
浙公網安備 33010602011771號