Chromium Ninja 构建失败(非法指令输出)
Posted
技术标签:
【中文标题】Chromium Ninja 构建失败(非法指令输出)【英文标题】:Chromium Ninja build fails (Illegal Instruction output) 【发布时间】:2013-10-30 16:34:13 【问题描述】:我遵循Linux build instructions,当我尝试运行“ninja -C out/Debug chrome”时,我只得到输出“非法指令(核心转储)”。现在,我希望我能真正找到核心转储的位置,看看那里是否有更具体的信息......
作为参考,我正在尝试在 Ubuntu 13.10 上运行 Ninja。
有没有其他人在构建 Chromium 或尝试使用 Ninja 构建其他东西时遇到过这种情况?另外,我在哪里可以找到核心转储?
【问题讨论】:
对不起,我在 13.10 中还没有构建 Chromium,但在 12.10 中我已经做了很多次。尝试传递“-v”标志以在构建时获取更多信息。此外,除非您对调试感兴趣,否则构建“Release”会快得多。总结一下,“ninja -v -C out/Release chrome”是怎么说的? 【参考方案1】:错误消息“Illegal Instruction (core dumped)”表示当前二进制文件正在使用您的 CPU 不支持的指令。
请检查用于编译的软件(编译器、链接器、ar、ninja-build 等)是否与您的 CPU 架构相匹配。除非你没有像 ARM 或 POWER 这样花哨的系统,否则你会把 32 位(例如 i586)和 64 位(x86-64)混为一谈。
或者你编译到错误的目标。您的编译器标志是否包含以 -m 开头的标志,例如“-march=”?这可能会导致相同的错误,但前提是编译的代码被执行。 你自己建造了 gyp 或 ninja-build 吗?这将是另一个犯这种错误的地方。
【讨论】:
以上是关于Chromium Ninja 构建失败(非法指令输出)的主要内容,如果未能解决你的问题,请参考以下文章
在没有 LTO 的情况下构建 Chromium、WebRTC