Fork me on GitHub

Net-SNMP的交叉编译 for ARM64

1.交叉编译openssl

去官网下载openssl-1.0.2q.tar.gz,解压缩到目录/home/lwang/work/chengw/github/下,然后进入openssl目录按照如下步骤操作

1) 配置编译选项

1
$./config no-asm shared --cross-compile-prefix=aarch64-linux-gnu-  --prefix=/home/lwang/work/chengw/github/openssl-1.1.1a/release

其中参数的含义为:
no-asm:在交叉编译过程中不使用汇编代码代码加速编译过程;
shared:生成动态链接库;
–prefix:指定生成lib、include、bin三个核心目录的路径,不修改此项则默认为OPENSSLDIR目录。

2) 修改生成的Makefile,去掉-m64选项,否则会编译报错
3) 编译

1
$make -j4

4) 安装

1
$make install

最终编译生成的头文件和lib文件都位于当前release目录下

2.交叉编译net-snmp

在官网下载net-snmp-5.7.3.tar.gz,解压缩到/home/lwang/work/chengw/github/目录,然后进入net-snmp目录,并按照如下步骤操作

1) 配置编译选项

1
$./configure --host=arm-linux --target=arm-linux --build=i686-linux --with-cc=aarch64-linux-gnu-gcc  --with-ar=aarch64-linux-gnu-ar  --prefix=/home/lwang/work/chengw/github/net-snmp-5.7.3/release  --with-endianness=little --disable-manuals --disable-embedded-perl  --disable-perl-cc-checks --without-perl-modules --disable-scripts  --disable-applications  --with-openssl=/home/lwang/work/chengw/github/openssl-1.0.2q/release

2) 编译

1
$make -j4

3) 安装

1
$make install

最终编译生成的头文件和lib文件都位于当前release目录下

注意:实际测试发现,net-snmp 5.7.3只能搭配openssl-1.0.2q版本使用,更新的版本会编译报错.

您的鼓励是我持之以恒的动力