【问题标题】:Use custom SpiderMonkey build with firefox 5使用带有 Firefox 5 的自定义 SpiderMonkey 构建
【发布时间】:2011-07-17 15:33:20
【问题描述】:

我正在尝试在 Windows 机器上构建和使用我用 firefox 5 编译(用于我的学术研究)的 SpiderMonkey,但是当我尝试运行 firefox 时出现“mozjs.dll 中缺少 JS_InitCTypesClass 函数”错误。

我下载了 SpiderMonkey 代码并使用 MozillaBuild 构建了它(没有任何更改)。 比我将新 DLL 复制到 firefox 目录(将 DLL 名称重命名为 mozjs.dll)并尝试执行 firefox。此时我得到了我写的错误。

另外,使用exported function viewer查看我发现原来的mozjs.dll有777个导出函数,而我编译的只有771个函数,所以我猜这个函数真的不见了。

任何想法如何构建自定义 SpiderMonkey 并将其与 FF5 一起使用?

非常感谢您的帮助!

【问题讨论】:

  • 你在配置你的spidermonkey时--enable-ctypes了吗?
  • glup - 没有。 :-) 我怎么做? "配置 --enable-ctypes" ?
  • 好的,使用 CTypes 构建。还需要构建 NSPR。现在它查找“JS_HoldPrincipals”导出函数。我想现在我需要找出哪个“开关”可以实现...
  • JS_HoldPrincipals 依赖于--enable-threadsafe

标签: firefox spidermonkey javascript-engine


【解决方案1】:

您可能只是想确保您配置 SpiderMonkey 的方式与 http://hg.mozilla.org/mozilla-central/file/a0372b031aac/configure.in#l9484 发生的情况相匹配

【讨论】:

  • 花了我一段时间。结果证明我正在构建每晚版本(尽管我没有从 nightly.mozilla.com 获取代码,而是从 mozilla-central 获取)。无论如何,得到了正确的版本,像你说的那样构建它(我还需要构建 NSPR)并且像魅力一样工作。谢谢:-)。
【解决方案2】:

我还没有听说有人在这样的 Firefox 版本中成功替换了 spidermonkey;在 Firefox 中使用您自己的 SpiderMonkey 版本的可靠方法是 make your own Firefox build

不管怎样,你从哪里得到 Spidermonkey 的源代码?您至少应该使用与您正在使用的 Firefox 版本相对应的版本,例如:http://hg.mozilla.org/releases/mozilla-release/rev/3ded311d93ad

【讨论】:

  • 嗯...也许你是对的,也许我没有得到正确的版本(我从他们的 Mercurial 下载了它)。我会重新检查一下。如果它不起作用,我想我会重建 FF...
  • 好像我得到了正确的 SpiderMonkey 版本。我真的不知道为什么它不起作用:-\。我不想参与构建整个 FF,但我想我不会有任何其他选择......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-16
  • 2021-07-20
  • 1970-01-01
  • 2020-12-10
  • 1970-01-01
相关资源
最近更新 更多