ngx_http_ipdb_module icon indicating copy to clipboard operation
ngx_http_ipdb_module copied to clipboard

alpinelinux环境下编译出错

Open sanqi opened this issue 5 years ago • 2 comments

提示错误 ./ngx_http_ipdb_module-master//ipdb/ipdb.c In file included from ./ngx_http_ipdb_module-master//ipdb/ipdb.c:9: ./ngx_http_ipdb_module-master//ipdb/ipdb.h:60:44: error: unknown type name 'u_char' int ipdb_search(ipdb_reader *reader, const u_char *ip, int bit_count, int *node); ^~~~~~ ./ngx_http_ipdb_module-master//ipdb/ipdb.c:184:44: error: unknown type name 'u_char' int ipdb_search(ipdb_reader *reader, const u_char *ip, int bit_count, int *node) { ^~~~~~ ./ngx_http_ipdb_module-master//ipdb/ipdb.c: In function 'ipdb_find0': ./ngx_http_ipdb_module-master//ipdb/ipdb.c:219:42: error: unknown type name 'u_char' err = ipdb_search(reader, (const u_char *) &addr4.s_addr, 32, &node); ^~~~~~ ./ngx_http_ipdb_module-master//ipdb/ipdb.c:227:42: error: unknown type name 'u_char' err = ipdb_search(reader, (const u_char *) &addr6.s6_addr, 128, &node); ^~~~~~ make[1]: *** [objs/Makefile:1212: objs/addon/ipdb/ipdb.o] Error 1 make[1]: Leaving directory '/tmp/nginx-1.17.4' make: *** [Makefile:8: build] Error 2

在 ipdb.h里加上 typedef unsigned char u_char; 才能编译通过

sanqi avatar Oct 18 '19 11:10 sanqi

在 ipdb.h里加上 typedef unsigned char u_char; 编译也不能过

不知道还能不能得到作者的更新

xiaoyawl avatar Dec 24 '20 06:12 xiaoyawl

@xiaoyawl 在 ipdb.h 加的位置是在 ipdb_reader; int ipdb_reader_new(const char *file, ipdb_reader **reader); 之间,试了可以编译,你可以再试试,确保 alpine 装了 json-c-dev,修改后大概是这样:

typedef struct ipdb_reader {
    ipdb_meta_data *meta;
    int v4offset;
    int file_size;
    int data_size;
    unsigned char *data;
} ipdb_reader;

typedef unsigned char u_char;

int ipdb_reader_new(const char *file, ipdb_reader **reader);

peytonyip avatar Jan 15 '21 15:01 peytonyip