免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 8759 | 回复: 5
打印 上一主题 下一主题

求conflicting types for `inet_aton'解决方案 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-12-29 10:56 |只看该作者 |倒序浏览
我在make的时候出现以下的问题,请问哪位大虾帮忙解决,不胜感激
Making all in lib
make[1]: Entering directory `/root/zebra-0.93b/lib'
gcc -DPACKAGE=\"zebra\" -DVERSION=\"0.93\" -DSTDC_HEADERS=1 -DHAVE_SYS_WAIT_H=1 -DHAVE_FCNTL_H=1 -DHAVE_LIMITS_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_IOCTL_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_SYSLOG_H=1 -DHAVE_UNISTD_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1 -DHAVE_STRFTIME=1 -DHAVE_VPRINTF=1 -DHAVE_GETCWD=1 -DHAVE_GETTIMEOFDAY=1 -DHAVE_MKTIME=1 -DHAVE_RE_COMP=1 -DHAVE_REGCOMP=1 -DHAVE_SELECT=1 -DHAVE_SOCKET=1 -DHAVE_STRDUP=1 -DHAVE_STRERROR=1 -DHAVE_STRSPN=1 -DHAVE_STRSTR=1 -DHAVE_STRTOL=1 -DHAVE_STRTOUL=1 -DHAVE_UNAME=1  -DSYSCONFDIR=\"/usr/local/etc/\" -I.. -I.. -I../lib    -g -O2 -c vty.c
In file included from vty.c:29:
sockunion.h:125: conflicting types for `inet_aton'
/usr/include/arpa/inet.h:74: previous declaration of `inet_aton'
make[1]: *** [vty.o] Error 1
make[1]: Leaving directory `/root/zebra-0.93b/lib'
make: *** [all-recursive] Error 1
[root@cx zebra-0.93b]# make
Making all in lib
make[1]: Entering directory `/root/zebra-0.93b/lib'
gcc -DPACKAGE=\"zebra\" -DVERSION=\"0.93\" -DSTDC_HEADERS=1 -DHAVE_SYS_WAIT_H=1 -DHAVE_FCNTL_H=1 -DHAVE_LIMITS_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_IOCTL_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_SYSLOG_H=1 -DHAVE_UNISTD_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1 -DHAVE_STRFTIME=1 -DHAVE_VPRINTF=1 -DHAVE_GETCWD=1 -DHAVE_GETTIMEOFDAY=1 -DHAVE_MKTIME=1 -DHAVE_RE_COMP=1 -DHAVE_REGCOMP=1 -DHAVE_SELECT=1 -DHAVE_SOCKET=1 -DHAVE_STRDUP=1 -DHAVE_STRERROR=1 -DHAVE_STRSPN=1 -DHAVE_STRSTR=1 -DHAVE_STRTOL=1 -DHAVE_STRTOUL=1 -DHAVE_UNAME=1  -DSYSCONFDIR=\"/usr/local/etc/\" -I.. -I.. -I../lib    -g -O2 -c vty.c
In file included from vty.c:29:
sockunion.h:129: conflicting types for `inet_aton'
/usr/include/arpa/inet.h:74: previous declaration of `inet_aton'
make[1]: *** [vty.o] Error 1
make[1]: Leaving directory `/root/zebra-0.93b/lib'
make: *** [all-recursive] Error 1

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
2 [报告]
发表于 2003-12-29 10:59 |只看该作者

求conflicting types for `inet_aton'解决方案

sockunion.h这个头文件里面是不是你又声明了inet_aton()函数原型,
把它注释掉试试。

论坛徽章:
0
3 [报告]
发表于 2003-12-29 11:14 |只看该作者

