Quagga 移植

一 Quagga 编译的依赖包

  • libcares
  • libncurses
  • libreadline
    其中libreadline是需要libncurses支持的,如果没有ncurses,在编译quagga时会出现如下错误
     **/libreadline.so: undefined reference to `PC'
     **/libreadline.so: undefined reference to `tgetflag' 
     **/libreadline.so: undefined reference to `tgetent' 
     **/libreadline.so: undefined reference to `UP' 
     **/libreadline.so: undefined reference to `tputs' 
     **/libreadline.so: undefined reference to `tgoto' 
     **/libreadline.so: undefined reference to `tgetnum' 
     **/libreadline.so: undefined reference to `BC' 
     **/libreadline.so: undefined reference to `tgetstr' 
    

二 先交叉编译三个依赖包

  • libcares
    anzye@anzye:c-ares-1.15.0$ ./configure --host=arm-linux --prefix=/opt/arm_lib
    anzye@anzye:c-ares-1.15.0$ make && make install
    
  • libncurses
    anzye@anzye:ncurses-6.1$ ./configure --host=arm-linux  --prefix=/opt/arm_lib --with-shared
    anzye@anzye:ncurses-6.1$ make && make install
    
  • libreadline
    说明:如果是readline-6.3版 ,配置时要加上bash_cv_wcwidth_broken=yes一项,或注释掉configure中的对应报错项,否则报错。如下
    anzye@anzye:readline-6.3$ ./configure --host=arm-linux --prefix=/opt/arm_lib
    *** ***
    checking for wcwidth broken with unicode combining characters... 
    configure: error: in `/.../readline-6.3': configure: error: cannot run test program while cross compiling
    anzye@anzye:readline-6.3$ ./configure --host=arm-linux --prefix=/opt/arm_lib bash_cv_wcwidth_broken=yes
    anzye@anzye:readline-6.3$ make && make install
    
    or
    anzye@anzye:readline-7.0$ ./configure --host=arm-linux --prefix=/opt/arm_lib
    anzye@anzye:readline-7.0$ make && make install
    

三 编译Quagga

anzye@anzye:quagga-1.2.4$./configure \
	--prefix=`pwd`/install \
	--host=arm-linux \
	--disable-doc \
	--enable-static=no \
	--enable-user=root \
	--enable-group=root \
	--enable-vty-group=root \
	CFLAGS=-L/opt/arm_lib/lib \
	CPPFLAGS=-I/opt/arm_lib/include
anzye@anzye:c-ares-1.15.0$ make && make install

不指明“CFLAGS=-L/opt/arm_lib/lib\ CPPFLAGS=-I/opt/arm_lib/include”会报找不到头文件或库,因为上面编译安装的都在“/opt/arm_lib/”目录下

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
quagga是一款开源的路由软件套件,在Linux系统中广泛使用。要进行quagga源码安装,按照以下步骤操作: 1. 下载源码:在quagga的官方网站或者Github页面上找到最新的源码包,点击下载并保存到本地。 2. 解压源码:使用解压工具,如tar命令,将源码包解压到一个目录中,比如/home/user/quagga。 3. 安装所需依赖:使用shell命令进入解压后的quagga目录,执行以下命令安装所需的依赖库,以Ubuntu系统为例: ``` sudo apt-get update sudo apt-get install build-essential sudo apt-get install libreadline-dev sudo apt-get install texinfo sudo apt-get install pkg-config ``` 4. 配置和编译:在quagga目录中,执行以下命令进行配置: ``` ./configure ``` 然后执行以下命令进行编译: ``` make ``` 编译过程可能需要一些时间,请耐心等待。 5. 安装:编译成功后,执行以下命令进行安装: ``` sudo make install ``` 安装完成后,quagga将被安装到默认的系统目录中。 6. 配置和启动:安装完成后,可以通过编辑配置文件来配置quagga的路由设置,配置文件通常位于/etc/quagga目录下。然后,执行以下命令启动quagga服务: ``` sudo /etc/init.d/quagga start ``` 现在,quagga服务已启动并运行。 以上是quagga源码安装的简要步骤。根据不同的Linux发行版和系统环境,安装过程可能会有所差异,请根据具体情况进行操作,并参考quagga官方文档或社区支持获取更详细的安装指南。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值