Asa*_*ama 7 macos omnet++ macos-sierra
最近我们在几台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
Run Code Online (Sandbox Code Playgroud)
当我调查时,我发现虽然应用程序包具有指定的路径,但IDE(即Eclipse)无法找到插件.
我以前不知道它是如何运作的.也许OS X Sierra改变了一些东西.
因为我想拼命地让它工作,我发现了一个肮脏的黑客.
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
Run Code Online (Sandbox Code Playgroud)
4更改给予绝对路径的所有路径(安装到OMNeT ++ 5.0的位置).例,
../../../plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
Run Code Online (Sandbox Code Playgroud)
至
/Users/myhome/omnet-5.0/ide/plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
Run Code Online (Sandbox Code Playgroud)
非常感谢正确的解决方案.
提前致谢.
因此,经过更多调查后,我发现 IDE 实际上存在 2 个问题。
运行 IDE (omnetpp.app) 时,它崩溃,并且 error.log 中记录的错误表明存在权限问题。
即使在让 IDE 运行之后,IDE 也会抱怨缺少插件类。虽然安装手册指出安装来自 Oracle 的最新 JRE,但由于它要求我们安装来自 Apple 的较旧 JRE,因此运行java -version时版本号指向 1.6.0.65 。
因此,以下是解决方案的步骤(请忽略我在上一篇文章中描述的肮脏黑客)。
从 Oracle安装最新的 JDK(不是 JRE)。当您现在从终端运行java -version时,您应该看到比 1.6.0.65 更高的版本。我安装的版本是1.8.0.111。
完全删除omnet文件夹(omnet-5.0)并按照安装手册中描述的步骤重新构建OMNeT++。
运行xattr -rc omnetpp.app解决权限问题。
希望这对其他人有帮助。