Compiler errors bcftools make失败,在win10中出现多个vcfmerge错误

Compiler errors bcftools make失败,在win10中出现多个vcfmerge错误,compiler-errors,vcftools,bcftools,Compiler Errors,Vcftools,Bcftools,我想编译最新的github bcftools,但下面有这些错误 [安装说明]提到: git clone git://github.com/samtools/htslib.git git clone git://github.com/samtools/bcftools.git cd bcftools make 此外,我还做了以下工作: BCFTOOLS_PLUGINS=/path/to/BCFTOOLS/PLUGINS(添加到Makefile) 以及这些第三方库(下载并添加到path) zlib

我想编译最新的github bcftools,但下面有这些错误

[安装说明]提到:

git clone git://github.com/samtools/htslib.git
git clone git://github.com/samtools/bcftools.git
cd bcftools
make
此外,我还做了以下工作:

  • BCFTOOLS_PLUGINS=/path/to/BCFTOOLS/PLUGINS(添加到Makefile) 以及这些第三方库(下载并添加到path)
  • zlib、gsl和libperl
  • 运行make命令时出错

    C:\Users\Admin\bcftools>make
    echo '#define BCFTOOLS_VERSION "1.10.2-122-gf09bac3-dirty"' > version.h
    gcc -g -Wall -O2 -I. -I../htslib   -c -o main.o main.c
    gcc -g -Wall -O2 -I. -I../htslib   -c -o vcfindex.o vcfindex.c
    gcc -g -Wall -O2 -I. -I../htslib   -c -o tabix.o tabix.c
    gcc -g -Wall -O2 -I. -I../htslib   -c -o vcfstats.o vcfstats.c
    gcc -g -Wall -O2 -I. -I../htslib   -c -o vcfisec.o vcfisec.c
    gcc -g -Wall -O2 -I. -I../htslib   -c -o vcfmerge.o vcfmerge.c
    vcfmerge.c: In function 'merge_GT':
    vcfmerge.c:1565:9: warning: unknown conversion type character 'z' in format [-Wformat=]
             if ( !warned ) fprintf(stderr,"Warning: Too many genotypes at %s:%"PRId64", requires %zu 
    bytes, skipping.\n", bcf_seqname(out_hdr,out),(int64_t) out->pos+1,msize);
             ^
    vcfmerge.c:1565:9: warning: too many arguments for format [-Wformat-extra-args]
    vcfmerge.c:1572:9: warning: unknown conversion type character 'z' in format [-Wformat=]
             if ( !ma->tmp_arr ) error("Could not allocate %zu bytes\n",msize);
             ^
    vcfmerge.c:1572:9: warning: too many arguments for format [-Wformat-extra-args]
    vcfmerge.c: In function 'merge_format_string':
    vcfmerge.c:1743:9: warning: unknown conversion type character 'z' in format [-Wformat=]
             if ( !warned ) fprintf(stderr,"Warning: The row size is too big for FORMAT/%s at 
    %s:%"PRId64", requires %zu bytes, skipping.\n", key,bcf_seqname(out_hdr,out),(int64_t) out- 
    >pos+1,msize);
             ^
    vcfmerge.c:1743:9: warning: too many arguments for format [-Wformat-extra-args]
    vcfmerge.c:1750:9: warning: unknown conversion type character 'z' in format [-Wformat=]
             if ( !ma->tmp_arr ) error("Could not allocate %zu bytes\n",msize);
             ^
    vcfmerge.c:1750:9: warning: too many arguments for format [-Wformat-extra-args]
    vcfmerge.c: In function 'merge_localized_numberG_format_field':
    vcfmerge.c:1777:9: warning: unknown conversion type character 'z' in format [-Wformat=]
             if ( !warned ) fprintf(stderr,"Warning: The row size is too big for FORMAT/%s at 
    %s:%"PRId64", requires %zu bytes, skipping.\n", key,bcf_seqname(args->out_hdr,out),(int64_t) out- 
    >pos+1,msize);
             ^
    vcfmerge.c:1777:9: warning: too many arguments for format [-Wformat-extra-args]
    vcfmerge.c:1784:9: warning: unknown conversion type character 'z' in format [-Wformat=]
             if ( !ma->tmp_arr ) error("Failed to allocate %zu bytes at %s:%"PRId64" for FORMAT/%s\n", 
    msize,bcf_seqname(args->out_hdr,out),(int64_t) out->pos+1,key);
             ^
    vcfmerge.c:1784:9: warning: format '%s' expects argument of type 'char *', but argument 2 has type 
    'size_t' [-Wformat=]
    vcfmerge.c:1784:9: warning: format '%I64d' expects argument of type 'long long int', but argument 3 
    has type 'const char *' [-Wformat=]
    vcfmerge.c:1784:9: warning: format '%s' expects argument of type 'char *', but argument 4 has type 
    'hts_pos_t' [-Wformat=]
    vcfmerge.c:1784:9: warning: too many arguments for format [-Wformat-extra-args]
    vcfmerge.c: In function 'merge_localized_numberAR_format_field':
    vcfmerge.c:1878:9: warning: unknown conversion type character 'z' in format [-Wformat=]
             if ( !warned ) fprintf(stderr,"Warning: The row size is too big for FORMAT/%s at 
    %s:%"PRId64", requires %zu bytes, skipping.\n", key,bcf_seqname(args->out_hdr,out),(int64_t) out- 
    >pos+1,msize);
             ^
    vcfmerge.c:1878:9: warning: too many arguments for format [-Wformat-extra-args]
    vcfmerge.c:1885:9: warning: unknown conversion type character 'z' in format [-Wformat=]
             if ( !ma->tmp_arr ) error("Failed to allocate %zu bytes at %s:%"PRId64" for FORMAT/%s\n", 
    msize,bcf_seqname(args->out_hdr,out),(int64_t) out->pos+1,key);
             ^
    vcfmerge.c:1885:9: warning: format '%s' expects argument of type 'char *', but argument 2 has type 
    'size_t' [-Wformat=]
    vcfmerge.c:1885:9: warning: format '%I64d' expects argument of type 'long long int', but argument 3 
    has type 'const char *' [-Wformat=]
    vcfmerge.c:1885:9: warning: format '%s' expects argument of type 'char *', but argument 4 has type 
    'hts_pos_t' [-Wformat=]
    vcfmerge.c:1885:9: warning: too many arguments for format [-Wformat-extra-args]
    vcfmerge.c: In function 'merge_format_field':
    vcfmerge.c:2015:9: warning: unknown conversion type character 'z' in format [-Wformat=]
             if ( !warned ) fprintf(stderr,"Warning: The row size is too big for FORMAT/%s at 
    %s:%"PRId64", requires %zu bytes, skipping.\n", key,bcf_seqname(out_hdr,out),(int64_t) out- 
    >pos+1,msize);
             ^
    vcfmerge.c:2015:9: warning: too many arguments for format [-Wformat-extra-args]
    vcfmerge.c:2022:9: warning: unknown conversion type character 'z' in format [-Wformat=]
             if ( !ma->tmp_arr ) error("Failed to allocate %zu bytes at %s:%"PRId64" for FORMAT/%s\n", 
    msize,bcf_seqname(args->out_hdr,out),(int64_t) out->pos+1,key);
             ^
    vcfmerge.c:2022:9: warning: format '%s' expects argument of type 'char *', but argument 2 has type 
    'size_t' [-Wformat=]
    vcfmerge.c:2022:9: warning: format '%I64d' expects argument of type 'long long int', but argument 3 
    has type 'const char *' [-Wformat=]
    vcfmerge.c:2022:9: warning: format '%s' expects argument of type 'char *', but argument 4 has type 
    'hts_pos_t' [-Wformat=]
    vcfmerge.c:2022:9: warning: too many arguments for format [-Wformat-extra-args]
    gcc -g -Wall -O2 -I. -I../htslib   -c -o vcfquery.o vcfquery.c
    gcc -g -Wall -O2 -I. -I../htslib   -c -o vcffilter.o vcffilter.c
    gcc -g -Wall -O2 -I. -I../htslib    -c -o filter.o filter.c
    filter.c:36:19: fatal error: regex.h: No such file or directory
     #include <regex.h>
                       ^
    compilation terminated.
    make: *** [Makefile:259: filter.o] Error 1
    
    C:\Users\Admin\bcftools>make
    echo“#定义BCFTOOLS_版本”1.10.2-122-gf09bac3-dirty“>VERSION.h
    gcc-g-Wall-O2-I-I../htslib-c-o main.o main.c
    gcc-g-Wall-O2-I-I../htslib-c-o vcfindex.o vcfindex.c
    gcc-g-Wall-O2-I-I../htslib-c-o tabix.o tabix.c
    gcc-g-Wall-O2-I-I../htslib-c-o vcfstats.o vcfstats.c
    gcc-g-Wall-O2-I-I../htslib-c-o vcfisec.o vcfisec.c
    gcc-g-Wall-O2-I-I../htslib-c-o vcfmerge.o vcfmerge.c
    vcfmerge.c:在函数“merge\u GT”中:
    vcfmerge.c:1565:9:警告:格式为[-Wformat=]的转换类型字符“z”未知
    如果(!warned)fprintf(stderr),则“警告:在%s:%”“PRId64”处的基因型过多,需要%zu
    字节,跳过。\n“,bcf_seqname(out_hdr,out),(int64_t)out->pos+1,msize);
    ^
    vcfmerge.c:1565:9:警告:格式[-Wformat extra args]的参数太多
    vcfmerge.c:1572:9:警告:格式为[-Wformat=]的转换类型字符“z”未知
    如果(!ma->tmp_arr)错误(“无法分配%zu字节,\n”,msize);
    ^
    vcfmerge.c:1572:9:警告:格式[-Wformat extra args]的参数太多
    vcfmerge.c:在函数“merge\u format\u string”中:
    vcfmerge.c:1743:9:警告:格式为[-Wformat=]的转换类型字符“z”未知
    如果(!warned)fprintf(stderr),则“警告:行大小太大,无法在
    %s:%“PRId64”,需要%zu字节,正在跳过。\n“,键,bcf_seqname(out_hdr,out),(int64_t)out-
    >pos+1,msize);
    ^
    vcfmerge.c:1743:9:警告:格式[-Wformat extra args]的参数太多
    vcfmerge.c:1750:9:警告:格式为[-Wformat=]的转换类型字符“z”未知
    如果(!ma->tmp_arr)错误(“无法分配%zu字节,\n”,msize);
    ^
    vcfmerge.c:1750:9:警告:格式[-Wformat extra args]的参数太多
    vcfmerge.c:在函数“merge\u localized\u numberG\u format\u field”中:
    vcfmerge.c:1777:9:警告:格式为[-Wformat=]的转换类型字符“z”未知
    如果(!warned)fprintf(stderr),则“警告:行大小太大,无法在
    %s:%“PRId64”,需要%zu字节,正在跳过。\n”,键,bcf_seqname(args->out_hdr,out),(int64_t)out-
    >pos+1,msize);
    ^
    vcfmerge.c:1777:9:警告:格式[-Wformat extra args]的参数太多
    vcfmerge.c:1784:9:警告:格式为[-Wformat=]的转换类型字符“z”未知
    如果(!ma->tmp_arr)错误(“未能在%s:%为格式分配%zu字节:%“PRId64”/%s\n”,
    msize,bcf_seqname(args->out_hdr,out),(int64_t)out->pos+1,键);
    ^
    vcfmerge.c:1784:9:警告:格式“%s”要求参数的类型为“char*”,但参数2的类型为
    'size\u t'[-Wformat=]
    vcfmerge.c:1784:9:警告:格式“%I64d”要求参数类型为“long long int”,但参数类型为3
    具有类型“const char*”[-Wformat=]
    vcfmerge.c:1784:9:警告:格式“%s”要求参数的类型为“char*”,但参数4的类型为
    'hts_pos_t'[-Wformat=]
    vcfmerge.c:1784:9:警告:格式[-Wformat extra args]的参数太多
    vcfmerge.c:在函数“merge\u localized\u numberrar\u format\u field”中:
    vcfmerge.c:1878:9:警告:格式为[-Wformat=]的转换类型字符“z”未知
    如果(!warned)fprintf(stderr),则“警告:行大小太大,无法在
    %s:%“PRId64”,需要%zu字节,正在跳过。\n”,键,bcf_seqname(args->out_hdr,out),(int64_t)out-
    >pos+1,msize);
    ^
    vcfmerge.c:1878:9:警告:格式[-Wformat extra args]的参数太多
    vcfmerge.c:1885:9:警告:格式为[-Wformat=]的转换类型字符“z”未知
    如果(!ma->tmp_arr)错误(“未能在%s:%为格式分配%zu字节:%“PRId64”/%s\n”,
    msize,bcf_seqname(args->out_hdr,out),(int64_t)out->pos+1,键);
    ^
    vcfmerge.c:1885:9:警告:格式“%s”要求参数的类型为“char*”,但参数2的类型为
    'size\u t'[-Wformat=]
    vcfmerge.c:1885:9:警告:格式“%I64d”要求参数类型为“long long int”,但参数类型为3
    具有类型“const char*”[-Wformat=]
    vcfmerge.c:1885:9:警告:格式“%s”要求参数的类型为“char*”,但参数4的类型为
    'hts_pos_t'[-Wformat=]
    vcfmerge.c:1885:9:警告:格式[-Wformat extra args]的参数太多
    vcfmerge.c:在函数“merge\u format\u field”中:
    vcfmerge.c:2015:9:警告:格式为[-Wformat=]的转换类型字符“z”未知
    如果(!warned)fprintf(stderr),则“警告:行大小太大,无法在
    %s:%“PRId64”,需要%zu字节,正在跳过。\n“,键,bcf_seqname(out_hdr,out),(int64_t)out-
    >pos+1,msize);
    ^
    vcfmerge.c:2015:9:警告:格式[-Wformat extra args]的参数太多
    vcfmerge.c:2022:9:警告:格式为[-Wformat=]的转换类型字符“z”未知
    如果(!ma->tmp_arr)错误(“未能在%s:%为格式分配%zu字节:%“PRId64”/%s\n”,
    msize,bcf_seqname(args->out_hdr,out),(int64_t)out->pos+1,键);
    ^
    vcfmerge.c:2022:9:警告:格式“%s”要求参数的类型为“char*”,但参数2的类型为
    'size\u t'[-Wformat=]
    vcfmerge.c:2022:9:警告:格式“%I64d”要求参数类型为“long long int”,但参数类型为3
    具有类型“const char*”[-Wformat=]
    vcfmerge.c:2022:9:警告:格式“%s”要求参数的类型为“char*”,但参数4的类型为
    'hts_pos_t'[-Wformat=]
    vcfmerge.c:2022:9:警告:格式[-Wformat extra args]的参数太多
    gcc-g-Wall-O2-I-I../htslib-c-o vcfquery.o vcfquery.c
    gcc-g-Wall-O2-I-I../htslib-c-o vcffilter.o vcffilter.c
    gcc-g-Wall-O2-I-I../htslib-c-o过滤器.o过滤器.c
    filter.c:36:19:致命错误:regex.h:没有这样的文件或目录
    #包括
    ^
    汇编程序