Recently we installed OMNeT++ 5.0 on a couple of OS X (MacOS Sierra) machines and found that the IDE crashes when starting. The compilation had no problems. Here’s the crash report we got (a partial stack trace).
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
When I investigated, I found that the IDE (i.e., Eclipse) was not able to find the plugins though the application bundle had the paths specified.
I’ve no idea how it worked before. Maybe something changed with OS X Sierra.
Since I wanted desperately to get it working, I found a dirty hack.
1
Right click on the omnetpp.app
2
Select ‘Show Package Contents’
3
Go to Contents/MacOS and open the omnetpp.ini with a text editor. You should see something like this
-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
Change all the paths given to absolute paths (to where your OMNeT++ 5.0 is installed). Example,
../../../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
A proper solution is greatly appreciated.
Thanks in advance.
So, after investigating a little more, I found that there were in fact 2 problems with the IDE.
When running the IDE (omnetpp.app), it crashes and the error that is logged in the error.log says that there is a permissions problem.
Even after getting the IDE to run, the IDE complains about missing plugin classes. Though the installation manual points to installing the latest JRE from Oracle, since it requires us to install an older JRE from Apple, the version number points to 1.6.0.65 when running java -version.
So, here are the steps of the solution (please disregard the dirty hack I described in the previous post).
Install the latest JDK (not the JRE) from Oracle. When you run java -version now from a Terminal, you should see a higher version than the 1.6.0.65. The version that I installed was 1.8.0.111.
Completely remove the omnet folder (omnet-5.0) and follow the procedure described in the installation manual to build OMNeT++ again.
Run xattr -rc omnetpp.app to resolve the permissions issue.
Hope this will be helpful to others.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With