libyang交叉编译流程


前言

在交叉编译frr过程中,需要首先交叉编译其依赖库libyang。libyang是一个库,用于实现YANG语言所定义的schema(模式)和数据的处理。该库使用C语言在GNU/Linux平台上实现,并提供C API。本文介绍了libyang的交叉编译流程,编译环境如下:

主机操作系统:Ubuntu 20.04 LTS

主机处理器架构:X86-64

目标处理器架构:arm64

交叉编译工具:gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu


1. pcre2交叉编译

pcre2采用CMAKE进行编译,可以在Github上下载源码:

git clone https://github.com/PCRE2Project/pcre2.git

进入pcre2目录,编译命令如下:

export HOST_ARCH=aarch64-linux-gnu
export PCRE2_INCLUDE_DIRS=/usr/aarch64-linux-gnu

mkdir build
cd build
CC=${HOST_ARCH}-gcc \
CXX=${HOST_ARCH}-g++ \
cmake \
    -DCMAKE_INSTALL_PREFIX:PATH=/usr/${HOST_ARCH} \
    ..
make && sudo make install

2. xxHash交叉编译

xxHash也采用CMAKE进行编译,可以在Github上下载源码:

git clone https://github.com/Cyan4973/xxHash.git

进入xxHash所在目录:

export HOST_ARCH=aarch64-linux-gnu

mkdir build
cd build
CC=${HOST_ARCH}-gcc \
CXX=${HOST_ARCH}-g++ \
cmake \
    -S build/cmake -B cmake_build \
    -DCMAKE_INSTALL_PREFIX:PATH=/usr/${HOST_ARCH}

cmake --build cmake_build --parallel
sudo cmake --install cmake_build

3. libyang的交叉编译

libyang采用CMAKE进行编译,可以在Github上下载源码:

git clone https://github.com/CESNET/libyang.git

进入libyang所在目录:

export HOST_ARCH=aarch64-linux-gnu

mkdir build
cd build
CC=${HOST_ARCH}-gcc \
CXX=${HOST_ARCH}-g++ \
cmake \
    -DCMAKE_INSTALL_PREFIX:PATH=/usr/${HOST_ARCH} \
    -DENABLE_LYD_PRIV=ON \
    ..
make && sudo make install
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值