我正在尝试在 Mac 上安装 bcftools 以处理 VCF 文件,但是在执行正确安装时遇到了一些问题,特别是在执行“make”时。
bfctools 的安装说明出现在以下链接中,我尝试按照步骤操作,但问题出现在“make”中。
安装 samstools 和 HTSlib 也会出现同样的问题。
其他安装链接如下:
这是尝试安装时发生的情况
MacBook-Pro-de-Carlos:bcftools carlosvasquezguerra$ make
echo '#define BCFTOOLS_VERSION "1.9-117-g9e81e92"' > version.h
gcc -g -Wall -Wc++-compat -O2 -I. -I../htslib -c -o main.o main.c
gcc -g -Wall -Wc++-compat -O2 -I. -I../htslib -c -o vcfindex.o vcfindex.c
gcc -g -Wall -Wc++-compat -O2 -I. -I../htslib -c -o tabix.o tabix.c
gcc -g -Wall -Wc++-compat -O2 -I. -I../htslib -c -o vcfstats.o vcfstats.c
gcc -g -Wall -Wc++-compat -O2 -I. -I../htslib -c -o vcfisec.o vcfisec.c
gcc -g -Wall -Wc++-compat -O2 -I. -I../htslib -c -o vcfmerge.o vcfmerge.c
gcc -g -Wall -Wc++-compat -O2 -I. -I../htslib -c -o vcfquery.o vcfquery.c
gcc -g -Wall -Wc++-compat -O2 -I. -I../htslib -c -o vcffilter.o vcffilter.c
gcc -g -Wall -Wc++-compat -O2 -I. -I../htslib -c -o filter.o filter.c
gcc -g -Wall -Wc++-compat -O2 -I. -I../htslib -c -o vcfsom.o vcfsom.c
gcc -g -Wall -Wc++-compat -O2 -I. -I../htslib -c -o vcfnorm.o vcfnorm.c
gcc -g -Wall -Wc++-compat -O2 -I. -I../htslib -c -o vcfgtcheck.o vcfgtcheck.c
gcc -g -Wall -Wc++-compat -O2 -I. -I../htslib -c -o vcfview.o vcfview.c
gcc -g -Wall -Wc++-compat -O2 -I. -I../htslib -c -o vcfannotate.o vcfannotate.c
vcfannotate.c: In function ‘setter_info_str’:
vcfannotate.c:854:59: warning: request for implicit conversion from ‘void *’ to ‘struct kh_str2int_t *’ not permitted in C++ [-Wc++-compat]
if ( !col->mm_str_hash ) col->mm_str_hash = khash_str2int_init();
^
gcc -g -Wall -Wc++-compat -O2 -I. -I../htslib -c -o vcfroh.o vcfroh.c
gcc -g -Wall -Wc++-compat -O2 -I. -I../htslib -c -o vcfconcat.o vcfconcat.c
gcc -g -Wall -Wc++-compat -O2 -I. -I../htslib -c -o vcfcall.o vcfcall.c
gcc -g -Wall -Wc++-compat -O2 -I. -I../htslib -c -o mcall.o mcall.c
gcc -g -Wall -Wc++-compat -O2 -I. -I../htslib -c -o vcmp.o vcmp.c
gcc -g -Wall -Wc++-compat -O2 -I. -I../htslib -c -o gvcf.o gvcf.c
gcc -g -Wall -Wc++-compat -O2 -I. -I../htslib -c -o reheader.o reheader.c
gcc -g -Wall -Wc++-compat -O2 -I. -I../htslib -c -o convert.o convert.c
gcc -g -Wall -Wc++-compat -O2 -I. -I../htslib -c -o vcfconvert.o vcfconvert.c
gcc -g -Wall -Wc++-compat -O2 -I. -I../htslib -c -o tsv2vcf.o tsv2vcf.c
gcc -g -Wall -Wc++-compat -O2 -I. -I../htslib -c -o vcfcnv.o vcfcnv.c
gcc -g -Wall -Wc++-compat -O2 -I. -I../htslib -c -o HMM.o HMM.c
gcc -g -Wall -Wc++-compat -O2 -I. -I../htslib -DPLUGINPATH='"/usr/local/libexec/bcftools"' -c -o vcfplugin.o vcfplugin.c
gcc -g -Wall -Wc++-compat -O2 -I. -I../htslib -c -o consensus.o consensus.c
gcc -g -Wall -Wc++-compat -O2 -I. -I../htslib -c -o ploidy.o ploidy.c
In file included from /usr/include/Availability.h:232:0,
from /usr/include/stdlib.h:61,
from ../htslib/htslib/khash.h:128,
from ../htslib/htslib/khash_str2int.h:28,
from ploidy.c:25:
/usr/include/AvailabilityInternal.h:33:18: error: missing binary operator before token "("
#if __has_include(<AvailabilityInternalPrivate.h>)
^
In file included from /usr/include/stdlib.h:61:0,
from ../htslib/htslib/khash.h:128,
from ../htslib/htslib/khash_str2int.h:28,
from ploidy.c:25:
/usr/include/Availability.h:493:18: error: missing binary operator before token "("
#if __has_include(<AvailabilityProhibitedInternal.h>)
^
make: *** [ploidy.o] Error 1
我附上了我用 brew 安装的依赖项:
MacBook-Pro-de-Carlos:bcftools carlosvasquezguerra$ brew list
atk icu4c
autoconf isl
automake jpeg
cairo libepoxy
fontconfig libffi
freetype libmpc
fribidi libpng
gdbm libtiff
gdk-pixbuf mpfr
gettext ncurses
git-flow-avh openssl
glib pango
gmp pcre
gnu-getopt pixman
graphite2 pkg-config
gsettings-desktop-schemas python
gtk+ readline
gtk+3 sqlite
harfbuzz xz
hicolor-icon-theme zlib
我已经咨询了一些朋友,使用相同版本的MAC没有这个问题:Mojave: 10.14.3
。
- 注意:Xcode 版本:
Xcode-select version 2354
我的最后一个选择是安装虚拟机,但我再说一遍,一些具有类似特征的用户已经安装了 bcftools