我正在从源代码构建一个重新命名的 Firefox,以用于版本 51 稳定版。我希望能够将编译后的二进制文件打包为 .deb,并使其在包括 Ubuntu 14+ 和 Mint/Mate 16-18 在内的几种不同的 Linux 发行版上运行。
我在 Mint 18 机器上对其进行了编译,并且运行良好,但尝试在 Ubuntu 16.04 或 Mate 17 机器上运行它时出现以下问题:
XPCOMGlueLoad error for file /opt/myapp/lib/myapp-51.0.2/libxul.so:
/opt/myapp/lib/myapp-51.0.2/libxul.so: symbol _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev, version GLIBCXX_3.4.21 not defined in file libstdc++.so.6 with link time reference
Couldn't load XPCOM.
所有机器都是 64 位架构,所以我假设这是库版本的问题?我很确定有一个选项可以只嵌入依赖项而不是链接到系统版本,但除了最基本的过程之外,很难找到有关构建 Firefox 的任何信息。
如何构建可在所有基于 Ubuntu 的现代 64 位 Linux 系统上运行的 Firefox 二进制文件?