关于在使用源码编译的方法安装Hisat2 2.1.0的过程中遇到的问题及解决方法

465 阅读1分钟

1、问题的发现

在作业1-linux使用和软件的安装中的第2题中,需要使用源码编译的方法安装Hisat2软件。首先通过Hisat2官方网站下载2.1.0版本的源码包,下载地址为cloud.biohpc.swmed.edu/index.php/s… 下载完成后得到了hisat2-2.1.0-source.zip这一压缩包

截图 2022-10-04 20-11-36.png 解压:

unzip hisat2-2.1.0-source.zip

进入hisat2目录,运行指令

make

开始编译安装,但是笔者出现了以下错误

截图 2022-10-04 20-27-14.png 报错:

dirname: 缺少操作数
请尝试执行 "dirname --help" 来获取更多信息
/g++ -O3 -m64 -msse2 -funroll-loops -g3 -DCOMPILER_OPTIONS="\"-O3 -m64 -msse2 -funroll-loops -g3 -DPOPCNT_CAPABILITY\"" -DPOPCNT_CAPABILITY \
-fno-strict-aliasing -DHISAT2_VERSION="\"`cat VERSION`\"" -DBUILD_HOST="\"`hostname`\"" -DBUILD_TIME="\"`date`\"" -DCOMPILER_VERSION="\"`/g++ -v 2>&1 | tail -1`\"" -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE  -DBOWTIE_MM  -DBOWTIE2 -DNDEBUG -Wall -DMASSIVE_DATA_RLCSA \
-I third_party \
-o hisat2-build-s hisat2_build.cpp \
ccnt_lut.cpp ref_read.cpp alphabet.cpp shmem.cpp edit.cpp gfm.cpp reference.cpp ds.cpp multikey_qsort.cpp limit.cpp random_source.cpp tinythread.cpp diff_sample.cpp hisat2_build_main.cpp \
-lpthread 
/bin/sh: 1: /g++: not found
make: *** [Makefile:275:hisat2-build-s] 错误 127

2、问题的解决

通过网络查询得知,是由于系统没有装C++编译器,安装相应编译器即可解决此问题。使用

sudo apt-get install g++

成功安装C++编译器

截图 2022-10-04 20-44-15.png 再次尝试运行make,现在可以进行编译了

截图 2022-10-04 20-47-34.png

3、检验是否成功安装

运行hisat2

截图 2022-10-04 20-48-15.png 成功解决问题。(以上内容仅供参考。)