1.问题现象
解压缩zebra-0.95a压缩包,编译,出现问题:
./configure
make
后出现:
rtadv.c: In function ‘rtadv_recv_packet’:
rtadv.c:123: error: dereferencing pointer to incomplete type
rtadv.c:124: error: dereferencing pointer to incomplete type
rtadv.c:124: error: dereferencing pointer to incomplete type
rtadv.c:130: warning: dereferencing type-punned pointer will break strict-aliasing rules
rtadv.c: In function ‘rtadv_send_packet’:
rtadv.c:149: error: invalid application of ‘sizeof’ to incomplete type ‘struct in6_pktinfo’
rtadv.c:194: warning: operation on ‘node’ may be undefined
rtadv.c:268: error: dereferencing pointer to incomplete type
rtadv.c:269: error: dereferencing pointer
2.解决
打开zebra-0.95a/lib/zebra.h文件,
定位到103行,添加如下内容,即可解决。
#ifdef GNU_LINUX
#define __USE_GNU
#endif
=========================
#ifdef HAVE_SYS_SOCKIO_H
#include <sys/sockio.h>
#endif /* HAVE_SYS_SOCKIO_H */
/** Added ***/
#ifdef GNU_LINUX
#define __USE_GNU
#endif
/** end added **/
#ifdef HAVE_NETINET_IN_H
#include <netinet/in.h>
#endif /* HAVE_NETINET_IN_H */
#include <netinet/in_systm.h>
#include <netinet/ip.h>
#include <netinet/tcp.h>
分享到:
相关推荐
本文将详细介绍如何在Linux环境下,利用`zebra-0.95a.tar.gz`压缩包进行Zebra的一键安装。 首先,我们需要了解Zebra的基本概念。Zebra是基于Quagga项目的分支,由Cisco开发和维护,其主要功能是提供路由器服务,...
总而言之,Zebra 0.95a作为一款开源的网络路由软件,它在当时的网络环境中扮演了重要角色,提供了一套全面的路由解决方案。如今,虽然新的路由软件不断涌现,但Zebra的影响力依然不可忽视,其在技术历史上的地位不容...
在使用Zebra 0.95a时,首先需要在Linux环境下编译和安装。安装过程包括获取源码、解压、配置、编译和安装。对于初学者,这个过程可能会有些复杂,但通过查阅文档和社区资源,可以逐步掌握。安装完成后,通过CLI启动...
对于给定的文件名"zebra-0.95a",这可能是Zebra的一个特定版本,可能需要通过历史版本检索来获取。 二、源码结构与构建 下载完成后,解压源码包,你会看到一个典型的开源项目结构,包括src目录(存放源代码)、lib...
使用Zebra在Linux上构建路由器是一项结合了理论与实践的复杂任务,但借助其丰富的功能集和模块化设计,网络工程师可以构建出高度定制化的路由解决方案。从安装到配置,再到实际应用,每一步都需细致考虑网络环境的...
本文详细介绍了如何在Ubuntu环境下编译、安装和配置Zebra开源路由软件。通过上述步骤,不仅可以搭建起一个基础的路由平台,还可以在此基础上进行更深入的研究和开发工作。Zebra不仅适用于教学和实验环境,对于希望...
0.95a是Zebra的一个特定版本,可能在这个版本中修复了某些已知问题或增加了新特性。 在给定的文件列表中,`quagga_1.2.4.orig.tar.gz`是Quagga源代码的原始版本,用户可以通过解压并编译来安装和使用。`zebra-0.95a...
在文中提到的是使用GNU Zebra 0.95,这是一款路由软件,可用于配置和管理Linux系统的路由功能。通过Zebra,可以将Linux工作站转变为IPv6路由器,实现路由表的动态管理和更新。 【IPv6路由器的配置】 在Linux上配置...