Compiler errors bcftools make失败,在win10中出现多个vcfmerge错误
我想编译最新的github bcftools,但下面有这些错误 [安装说明]提到: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
git clone git://github.com/samtools/htslib.git
git clone git://github.com/samtools/bcftools.git
cd bcftools
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:没有这样的文件或目录
#包括
^
汇编程序