`
siwind
  • 浏览: 143791 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

路由软件 zebra-0.95a 在linux下面编译出现问题的解决

 
阅读更多
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>
分享到:
评论

相关推荐

    zebra-0.95a.tar.gz实现一键安装

    本文将详细介绍如何在Linux环境下,利用`zebra-0.95a.tar.gz`压缩包进行Zebra的一键安装。 首先,我们需要了解Zebra的基本概念。Zebra是基于Quagga项目的分支,由Cisco开发和维护,其主要功能是提供路由器服务,...

    zebra-0.95a

    在Zebra 0.95a的压缩包文件中,"zebra-0.95a.tar.gz.zip"可能包含源代码、编译脚本、文档、配置示例以及相关的开发工具。解压这个文件后,用户可以深入了解Zebra的内部工作原理,甚至对其进行二次开发,定制符合自己...

    zebra-0.95a.tar.gz

    在标题"zebra-0.95a.tar.gz"中,我们可以看出这是Zebra软件的一个版本,版本号为0.95a,且是以tar.gz格式打包的文件,这种格式是Linux系统常用的归档和压缩方式,便于分发和存储。通过解压这个文件,我们可以获取到...

    zebra-0.95a及安装使用手册

    在使用Zebra 0.95a时,首先需要在Linux环境下编译和安装。安装过程包括获取源码、解压、配置、编译和安装。对于初学者,这个过程可能会有些复杂,但通过查阅文档和社区资源,可以逐步掌握。安装完成后,通过CLI启动...

    zebra 源码下载

    zebra是一个经典的路由软件,是学习网络路由的的必备知识,同时也是优秀代码的典范,并且可以移植到ARM上,这里提供zebra 自发布以来的各个版本的源代码,最老的是zebra-0.91到最近的是zebra-0.95a,方便大家学习!

    zebra源码下载

    对于给定的文件名"zebra-0.95a",这可能是Zebra的一个特定版本,可能需要通过历史版本检索来获取。 二、源码结构与构建 下载完成后,解压源码包,你会看到一个典型的开源项目结构,包括src目录(存放源代码)、lib...

    zebra-0.94.tar.gz

    zebra-0.94 源码 zebra-0.94 源码 zebra-0.94 源码 zebra-0.94 源码

    zebra源码 0.90a-0.95a

    0.95a版本加强了这部分功能,提供了更完善的统计信息,帮助开发者实时了解连接池的状态,及时发现并解决问题。 8. **扩展性** Zebra的设计注重模块化和扩展性,使其可以轻松支持多种数据库驱动。从0.90a到0.95a,...

    用Zebra在Linux上构建路由器实战记录

    3. **配置与编译**:进入`zebra-0.95a`目录,执行`./configure`进行配置,之后通过`make`和`make install`完成编译和安装。 安装成功后,Zebra及其组件将位于`/usr/local/sbin`目录下,同时,配置样本文件存储在`/...

    用Zebra在Linux上构建路由器实战手册

    这将在当前目录下生成一个名为 `zebra-0.95a` 的子目录。接下来进入该目录执行安装步骤: ``` # cd zebra-0.95a # ./configure # make # make install ``` 成功安装后,Zebra 的可执行文件将被放置在 `/...

    zebra-vtysh简析

    简要介绍了zebra-vtysh的架构以及相关的命令实现

    zebra-quagga-linux-open-router-software

    "zebra-quagga-linux-open-router-software"这一项目,聚焦于开源的Zebra和Quagga路由器软件,它们在Linux操作系统中的集成和应用,为网络管理员提供了一种灵活、可定制且经济高效的解决方案。 Zebra是日本NTT实验...

    zebra的相关说明

    - **下载Zebra源码**:下载最新版本的Zebra源码包,如`zebra-0.95a.tar.gz`,这是目前使用较为广泛的版本之一。 - **解压源码包**:使用命令 `tar -xvf zebra-0.95a.tar.gz` 解压源码包。 ##### 2. 修改配置文件 - ...

    利用Zebra在Linux系统上实现动态路由.pdf

    "利用Zebra在Linux系统上实现动态路由" 本文主要介绍如何使用Zebra在Linux系统上实现动态路由。Zebra是一个基于GNU公共许可证的开源路由选择守护进程,它可以运行在Linux系统上,提供多种路由选择协议的支持,包括...

    zebra-browser-print-windows-v131445.exe

    斑马打印机,用于web打印时的,windows版本驱动

    zebra-0.94.tar.gz linux 动态路由源码 研究动态路由的必备良码 www.zmemb.com 交大志盟

    Zebra,一个在Linux操作系统上的开源动态路由软件,是网络管理员和研究者探索网络路由技术的重要工具。本文将围绕"zebra-0.94.tar.gz"这个压缩包,详细解析其内含的动态路由源码,为那些对网络路由机制感兴趣的读者...

    router(Quagga-zebra)

    `zebra-0.95a.tar.gz`是Zebra的源代码,同样需要编译安装。`zebra-0.95a.tar.gz.zip.rar`可能是Zebra源代码的一个备份或压缩格式的重复,可能包含额外的压缩方式以减小文件大小,但解压时需要注意选择正确的解压工具...

    zebra路由相关

    操作系统使用 RHEL5,需要安装 zebra-0.95b-1.i386.rpm 软件包。 三、路由器实战配置 1. 首先需要配置路由器的网络设置,分别配置两个网卡 eth0 和 eth1,网卡 eth0 的地址为 192.168.1.1,网卡 eth1 的地址为 192...

    zebra-0.94.rar

    Zebra是一种TCP/IP路由软件,它支持BGP-4、BGP-4+、OSPFv2、OSPFv3、RIPv1、RIPv2和RIPng。它符合GNU的GPL标准,可以运行在Linux和其它Unix变体系统上。Zebra是最先进的路由软件之一,最新版本可以从GNU Zebra Web...

    Zebra_Linux_Router.rar_Zebra_linux_linux USER_ZEBRA_zebra linux_

    Zebra Linux Router是一个基于Zebra协议栈的网络路由软件,它提供了全面的路由服务,包括静态路由、动态路由(如RIP, OSPF, BGP等)以及接口管理等功能。这个项目不仅适用于专业人士,也是学习网络路由技术的理想...

Global site tag (gtag.js) - Google Analytics