求conflicting types for `inet_aton'解决方案

现在出现一下问题
Making all in lib
make[1]: Entering directory `/root/zebra-0.93b/lib'
gcc -DPACKAGE=\"zebra\" -DVERSION=\"0.93\" -DSTDC_HEADERS=1 -DHAVE_SYS_WAIT_H=1 -DHAVE_FCNTL_H=1 -DHAVE_LIMITS_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_IOCTL_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_SYSLOG_H=1 -DHAVE_UNISTD_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1 -DHAVE_STRFTIME=1 -DHAVE_VPRINTF=1 -DHAVE_GETCWD=1 -DHAVE_GETTIMEOFDAY=1 -DHAVE_MKTIME=1 -DHAVE_RE_COMP=1 -DHAVE_REGCOMP=1 -DHAVE_SELECT=1 -DHAVE_SOCKET=1 -DHAVE_STRDUP=1 -DHAVE_STRERROR=1 -DHAVE_STRSPN=1 -DHAVE_STRSTR=1 -DHAVE_STRTOL=1 -DHAVE_STRTOUL=1 -DHAVE_UNAME=1  -DSYSCONFDIR=\"/usr/local/etc/\" -I.. -I.. -I../lib    -g -O2 -c sockunion.c
sockunion.c:34: conflicting types for `inet_aton'
/usr/include/arpa/inet.h:74: previous declaration of `inet_aton'
make[1]: *** [sockunion.o] Error 1
make[1]: Leaving directory `/root/zebra-0.93b/lib'
make: *** [all-recursive] Error 1
[root@cx zebra-0.93b]# make
Making all in lib
make[1]: Entering directory `/root/zebra-0.93b/lib'
gcc -DPACKAGE=\"zebra\" -DVERSION=\"0.93\" -DSTDC_HEADERS=1 -DHAVE_SYS_WAIT_H=1 -DHAVE_FCNTL_H=1 -DHAVE_LIMITS_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_IOCTL_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_SYSLOG_H=1 -DHAVE_UNISTD_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1 -DHAVE_STRFTIME=1 -DHAVE_VPRINTF=1 -DHAVE_GETCWD=1 -DHAVE_GETTIMEOFDAY=1 -DHAVE_MKTIME=1 -DHAVE_RE_COMP=1 -DHAVE_REGCOMP=1 -DHAVE_SELECT=1 -DHAVE_SOCKET=1 -DHAVE_STRDUP=1 -DHAVE_STRERROR=1 -DHAVE_STRSPN=1 -DHAVE_STRSTR=1 -DHAVE_STRTOL=1 -DHAVE_STRTOUL=1 -DHAVE_UNAME=1  -DSYSCONFDIR=\"/usr/local/etc/\" -I.. -I.. -I../lib    -g -O2 -c sockunion.c
sockunion.c:34: conflicting types for `inet_aton'
/usr/include/arpa/inet.h:74: previous declaration of `inet_aton'
make[1]: *** [sockunion.o] Error 1
make[1]: Leaving directory `/root/zebra-0.93b/lib'
make: *** [all-recursive] Error 1

论坛徽章:
0
4 [报告]
发表于 2003-12-29 11:16 |只看该作者

求conflicting types for `inet_aton'解决方案

在函数中sockunion.c有
#ifndef HAVE_INET_ATON
int
inet_aton (const char *cp, struct in_addr *inaddr)
{
  int dots = 0;
  register u_long addr = 0;
  register u_long val = 0, base = 10;

  do
    {
      register char c = *cp;

      switch (c)
        {
        case '0': case '1': case '2': case '3': case '4': case '5':
        case '6': case '7': case '8': case '9':
          val = (val * base) + (c - '0');
          break;
        case '.':
          if (++dots >; 3)
            return 0;
        case '\0':
          if (val >; 255)
            return 0;
          addr = addr << 8 | val;
          val = 0;
          break;
        default:
          return 0;
        }
    } while (*cp++) ;

  if (dots < 3)
    addr <<= 8 * (3 - dots);
  if (inaddr)
    inaddr->;s_addr = htonl (addr);
  return 1;
}
#endif /* ! HAVE_INET_ATON */

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
5 [报告]
发表于 2003-12-29 11:23 |只看该作者

求conflicting types for `inet_aton'解决方案

那你在sockunion.h里加一句
#define HAVE_INET_ATON
不太清楚你想做什么?既然系统已经有了,
你想自己实现一个吗?

论坛徽章:
0
6 [报告]
发表于 2003-12-29 12:16 |只看该作者

求conflicting types for `inet_aton'解决方案

对,大概就是这个意思.这个不是我编的程序.以前用make是好使的.我现在重新用autoscan,aclocal,autoconf,automake,./configure后就出现了上面的错误,所以我感觉很奇怪,想求助大虾找到相应的解决方法.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP