我试图在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-select version 2354我的最后一个选择是安装虚拟机,但是,重复一遍,一些具有类似特性的用户已经安装了bcftools。
发布于 2019-07-31 21:19:35
尝试重新安装最新的macOS,因为它看起来是苹果头中的一个问题,而不是htslib (Availability.h是一个苹果头)
https://stackoverflow.com/questions/55321200
复制相似问题