cd /path/to/HISAT2 tar -xvf hisat2-2.1.0.tar.gz cd hisat2-2.1.0
export NO_TBB=1 export POPCNT_CAPABILITY=0
vi Makefile
目前“BITS=64”只支持x86,不支持aarch64,需要新增一个aarch64的分支。
BITS=32 ifeq (x86_64,$(shell uname -m)) BITS=64 endif
BITS=32 ifeq (x86_64,$(shell uname -m)) BITS=64 endif ifeq (aarch64,$(shell uname -m)) BITS=64 endif
vi Makefile
“Makefile”编译选项-m64/-msse2只支持x86,不支持aarch64,需要增加aarch64分支。
ifeq (32,$(BITS)) BITS_FLAG = -m32 endif ifeq (64,$(BITS)) BITS_FLAG = -m64 endif SSE_FLAG=-msse2
ifeq (32,$(BITS)) BITS_FLAG = -m32 endif ifeq (64,$(BITS)) BITS_FLAG = -m64 endif SSE_FLAG=-msse2 ifeq (aarch64,$(shell uname -m)) BITS_FLAG = SSE_FLAG = endif
vi Makefile
EXTRA_FLAGS += -DPOPCNT_CAPABILITY DEBUG_FLAGS = -O0 -g3 $(BIToS_FLAG) $(SSE_FLAG) DEBUG_DEFS = -DCOMPILER_OPTIONS="\"$(DEBUG_FLAGS) $(EXTRA_FLAGS)\"" RELEASE_FLAGS = -O3 $(BITS_FLAG) $(SSE_FLAG) -funroll-loops -g3 RELEASE_DEFS = -DCOMPILER_OPTIONS="\"$(RELEASE_FLAGS) $(EXTRA_FLAGS)\"" NOASSERT_FLAGS = -DNDEBUG FILE_FLAGS = -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE
EXTRA_FLAGS += DEBUG_FLAGS = -O0 -g3 $(BIToS_FLAG) $(SSE_FLAG) -funroll-loops -std=c++98 DEBUG_DEFS = -DCOMPILER_OPTIONS="\"$(DEBUG_FLAGS) $(EXTRA_FLAGS)\"" RELEASE_FLAGS = -O3 $(BITS_FLAG) $(SSE_FLAG) -funroll-loops -g3 -std=c++98 -Xlinker --allow-multiple-definition RELEASE_DEFS = -DCOMPILER_OPTIONS="\"$(RELEASE_FLAGS) $(EXTRA_FLAGS)\"" NOASSERT_FLAGS = -DNDEBUG FILE_FLAGS = -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE
vi Makefile
INC = -I.
wget https://raw.githubusercontent.com/DLTcollab/sse2neon/master/sse2neon.h
make