moowee 大佬有话说 :
mtr 增加IP解析功能,centos 编译总是报错
https://github.com/bilibili/mtr
git clone https://github.com/bilibili/mtr.git
yum install -y automake ncurses-devel json-c-devel libasan
cd mtr && rm -rf ipdb-c && git clone https://github.com/ipipdotnet/ipdb-c.git
./bootstrap.sh
./configure –without-gtk –disable-ipv6 –with-ipdotnet
make
到这报错:
make: 进入目录“/root/mtr”
CC ui/mtr-mtr.o
CC ui/mtr-net.o
CC ui/mtr-cmdpipe.o
CC ui/mtr-dns.o
CC ui/mtr-raw.o
CC ui/mtr-split.o
CC ui/mtr-display.o
CC ui/mtr-report.o
CC ui/mtr-select.o
CC ui/mtr-utils.o
CC ui/mtr-asn.o
CC ui/mtr-curses.o
ui/curses.c: 在函数‘mtr_curses_hosts’中:
ui/curses.c:474:49: 警告:未使用的变量‘itype’ [-Wunused-variable]
int icountry,iprovince,icity,idistrict,iisp,itype,idesc;
^
ui/curses.c:474:34: 警告:未使用的变量‘idistrict’ [-Wunused-variable]
int icountry,iprovince,icity,idistrict,iisp,itype,idesc;
^
ui/curses.c:473:51: 警告:未使用的变量‘type’ [-Wunused-variable]
char *country,*province,*city,*district,*isp,*type,*desc;
^
ui/curses.c:473:36: 警告:未使用的变量‘district’ [-Wunused-variable]
char *country,*province,*city,*district,*isp,*type,*desc;
^
ui/curses.c: 在函数‘mtr_curses_redraw’中:
ui/curses.c:581:31: 警告:此函数中的‘idesc’在使用前可能未初始化 [-Wmaybe-uninitialized]
if (idesc > 0 && desc) {
^
ui/curses.c:474:55: 附注:‘idesc’在此声明
int icountry,iprovince,icity,idistrict,iisp,itype,idesc;
^
ui/curses.c:577:30: 警告:此函数中的‘iisp’在使用前可能未初始化 [-Wmaybe-uninitialized]
if (iisp > 0 && isp) {
^
ui/curses.c:474:44: 附注:‘iisp’在此声明
int icountry,iprovince,icity,idistrict,iisp,itype,idesc;
^
ui/curses.c:568:35: 警告:此函数中的‘icity’在使用前可能未初始化 [-Wmaybe-uninitialized]
if (icity > 0 && city && (iprovince != icity || strncmp(province, city, icity) != 0)) {
^
ui/curses.c:474:28: 附注:‘icity’在此声明
int icountry,iprovince,icity,idistrict,iisp,itype,idesc;
^
ui/curses.c:561:39: 警告:此函数中的‘iprovince’在使用前可能未初始化 [-Wmaybe-uninitialized]
if (iprovince > 0 && province) {
^
ui/curses.c:474:18: 附注:‘iprovince’在此声明
int icountry,iprovince,icity,idistrict,iisp,itype,idesc;
^
ui/curses.c:550:51: 警告:此函数中的‘icountry’在使用前可能未初始化 [-Wmaybe-uninitialized]
biliip_last += sprintf(biliip_last, "%.*s", icountry, country);
^
ui/curses.c:474:9: 附注:‘icountry’在此声明
int icountry,iprovince,icity,idistrict,iisp,itype,idesc;
^
ui/curses.c:581:35: 警告:此函数中的‘desc’在使用前可能未初始化 [-Wmaybe-uninitialized]
if (idesc > 0 && desc) {
^
ui/curses.c:473:57: 附注:‘desc’在此声明
char *country,*province,*city,*district,*isp,*type,*desc;
^
ui/curses.c:577:34: 警告:此函数中的‘isp’在使用前可能未初始化 [-Wmaybe-uninitialized]
if (iisp > 0 && isp) {
^
ui/curses.c:473:46: 附注:‘isp’在此声明
char *country,*province,*city,*district,*isp,*type,*desc;
^
ui/curses.c:568:39: 警告:此函数中的‘city’在使用前可能未初始化 [-Wmaybe-uninitialized]
if (icity > 0 && city && (iprovince != icity || strncmp(province, city, icity) != 0)) {
^
ui/curses.c:473:30: 附注:‘city’在此声明
char *country,*province,*city,*district,*isp,*type,*desc;
^
ui/curses.c:561:43: 警告:此函数中的‘province’在使用前可能未初始化 [-Wmaybe-uninitialized]
if (iprovince > 0 && province) {
^
ui/curses.c:473:20: 附注:‘province’在此声明
char *country,*province,*city,*district,*isp,*type,*desc;
^
ui/curses.c:550:51: 警告:此函数中的‘country’在使用前可能未初始化 [-Wmaybe-uninitialized]
biliip_last += sprintf(biliip_last, "%.*s", icountry, country);
^
ui/curses.c:473:11: 附注:‘country’在此声明
char *country,*province,*city,*district,*isp,*type,*desc;
^
CC ipdb-c/mtr-ipdb.o
ipdb-c/ipdb.c: 在函数‘parse_meta_data’中:
ipdb-c/ipdb.c:40:5: 错误:只允许在 C99 模式下使用‘for’循环初始化声明
for (int i = 0; i < meta_data->fields_length; ++i) {
^
ipdb-c/ipdb.c:40:5: 附注:使用 -std=c99 或 -std=gnu99 来编译您的代码
ipdb-c/ipdb.c:50:14: 错误:‘i’重定义
for (int i = 0; i < meta_data->language_length; ++i) {
^
ipdb-c/ipdb.c:40:14: 附注:‘i’的上一个定义在此
for (int i = 0; i < meta_data->fields_length; ++i) {
^
ipdb-c/ipdb.c:50:5: 错误:只允许在 C99 模式下使用‘for’循环初始化声明
for (int i = 0; i < meta_data->language_length; ++i) {
^
ipdb-c/ipdb.c: 在函数‘ipdb_reader_new’中:
ipdb-c/ipdb.c:101:5: 错误:只允许在 C99 模式下使用‘for’循环初始化声明
for (int i = 0; i < 96 && node < rd->meta->node_count; ++i) {
^
ipdb-c/ipdb.c: 在函数‘ipdb_reader_free’中:
ipdb-c/ipdb.c:117:9: 错误:只允许在 C99 模式下使用‘for’循环初始化声明
for (int i = 0; i < meta_data->fields_length; ++i) {
^
ipdb-c/ipdb.c: 在函数‘ipdb_search’中:
ipdb-c/ipdb.c:164:5: 错误:只允许在 C99 模式下使用‘for’循环初始化声明
for (int i = 0; i < bit_count; ++i) {
^
ipdb-c/ipdb.c: 在函数‘ipdb_find1’中:
ipdb-c/ipdb.c:210:5: 错误:只允许在 C99 模式下使用‘for’循环初始化声明
for (int i = 0; i < reader->meta->language_length; ++i) {
^
make: *** 错误 1
make: 离开目录“/root/mtr”
make: *** 错误 2
这么好的工具,谁能解决下~
h20 大佬有话说 :
gcc版本太低(换句话,别用centos)
嗷嗷 大佬有话说 :
ip解析功能是啥
moowee 大佬有话说 :
嗷嗷 大佬有话说 : 2020-6-6 22:59
ip解析功能是啥
https://camo.githubusercontent.com/7311205b47aaffc64cace110043f80df53471241/687474703a2f2f7777312e73696e61696d672e636e2f6c617267652f3634626237366239677731657630316f79756c34356a3230706430623434316f2e6a7067
炮姐的安全裤 大佬有话说 :
bilibili有、意思
iks 大佬有话说 :
好多年前的吧
moowee 大佬有话说 :
本帖最后由 moowee 于 2020-6-6 23:19 编辑
iks 大佬有话说 : 2020-6-6 23:13
好多年前的吧
Commits on Apr 3, 2020
support for ipdb-c
MagicBear
MagicBear committed on 3 Apr
现在经常在更新,支持ipip.net解析
iks 大佬有话说 :
moowee 大佬有话说 : 2020-6-6 23:16
Commits on Apr 3, 2020
support for ipdb-c
接入 ipip.net 就很香yc007t