在MAC上安装bcftools时如何解决此错误? C的问题:[ploidy.o]错误1

时间:2019-03-24 06:13:33

标签: linux macos gcc vcf vcftools

我正在尝试在Mac上安装bcftools来处理VCF文件,但是在正确安装此文件时,尤其是在执行“ make”操作时,我遇到了一些问题。

bfctools的安装说明显示在下面的https://samtools.github.io/bcftools/howtos/install.html中,我尝试按照这些步骤进行操作,但是出现问题的地方是“ 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

1 个答案:

答案 0 :(得分:0)

尝试重新安装最新的macOS,因为这似乎是Apple标头中的一个问题,而不是htslib(Availability.h是Apple标头)