PNaCl构建失败(ERROR-missing-arm-trusted-toolchain:not found)

时间:2014-07-04 14:54:30

标签: llvm google-nativeclient

我尝试在Ubuntu 14.04上构建PNaCl(chroot到12.04导致相同的结果)。我运行'pnacl / build.sh all'并在“LIBGCC_EH(来自GCC 4.6)”上构建失败“步骤

[22:55] MISC-TOOLS           Building sel_ldr (arm)


 *********************************************************************
 | 
 | ERROR
 | 
 *********************************************************************
COMMAND: ./scons MODE=opt-host platform=arm naclsdk_validate=0 sysinfo=0 -j8 sel_ldr

LOGFILE: /home/dmitry/chromium-35.0.1916.114/src/native_client/pnacl/build/log/arm_sel_ldr

PWD: /home/dmitry/chromium-35.0.1916.114/src/native_client

LOGFILE包含以下内容:

======================================================================
B U I L D - O U T P U T:
======================================================================
scons: done reading SConscript files.
scons: Building targets ...
________Compiling scons-out/opt-linux-arm/obj/src/trusted/service_runtime/li    nux/nacl_bootstrap_munge_phdr.o
________Compiling scons-out/opt-linux-arm/obj/src/trusted/service_runtime/li    nux/nacl_bootstrap.o
sh: 1: ERROR-missing-arm-trusted-toolchain: not found
________Compiling scons-out/opt-linux-arm/obj/src/trusted/service_runtime/na    cl_test_injection_main.o
sh: 1: ERROR-missing-arm-trusted-toolchain: not found
________Compiling scons-out/opt-linux-arm/obj/src/trusted/service_runtime/se    l_main.o
sh: 1: ERROR-missing-arm-trusted-toolchain: not found
________Compiling scons-out/opt-linux-arm/obj/src/trusted/debug_stub/abi.o
sh: 1: ERROR-missing-arm-trusted-toolchain: not found
________Compiling scons-out/opt-linux-arm/obj/src/trusted/debug_stub/debug_s    tub.o
sh: 1: ERROR-missing-arm-trusted-toolchain: not found
________Compiling scons-out/opt-linux-arm/obj/src/trusted/debug_stub/nacl_de    bug.o

你能解释一下如何修复失败吗?

1 个答案:

答案 0 :(得分:1)

以下是几个答案: 首先,您不应再使用pnacl/build.sh来构建PNaCl工具链:而是使用toolchain_build/toolchain_build_pnacl.py。可以找到有关如何构建PNaCl工具链的文档here,并且已经更新以反映新脚本。

其次,您描述的实际问题不是来自构建工具链,而是来自构建sel_ldr,它是命令行独立的NaCl可信运行时(即ELF加载程序,验证程序,服务运行时等)。 build.sh脚本为ARM构建sel_ldr以用于测试工具链,该工具链使用ARM的仿真器。可信运行时使用Ubuntu附带的ARM交叉编译器包构建。可以在tools/trusted_cross_toolchains/trusted-toolchain-creator.armhf.precise.sh中的NaCl repo中找到将在12.04上为您安装这些软件包的脚本(它还将安装我们的QEMU软件包以运行ARM二进制文件)。 目前还没有自动脚本来安装Ubuntu 14.04的软件包,但您可以查看现有脚本中的软件包列表并手动安装相应的类似软件包;我在14.04系统上完成了这个,但是还没有人编写新的脚本。

请注意,如果您不关心ARM的测试,只需切换到toolchain_build_pnacl.py即可,因为与build.sh不同,默认情况下它不会尝试构建任何本机ARM工具。