OSX 上的 chromium 构建失败(本机客户端失败)

Posted

技术标签:

【中文标题】OSX 上的 chromium 构建失败(本机客户端失败)【英文标题】:chromium build failed on OSX (native client failed) 【发布时间】:2016-03-08 10:06:15 【问题描述】:

我是铬的新手。从源代码构建时遇到问题。

我遵循官方指南:

https://www.chromium.org/developers/how-tos/get-the-code https://chromium.googlesource.com/chromium/src/+/master/docs/mac_build_instructions.md

在步骤“./build/gyp_chromium”之后,我运行“ninja -C out/Release chrome

开始构建“Native Client”时发生错误

我怎样才能通过这个错误?

chrome需要原生客户端吗??

[112/19703] 操作 gio_lib:构建 glibc x86-64 nso_f9b445103aafa60092cbc8a215b3b734 失败:cd ../../native_client/src/shared/gio; .....

src/native_client/toolchain/mac_x86/nacl_x86_glibc/bin/../lib/gcc/x86_64-nacl/4.4.3/../../../../x86_64-nacl/bin/ld:找不到 crti.o:没有这样的文件或目录 src/native_client/toolchain/mac_x86/nacl_x86_glibc/bin/../lib/gcc/x86_64-nacl/4.4.3/../../../../x86_64-nacl/bin/ld:找不到crtbeginS .o:没有这样的文件或目录 src/native_client/toolchain/mac_x86/nacl_x86_glibc/bin/../lib/gcc/x86_64-nacl/4.4.3/../../../../x86_64-nacl/bin/ld:找不到- lstdc++ src/native_client/toolchain/mac_x86/nacl_x86_glibc/bin/../lib/gcc/x86_64-nacl/4.4.3/../../../../x86_64-nacl/bin/ld:找不到-流明 src/native_client/toolchain/mac_x86/nacl_x86_glibc/bin/../lib/gcc/x86_64-nacl/4.4.3/../../../../x86_64-nacl/bin/ld:找不到- lgcc_s src/native_client/toolchain/mac_x86/nacl_x86_glibc/bin/../lib/gcc/x86_64-nacl/4.4.3/../../../../x86_64-nacl/bin/ld:找不到-液晶显示器 src/native_client/toolchain/mac_x86/nacl_x86_glibc/bin/../lib/gcc/x86_64-nacl/4.4.3/../../../../x86_64-nacl/bin/ld:找不到- lgcc_s src/native_client/toolchain/mac_x86/nacl_x86_glibc/bin/../lib/gcc/x86_64-nacl/4.4.3/../../../../x86_64-nacl/bin/ld:找不到crtendS .o:没有这样的文件或目录 src/native_client/toolchain/mac_x86/nacl_x86_glibc/bin/../lib/gcc/x86_64-nacl/4.4.3/../../../../x86_64-nacl/bin/ld:找不到crtn .o: 没有这样的文件或目录

【问题讨论】:

【参考方案1】:

要在 Chromium 中启用 Native Client 支持,您需要使用支持 Native Client 的编译器来构建某些部分。对于自动化和官方构建,我们使用通过 gyp hooks 机制下载的预构建工具链。如果您使用来自depot_toolsgclient 来同步Chromium 的所有依赖项,那么它还会下载二进制工具链包,这些包默认用于构建Chromium 的不受信任的nexe 部分(主要是x86_64-nacl-clang)。如果您的构建未能找到 Native Client 工具链(这里似乎就是这种情况),您应该检查工具链二进制文件是否正在下载。

一些打包者不愿意使用预先构建的工具链。在这种情况下,您还可以使用指令here 从源代码构建 Native Client clang 工具链,并在 Chromium 构建中使用它。 (如果这些说明有问题,请发帖至 native-client-discuss@googlegroups.com 或提交bug report。

在任何一种情况下,如果您只想构建 Chromium(而不是 NaCl SDK 或 Chromium 存储库中的所有本机客户端测试),您可以将 build_glibc=0 添加到您的 gyp 定义中。如果您构建自己的 clang 工具链,您可能希望这样做,以避免还必须构建 NaCl gcc 编译器。

通过在 gyp 定义中设置 DISABLE_NACL=1,也可以完全不支持 Native Client 构建 Chromium。

【讨论】:

以上是关于OSX 上的 chromium 构建失败(本机客户端失败)的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 C# 为 Windows 构建 AIR 本机扩展?

mac 上的 gem install rails 失败错误:无法构建 gem 本机扩展

OSX 上的 ROS Groovy 安装失败 - rviz 和 OGRE

为啥 Qt WebEngine Chromium 在 MSVS Express 2015 下构建失败?

Chromium Ninja 构建失败(非法指令输出)

Chromium-browser 在 module_list.cc 中构建致命错误:检查失败