【问题标题】:OpenFL and Lime does not run, because of a segmentation fault由于分段错误,OpenFL 和 Lime 无法运行
【发布时间】:2015-06-02 22:08:34
【问题描述】:

最近,我发现(在 Mac OS X Mavericks 上)OpenFL 和 LIME(使用命令行工具)由于“分段错误”而无法工作。

在我进入细节之前,这里有一些背景。

  • 我最初是通过 OpenFL 网站提供的安装程序获得 Haxe + Neko。
  • 我按照那里的说明安装了 OpenFL。
  • 后来,在使用标准 Haxe 编码时,我需要 Neko,但它显然没有安装。
  • 我从 Neko 的网站安装了 Neko。

现在,我在输入 limeopenfl 或使用它们的任何功能(例如构建)时收到此错误:

Called from lime/utils/ByteArray.hx line 109
Called from lime/system/System.hx line 286
Called from lime/system/System.hx line 405
Uncaught exception - Segmentation fault

无论如何,我不知道背景是否与它有关。我查看了 Ubuntu 论坛,但没有什么对我有用。任何帮助,将不胜感激;我在“类似问题”或其他任何地方都找不到太多与此相关的内容。

Haxe 编译器 3.1.3 + OpenFL 3.0.0 测试版。 (根据haxelib upgrade的描述。)

【问题讨论】:

  • 您的系统上似乎找不到石灰 ndll 文件。如果你运行haxelib path lime,你会得到什么?
  • 抱歉回复晚了,时差。无论如何,我得到$ haxelib path lime -L lime/2,3,0/ndll/ /usr/lib/haxe/lib/lime/2,3,0/ -D lime

标签: segmentation-fault haxe openfl neko haxelib


【解决方案1】:

Neko 无法在您的计算机上进行初始化。当 Lime 加载时,它会尝试在lime.ndll 中调用neko_init 并崩溃。这可能是由多种原因引起的,所以这里有几个步骤来检查。

  1. 在终端输入neko应该会显示版本信息。在继续之前确保它显示 2.0.0。您还可以使用命令which neko 显示 neko 的执行位置。它通常是从/usr/lib/neko/neko/usr/bin/neko 的符号链接。
  2. 可能找不到 std.ndll 文件。通常此文件和其他标准 neko ndll 文件位于/usr/lib/neko。确保您有一个指向该目录的 NEKOPATH 环境变量。
  3. 如果以上看起来是正确的,您可能需要完全删除 Haxe 和 Neko 并重新安装。与其使用来自 OpenFL 网站的安装程序,不如使用来自 haxe.org 的安装程序可能会更好。它应该将 neko 与安装程序版本捆绑在一起。

【讨论】:

  • 只是为了澄清一下,~/.bash_profile 中的export NEKOPATH=/usr/lib/neko 会是正确的 NEKOPATH 吗?在更正了 1 和 2 之后,我使用来自 link 的命令卸载了 Neko 和 Haxe。使用 Haxe 官方网站上的安装程序重新安装。之后,在haxelib install openfl 之后,当运行haxelib run openfl setup 时,它会安装lime 2.3.0 并且完全像上面那样失败。那里有什么帮助吗? 编辑: 事实上,安装程序 OpenFL 的站点链接与 Haxe 的完全相同。
  • 是的,export NEKOPATH=/usr/lib/neko 很好。如果仍然失败,您可能想在OpenFL forums 上发帖。那里的人可能更了解导致此问题的原因。只是出于好奇,您是否运行 haxelib selfupdate 来更新 haxelib?
  • 不,我没有运行它。然而,在我这样做之后,它尝试安装 OpenFL 2.2.8 而不是 beta。它再次在haxelib run openfl setup 失败。我会在 OpenFL 论坛上试试运气,感谢您的建议。
猜你喜欢
  • 2021-09-25
  • 1970-01-01
  • 1970-01-01
  • 2019-06-11
  • 2011-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-31
相关资源
最近更新 更多