OMNeT++在Mac OS X Sierra上的IDE崩溃问题

7

最近我们在几台OS X(MacOS Sierra)机器上安装了OMNeT ++ 5.0,并发现IDE在启动时崩溃。编译没有问题。以下是我们收到的崩溃报告(部分堆栈跟踪)。

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.CoreFoundation        0x00007fff98a41bf4 CFBundleGetFunctionPointerForName + 36
1   org.eclipse.Eclipse             0x0000000100003006 findSymbol + 66
2   org.eclipse.Eclipse             0x0000000100001791 original_main + 1572
3   org.eclipse.Eclipse             0x0000000100001e50 main + 1230
4   org.eclipse.Eclipse             0x0000000100000fec start + 52

当我调查时,发现IDE(即Eclipse)无法找到插件,尽管应用程序包已经指定了路径。
我不知道它以前是如何工作的。也许OS X Sierra有所改变。
由于我非常希望让它工作,我找到了一个肮脏的hack。 1右键单击omnetpp.app 2选择“显示包内容” 3转到Contents/MacOS并使用文本编辑器打开omnetpp.ini。您应该会看到类似于这样的东西。
-startup
../../../plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
--launcher.library
 ../../../plugins/org.eclipse.equinox.launcher.cocoa.macosx.x86_64_1.1.200.v20150204-1316
-name
OMNeT++ IDE
-vmargs
-Xms256m
-Xmx1024m
-XX:MaxPermSize=320m

4 将所有路径改为绝对路径(指向你的OMNeT++ 5.0安装位置)。例如,

../../../plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar

to

/Users/myhome/omnet-5.0/ide/plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar

非常感谢您提供的帮助。

提前致谢。


抱歉,新路径应该是/Users/myhome/omnet-5.0/ide/plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar - Asanga Udugama
1个回答

4

经过进一步调查,我发现IDE存在两个问题。

  1. 运行IDE(omnetpp.app)时,它会崩溃,并且在error.log中记录的错误显示有权限问题。

  2. 即使成功运行IDE,IDE也会抱怨缺少插件类。尽管安装手册指向从Oracle安装最新的JRE,但由于需要安装旧版的苹果JRE,因此版本号指向运行java -version时的1.6.0.65。

因此,以下是解决方案的步骤(请忽略我在上一篇帖子中描述的不正当方法)。

  1. 从Oracle安装最新的JDK(而不是JRE)。现在从终端运行java -version,您应该看到比1.6.0.65更高的版本。我安装的版本是1.8.0.111。

  2. 完全删除omnet文件夹(omnet-5.0),并按照安装手册中描述的过程再次构建OMNeT++

  3. 运行xattr -rc omnetpp.app以解决权限问题。

希望这对其他人有所帮助。


爱你,我只需要步骤1和2。也许我有另一种类型的错误。 - Timo Cengiz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接