HarmonyOS鸿蒙Next编译失败,ninja: error: 找不到libclang_rt.builtins.a
HarmonyOS鸿蒙Next编译失败,ninja: error: 找不到libclang_rt.builtins.a HarmonyOS编译失败,日志如下:
[OHOS INFO] Filesystem: /dev/sdd1, Size: 1.9T, Used: 1.2T, Available: 595G, Use%: 67%, Mounted on: /mnt/wsl/PHYSICALDRIVE2p1
[OHOS ERROR] [NINJA] Traceback (most recent call last):
[OHOS ERROR] [NINJA] File “/mnt/wsl/PHYSICALDRIVE2p1/HarmonyOS/build/hb/containers/status.py”, line 47, in wrapper
[OHOS ERROR] [NINJA] return func(*args, **kwargs)
[OHOS ERROR] [NINJA] File “/mnt/wsl/PHYSICALDRIVE2p1/HarmonyOS/build/hb/modules/ohos_build_module.py”, line 71, in run
[OHOS ERROR] [NINJA] raise exception
[OHOS ERROR] [NINJA] File “/mnt/wsl/PHYSICALDRIVE2p1/HarmonyOS/build/hb/modules/ohos_build_module.py”, line 68, in run
[OHOS ERROR] [NINJA] super().run()
[OHOS ERROR] [NINJA] File “/mnt/wsl/PHYSICALDRIVE2p1/HarmonyOS/build/hb/modules/interface/build_module_interface.py”, line 70, in run
[OHOS ERROR] [NINJA] raise exception
[OHOS ERROR] [NINJA] File “/mnt/wsl/PHYSICALDRIVE2p1/HarmonyOS/build/hb/modules/interface/build_module_interface.py”, line 68, in run
[OHOS ERROR] [NINJA] self._ninja()
[OHOS ERROR] [NINJA] File “/mnt/wsl/PHYSICALDRIVE2p1/HarmonyOS/build/hb/util/timer_util.py”, line 30, in inner
[OHOS ERROR] [NINJA] res = func(*arg, **kwarg)
[OHOS ERROR] [NINJA] File “/mnt/wsl/PHYSICALDRIVE2p1/HarmonyOS/build/hb/modules/interface/build_module_interface.py”, line 125, in _ninja
[OHOS ERROR] [NINJA] self._target_compilation()
[OHOS ERROR] [NINJA] File “/mnt/wsl/PHYSICALDRIVE2p1/HarmonyOS/build/hb/modules/ohos_build_module.py”, line 133, in _target_compilation
[OHOS ERROR] [NINJA] self.target_compiler.run()
[OHOS ERROR] [NINJA] File “/mnt/wsl/PHYSICALDRIVE2p1/HarmonyOS/build/hb/services/ninja.py”, line 39, in run
[OHOS ERROR] [NINJA] self._execute_ninja_cmd()
[OHOS ERROR] [NINJA] File “/mnt/wsl/PHYSICALDRIVE2p1/HarmonyOS/build/hb/services/ninja.py”, line 70, in _execute_ninja_cmd
[OHOS ERROR] [NINJA] SystemUtil.exec_command(
[OHOS ERROR] [NINJA] File “/mnt/wsl/PHYSICALDRIVE2p1/HarmonyOS/build/hb/util/system_util.py”, line 142, in exec_command
[OHOS ERROR] [NINJA] LogUtil.get_failed_log(log_path, cmd)
[OHOS ERROR] [NINJA] File “/mnt/wsl/PHYSICALDRIVE2p1/HarmonyOS/build/hb/util/log_util.py”, line 220, in get_failed_log
[OHOS ERROR] [NINJA] LogUtil.get_ninja_failed_log(log_path)
[OHOS ERROR] [NINJA] File “/mnt/wsl/PHYSICALDRIVE2p1/HarmonyOS/build/hb/util/log_util.py”, line 173, in get_ninja_failed_log
[OHOS ERROR] [NINJA] raise OHOSException(
[OHOS ERROR] [NINJA] exceptions.ohos_exception.OHOSException: NINJA Failed! Please check error in /mnt/wsl/PHYSICALDRIVE2p1/HarmonyOS/out/rk3568/error.log, and for more build information in /mnt/wsl/PHYSICALDRIVE2p1/HarmonyOS/out/rk3568/build.log
[OHOS ERROR] [NINJA]
[OHOS ERROR] [NINJA] Code: 4016
[OHOS ERROR] [NINJA]
[OHOS ERROR] [NINJA] Reason: NINJA Failed! Please check error in /mnt/wsl/PHYSICALDRIVE2p1/HarmonyOS/out/rk3568/error.log, and for more build information in /mnt/wsl/PHYSICALDRIVE2p1/HarmonyOS/out/rk3568/build.log
[OHOS ERROR] [NINJA]
[OHOS ERROR] [NINJA] Error Type: ninja build error: missing and no known rule to make it
[OHOS ERROR] [NINJA]
[OHOS ERROR] [NINJA] Description: Ninja build error. The ninja build system cannot find the target.
[OHOS ERROR] [NINJA]
[OHOS ERROR] [NINJA] Solution: Please check the target file is exists.
[OHOS ERROR] [NINJA]
scons: *** [out/rk3568/rk3568/system.out] Error -1
please check the compilation log: /home/punan/.deveco-device-tool/logs/build/build.log
====================================================== [FAILED] Took 111.02 seconds ======================================================
-
The terminal process “/home/punan/Huawei/DevEco-Device-Tool/core/deveco-venv/bin/hos ‘run’, ‘–project-dir’, ‘/mnt/wsl/PHYSICALDRIVE2p1/HarmonyOS’, ‘–environment’, ‘rk3568’” terminated with exit code: 1.
-
Terminal will be reused by tasks, press any key to close it.
/mnt/wsl/PHYSICALDRIVE2p1/HarmonyOS/out/rk3568/error.log日志如下:
ninja: error: ‘…/…/prebuilts/clang/ohos/linux-x86_64/llvm/lib/clang/15.0.4/lib/arm-linux-ohos/libclang_rt.builtins.a’, needed by ‘thirdparty/bounds_checking_function/libsec_shared.z.so’, missing and no known rule to make it
更多关于HarmonyOS鸿蒙Next编译失败,ninja: error: 找不到libclang_rt.builtins.a的实战教程也可以访问 https://www.itying.com/category-93-b0.html
编译失败是因为缺少libclang_rt.builtins.a库文件。该库是编译器运行时支持库,通常由NDK或工具链提供。请检查你的HarmonyOS SDK或NDK版本是否完整,并确保工具链路径配置正确。在构建配置中确认使用的clang工具链包含必要的运行时库。
更多关于HarmonyOS鸿蒙Next编译失败,ninja: error: 找不到libclang_rt.builtins.a的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
这个错误表明编译系统在链接时找不到 libclang_rt.builtins.a 这个关键的运行时库文件。该文件是Clang编译器为特定目标平台(这里是 arm-linux-ohos)提供的内置函数(builtins)静态库,缺少它会导致链接失败。
根据你的日志,系统在以下路径寻找该文件:
../../prebuilts/clang/ohos/linux-x86_64/llvm/lib/clang/15.0.4/lib/arm-linux-ohos/libclang_rt.builtins.a
这是一个相对路径。从你的项目根目录 /mnt/wsl/PHYSICALDRIVE2p1/HarmonyOS 出发,对应的绝对路径应该是:
/mnt/wsl/PHYSICALDRIVE2p1/HarmonyOS/prebuilts/clang/ohos/linux-x86_64/llvm/lib/clang/15.0.4/lib/arm-linux-ohos/libclang_rt.builtins.a
请按以下步骤排查:
-
验证文件是否存在: 在终端中执行以下命令,检查该文件是否确实缺失:
ls -la /mnt/wsl/PHYSICALDRIVE2p1/HarmonyOS/prebuilts/clang/ohos/linux-x86_64/llvm/lib/clang/15.0.4/lib/arm-linux-ohos/libclang_rt.builtins.a如果文件不存在,这是问题的根源。
-
检查预编译工具链的完整性(最常见原因):
prebuilts目录下的内容是HarmonyOS源码树提供的预编译工具链和依赖。文件缺失通常是因为:- 源码拉取不完整:在最初使用
repo sync或类似命令拉取代码时可能中断或失败。 - 工具链包损坏:下载的预编译包本身不完整。
- 源码拉取不完整:在最初使用
-
解决方案:
- 重新同步预编译工具链:在项目根目录下,尝试重新拉取或更新
prebuilts。具体命令取决于你的获取方式,通常可能是:
或者,有时需要删除# 如果使用repo管理整个项目 repo sync -c --no-tags prebuilts/clangprebuilts/clang目录后重新执行完整的编译环境准备步骤(如./build/prebuilts_download.sh,具体脚本请参考官方文档)。 - 检查磁盘空间:你的日志显示可用空间约595GB,理论上是足够的,但可以确认一下
prebuilts所在分区的空间。 - 确认编译环境配置:确保你执行的编译命令(如
./build.sh --product-name rk3568)与你的源码版本和产品配置匹配。不同版本可能需要不同版本的工具链。
- 重新同步预编译工具链:在项目根目录下,尝试重新拉取或更新
核心操作是确认并恢复缺失的 libclang_rt.builtins.a 文件到指定路径。 优先检查 prebuilts/clang 目录的完整性。

