ZHDA333 September 2026 AM62L
该路径通过 oqs-provider 使用 liboqs 的混合 KEM、FrodoKEM 和 BIKE 来扩展 OpenSSL。两个步骤:
步骤 Y1 — 克隆 meta
cd tisdk/sources
git clone https://github.com/embetrix/meta-oqs.git -b wrynose步骤 Y2 — 在 local.conf 中启用 OQS
DISTRO_FEATURES:append = " oqs"
IMAGE_INSTALL:append = " liboqs liboqs-tests oqs-provider"DISTRO_FEATURES:append = " oqs" 是必需的,它控制 OQS OpenSSL 提供程序配置安装、oqs-provider RDEPEND,以及 meta-pqc 中的 PQC 感知型 openssh/ca-certificates bbappend。
liboqs 会引入 clang-native/libcxx-native
meta-oqs 的 liboqs_0.15.0.bb(和 liboqs-rust_0.10.1.bb)设置 TOOLCHAIN = "clang"。这通常是原版 TI SDK 构建中第一个按配方请求 clang 工具链的环节 — 这样做会引入 oe-core 的 clang-native.bbclass,后者依赖 clang-native、compiler-rt-native 和 libcxx-native (LLVM 自身的 libc++/libc++abi 自举程序),这往往是整个构建过程中首次引入。
如果构建的沙盒 hosttools 环境在 libcxx-native 自身的原生编译器 ABI 检查期间无法解析 -lstdc++,则 libcxx-native 的 do_configure 会失败,提示无法找到 -lstdc++:没有该文件或目录,并且 liboqs 永远无法构建。liboqs 本身没有 clang 特定要求 — 它的 SIMD 调优选项(OQS_USE_AVX2_INSTRUCTIONS、OQS_USE_ARM_NEON_INSTRUCTIONS 等)是普通的 -m<isa> 风格标志,GCC 处理方式完全相同。修复方法是使用控制层(例如 meta-tisdk)中的 bbappend 强制其恢复为发行版默认工具链:
# meta-tisdk/meta-ti-foundational/recipes-crypto/liboqs/liboqs_%.bbappend
TOOLCHAIN = "gcc"