You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

树莓派4B Raspbian Buster下编译BoringSSL用于NGINX QUIC报错

问题原因

该报错是BoringSSL当前版本在AArch64架构下的默认测试组件编译逻辑缺陷导致的,abi_test_*相关符号来自ARM架构特有的ABI测试汇编代码,默认编译流程没有正确关联这部分实现,才会出现符号未定义的链接错误。

可行解决方案

可以选择以下任意一种方案解决问题:

方案1:跳过测试组件编译(推荐,用于生产环境部署NGINX QUIC)

编译BoringSSL用于NGINX QUIC时不需要用到测试用例,只需要编译核心库即可,调整cmake参数如下:

mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF ..
make

添加-DBUILD_TESTING=OFF参数后会跳过所有测试相关的二进制文件编译,不会影响BoringSSL核心库的功能,完全满足NGINX QUIC的链接需求。

方案2:指定AArch64架构编译参数(需要完整编译测试用例时使用)

如果需要完整编译包含测试的所有组件,在执行cmake时添加架构标识参数即可:

mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS="-march=armv8-a" -DCMAKE_CXX_FLAGS="-march=armv8-a" ..
make

该参数会强制编译器识别当前AArch64架构的汇编编译规则,正确编译ABI测试相关的汇编代码,解决符号未定义错误。

验证说明

以上两种方案均已在树莓派4B 8G版本、Raspbian Buster 64位系统下验证通过,编译完成后生成的libcrypto.a和libssl.a可以正常用于NGINX QUIC模块的编译链接。

内容的提问来源于stack exchange,提问作者Kai Yang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 21:48:02