|
|
发表于 2020-6-6 23:13:00
|
显示全部楼层
h20 发表于 2020-6-6 23:01
gcc版本太低 (换句话,别用centos)
gcc升级到gcc (GCC) 8.3.1 20190311 (Red Hat 8.3.1-3)
还是报错,报的少了一些
make all-am
make[1]: 进入目录“/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: In function ‘mtr_curses_hosts’:
ui/curses.c:474:49: warning: unused variable ‘itype’ [-Wunused-variable]
int icountry,iprovince,icity,idistrict,iisp,itype,idesc;
^~~~~
ui/curses.c:474:34: warning: unused variable ‘idistrict’ [-Wunused-variable]
int icountry,iprovince,icity,idistrict,iisp,itype,idesc;
^~~~~~~~~
ui/curses.c:473:51: warning: unused variable ‘type’ [-Wunused-variable]
char *country,*province,*city,*district,*isp,*type,*desc;
^~~~
ui/curses.c:473:36: warning: unused variable ‘district’ [-Wunused-variable]
char *country,*province,*city,*district,*isp,*type,*desc;
^~~~~~~~
ui/curses.c: In function ‘mtr_curses_redraw’:
ui/curses.c:581:31: warning: ‘idesc’ may be used uninitialized in this function [-Wmaybe-uninitialized]
if (idesc > 0 && desc) {
~~~~~~^~~
ui/curses.c:474:55: note: ‘idesc’ was declared here
int icountry,iprovince,icity,idistrict,iisp,itype,idesc;
^~~~~
ui/curses.c:577:30: warning: ‘iisp’ may be used uninitialized in this function [-Wmaybe-uninitialized]
if (iisp > 0 && isp) {
~~~~~^~~
ui/curses.c:474:44: note: ‘iisp’ was declared here
int icountry,iprovince,icity,idistrict,iisp,itype,idesc;
^~~~
ui/curses.c:568:35: warning: ‘icity’ may be used uninitialized in this function [-Wmaybe-uninitialized]
if (icity > 0 && city && (iprovince != icity || strncmp(province, city, icity) != 0)) {
~~~~~~^~~
ui/curses.c:474:28: note: ‘icity’ was declared here
int icountry,iprovince,icity,idistrict,iisp,itype,idesc;
^~~~~
ui/curses.c:568:47: warning: ‘iprovince’ may be used uninitialized in this function [-Wmaybe-uninitialized]
if (icity > 0 && city && (iprovince != icity || strncmp(province, city, icity) != 0)) {
~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ui/curses.c:474:18: note: ‘iprovince’ was declared here
int icountry,iprovince,icity,idistrict,iisp,itype,idesc;
^~~~~~~~~
ui/curses.c:549:38: warning: ‘icountry’ may be used uninitialized in this function [-Wmaybe-uninitialized]
if (icountry > 0 && country) {
~~~~~~~~~^~~
ui/curses.c:474:9: note: ‘icountry’ was declared here
int icountry,iprovince,icity,idistrict,iisp,itype,idesc;
^~~~~~~~
ui/curses.c:582:40: warning: ‘desc’ may be used uninitialized in this function [-Wmaybe-uninitialized]
biliip_last += sprintf(biliip_last, " %.*s", idesc, desc);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ui/curses.c:473:57: note: ‘desc’ was declared here
char *country,*province,*city,*district,*isp,*type,*desc;
^~~~
ui/curses.c:578:40: warning: ‘isp’ may be used uninitialized in this function [-Wmaybe-uninitialized]
biliip_last += sprintf(biliip_last, "%.*s", iisp, isp);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ui/curses.c:473:46: note: ‘isp’ was declared here
char *country,*province,*city,*district,*isp,*type,*desc;
^~~
ui/curses.c:569:44: warning: ‘city’ may be used uninitialized in this function [-Wmaybe-uninitialized]
biliip_last += sprintf(biliip_last, " %.*s", icity, city);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ui/curses.c:473:30: note: ‘city’ was declared here
char *country,*province,*city,*district,*isp,*type,*desc;
^~~~
ui/curses.c:562:44: warning: ‘province’ may be used uninitialized in this function [-Wmaybe-uninitialized]
biliip_last += sprintf(biliip_last, " %.*s", iprovince, province);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ui/curses.c:473:20: note: ‘province’ was declared here
char *country,*province,*city,*district,*isp,*type,*desc;
^~~~~~~~
ui/curses.c:550:44: warning: ‘country’ may be used uninitialized in this function [-Wmaybe-uninitialized]
biliip_last += sprintf(biliip_last, "%.*s", icountry, country);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ui/curses.c:473:11: note: ‘country’ was declared here
char *country,*province,*city,*district,*isp,*type,*desc;
^~~~~~~
CC ipdb-c/mtr-ipdb.o
CCLD mtr
CC packet/packet.o
CC packet/cmdparse.o
CC packet/command.o
CC packet/probe.o
CC packet/timeval.o
CC packet/sockaddr.o
CC packet/construct_unix.o
CC packet/deconstruct_unix.o
CC packet/probe_unix.o
CC packet/wait_unix.o
CCLD mtr-packet
GEN mtr.8
GEN mtr-packet.8
make[1]: 离开目录“/root/mtr”
貌似编译过了
但是加上-R 运行的时候,提示错误:
[root@localhost mtr]# mtr -R www.bilibili.com
段错误
[39388.734311] main[25198]: segfault at 0 ip 0000000000401915 sp 00007ffd70a9bcc0 error 4 in main[400000+3000]
[39835.200414] main[27970]: segfault at 0 ip 0000000000401915 sp 00007ffdafbf6750 error 4 in main[400000+3000]
[55348.319251] sctp: Hash tables configured (bind 256/256)
[55371.689261] mtr[1733]: segfault at 28 ip 00007f7851ac4640 sp 00007ffcec7267a8 error 4 in libjson-c.so.2.0.1[7f7851ac0000+a000]
[55394.770983] mtr[1739]: segfault at 28 ip 00007f9c54962640 sp 00007ffe25264be8 error 4 in libjson-c.so.2.0.1[7f9c5495e000+a000]
[55659.577827] mtr[6495]: segfault at 28 ip 00007fbb4ff99640 sp 00007ffe408cb938 error 4 in libjson-c.so.2.0.1[7fbb4ff95000+a000]
[85842.478179] mtr[27107]: segfault at 28 ip 00007fe3e06d3640 sp 00007ffcb351d138 error 4 in libjson-c.so.2.0.1[7fe3e06cf000+a000]
|
|