Omnet++ 5.4.1 running error on Ubuntu 18.10

1,222 views
Skip to first unread message

Aki Kara

unread,
Jan 22, 2019, 2:28:17 AM1/22/19
to OMNeT++ Users
Hi all,

I've succesfully installed Omnet++ 5.4.1 on my Ubuntu 18.10 but when try to start application there is an error like this:


Log file is like that:

!SESSION 2019-01-22 10:24:15.182 -----------------------------------------------
eclipse
.buildId=5.4.1.180629-5e28390
java
.version=11.0.1
java
.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Command-line arguments:  -os linux -ws gtk -arch x86_64

!ENTRY org.eclipse.osgi 4 0 2019-01-22 10:24:16.913
!MESSAGE Application error
!STACK 1
org
.eclipse.e4.core.di.InjectionException: java.lang.NoClassDefFoundError: javax/annotation/PostConstruct
    at org
.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:410)
    at org
.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:318)
    at org
.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:162)
    at org
.eclipse.e4.ui.internal.workbench.swt.E4Application.createDefaultHeadlessContext(E4Application.java:491)
    at org
.eclipse.e4.ui.internal.workbench.swt.E4Application.createDefaultContext(E4Application.java:505)
    at org
.eclipse.e4.ui.internal.workbench.swt.E4Application.createE4Workbench(E4Application.java:204)
    at org
.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:614)
    at org
.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
    at org
.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:594)
    at org
.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
    at org
.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:151)
    at org
.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org
.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
    at org
.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
    at org
.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
    at org
.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
    at java
.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java
.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java
.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java
.base/java.lang.reflect.Method.invoke(Method.java:566)
    at org
.eclipse.equinox.launcher.Main.invokeFramework(Main.java:653)
    at org
.eclipse.equinox.launcher.Main.basicRun(Main.java:590)
    at org
.eclipse.equinox.launcher.Main.run(Main.java:1499)
    at org
.eclipse.equinox.launcher.Main.main(Main.java:1472)
Caused by: java.lang.NoClassDefFoundError: javax/annotation/PostConstruct
    at org
.eclipse.e4.core.internal.di.InjectorImpl.inject(InjectorImpl.java:124)
    at org
.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:399)
   
... 23 more
Caused by: java.lang.ClassNotFoundException: javax.annotation.PostConstruct cannot be found by org.eclipse.e4.core.di_1.6.100.v20170421-1418
    at org
.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:433)
    at org
.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:395)
    at org
.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:387)
    at org
.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
    at java
.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
   
... 25 more

!ENTRY org.eclipse.e4.ui.workbench 4 0 2019-01-22 10:24:16.926
!MESSAGE FrameworkEvent ERROR
!STACK 0
java
.lang.NoClassDefFoundError: javax/annotation/PreDestroy
    at org
.eclipse.e4.core.internal.di.InjectorImpl.disposed(InjectorImpl.java:450)
    at org
.eclipse.e4.core.internal.di.Requestor.disposed(Requestor.java:156)
    at org
.eclipse.e4.core.internal.contexts.ContextObjectSupplier$ContextInjectionListener.update(ContextObjectSupplier.java:78)
    at org
.eclipse.e4.core.internal.contexts.TrackableComputationExt.update(TrackableComputationExt.java:111)
    at org
.eclipse.e4.core.internal.contexts.TrackableComputationExt.handleInvalid(TrackableComputationExt.java:74)
    at org
.eclipse.e4.core.internal.contexts.EclipseContext.dispose(EclipseContext.java:178)
    at org
.eclipse.e4.core.internal.contexts.osgi.EclipseContextOSGi.dispose(EclipseContextOSGi.java:99)
    at org
.eclipse.e4.core.internal.contexts.osgi.EclipseContextOSGi.bundleChanged(EclipseContextOSGi.java:141)
    at org
.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:908)
    at org
.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
    at org
.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
    at org
.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:213)
    at org
.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:120)
    at org
.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:112)
    at org
.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:168)
    at org
.eclipse.osgi.container.Module.publishEvent(Module.java:476)
    at org
.eclipse.osgi.container.Module.doStop(Module.java:634)
    at org
.eclipse.osgi.container.Module.stop(Module.java:498)
    at org
.eclipse.osgi.container.SystemModule.stop(SystemModule.java:202)
    at org
.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle$EquinoxSystemModule$1.run(EquinoxBundle.java:165)
    at java
.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.ClassNotFoundException: javax.annotation.PreDestroy cannot be found by org.eclipse.e4.core.di_1.6.100.v20170421-1418
    at org
.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:433)
    at org
.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:395)
    at org
.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:387)
    at org
.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
    at java
.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
   
... 21 more

I could not understand what is wrong, any help is appreciated.

Thank you.

Rudolf Hornig

unread,
Jan 24, 2019, 11:18:57 AM1/24/19
to OMNeT++ Users
I know it's super ugly, but OMNeT++ 5.4.1 is based on Eclipse 4.7.3 and The java 11 broke the compatibility with Eclipse 4.7 which in turn causes the issue with OMNeT++ 5.4.1.

A very quick workaround would be to downgrade your java package to 1.8, though I'm not sure that is definitely possible.

An other workaround is to paste the following in the ide/configuration/config.ini
(obviously we may need to release omnet 5.4.2 to fix this with an updated eclipse)
Hope it helps

org.osgi.framework.system.packages = \
 javax.accessibility,\
 javax.activation,\
 javax.activity,\
 javax.crypto,\
 javax.crypto.interfaces,\
 javax.crypto.spec,\
 javax.imageio,\
 javax.imageio.event,\
 javax.imageio.metadata,\
 javax.imageio.plugins.bmp,\
 javax.imageio.plugins.jpeg,\
 javax.imageio.spi,\
 javax.imageio.stream,\
 javax.jws,\
 javax.jws.soap,\
 javax.lang.model,\
 javax.lang.model.element,\
 javax.lang.model.type,\
 javax.lang.model.util,\
 javax.management,\
 javax.management.loading,\
 javax.management.modelmbean,\
 javax.management.monitor,\
 javax.management.openmbean,\
 javax.management.relation,\
 javax.management.remote,\
 javax.management.remote.rmi,\
 javax.management.timer,\
 javax.naming,\
 javax.naming.directory,\
 javax.naming.event,\
 javax.naming.ldap,\
 javax.naming.spi,\
 javax.net,\
 javax.net.ssl,\
 javax.print,\
 javax.print.attribute,\
 javax.print.attribute.standard,\
 javax.print.event,\
 javax.rmi,\
 javax.rmi.CORBA,\
 javax.rmi.ssl,\
 javax.script,\
 javax.security.auth,\
 javax.security.auth.callback,\
 javax.security.auth.kerberos,\
 javax.security.auth.login,\
 javax.security.auth.spi,\
 javax.security.auth.x500,\
 javax.security.cert,\
 javax.security.sasl,\
 javax.sound.midi,\
 javax.sound.midi.spi,\
 javax.sound.sampled,\
 javax.sound.sampled.spi,\
 javax.sql,\
 javax.sql.rowset,\
 javax.sql.rowset.serial,\
 javax.sql.rowset.spi,\
 javax.swing,\
 javax.swing.border,\
 javax.swing.colorchooser,\
 javax.swing.event,\
 javax.swing.filechooser,\
 javax.swing.plaf,\
 javax.swing.plaf.basic,\
 javax.swing.plaf.metal,\
 javax.swing.plaf.multi,\
 javax.swing.plaf.nimbus,\
 javax.swing.plaf.synth,\
 javax.swing.table,\
 javax.swing.text,\
 javax.swing.text.html,\
 javax.swing.text.html.parser,\
 javax.swing.text.rtf,\
 javax.swing.tree,\
 javax.swing.undo,\
 javax.tools,\
 javax.xml,\
 javax.xml.bind,\
 javax.xml.bind.annotation,\
 javax.xml.bind.annotation.adapters,\
 javax.xml.bind.attachment,\
 javax.xml.bind.helpers,\
 javax.xml.bind.util,\
 javax.xml.crypto,\
 javax.xml.crypto.dom,\
 javax.xml.crypto.dsig,\
 javax.xml.crypto.dsig.dom,\
 javax.xml.crypto.dsig.keyinfo,\
 javax.xml.crypto.dsig.spec,\
 javax.xml.datatype,\
 javax.xml.namespace,\
 javax.xml.parsers,\
 javax.xml.soap,\
 javax.xml.stream,\
 javax.xml.stream.events,\
 javax.xml.stream.util,\
 javax.xml.transform,\
 javax.xml.transform.dom,\
 javax.xml.transform.sax,\
 javax.xml.transform.stax,\
 javax.xml.transform.stream,\
 javax.xml.validation,\
 javax.xml.ws,\
 javax.xml.ws.handler,\
 javax.xml.ws.handler.soap,\
 javax.xml.ws.http,\
 javax.xml.ws.soap,\
 javax.xml.ws.spi,\
 javax.xml.ws.spi.http,\
 javax.xml.ws.wsaddressing,\
 javax.xml.xpath,\
 org.ietf.jgss,\
 org.omg.CORBA,\
 org.omg.CORBA_2_3,\
 org.omg.CORBA_2_3.portable,\
 org.omg.CORBA.DynAnyPackage,\
 org.omg.CORBA.ORBPackage,\
 org.omg.CORBA.portable,\
 org.omg.CORBA.TypeCodePackage,\
 org.omg.CosNaming,\
 org.omg.CosNaming.NamingContextExtPackage,\
 org.omg.CosNaming.NamingContextPackage,\
 org.omg.Dynamic,\
 org.omg.DynamicAny,\
 org.omg.DynamicAny.DynAnyFactoryPackage,\
 org.omg.DynamicAny.DynAnyPackage,\
 org.omg.IOP,\
 org.omg.IOP.CodecFactoryPackage,\
 org.omg.IOP.CodecPackage,\
 org.omg.Messaging,\
 org.omg.PortableInterceptor,\
 org.omg.PortableInterceptor.ORBInitInfoPackage,\
 org.omg.PortableServer,\
 org.omg.PortableServer.CurrentPackage,\
 org.omg.PortableServer.POAManagerPackage,\
 org.omg.PortableServer.POAPackage,\
 org.omg.PortableServer.portable,\
 org.omg.PortableServer.ServantLocatorPackage,\
 org.omg.SendingContext,\
 org.omg.stub.java.rmi,\
 org.w3c.dom,\
 org.w3c.dom.bootstrap,\
 org.w3c.dom.css,\
 org.w3c.dom.events,\
 org.w3c.dom.html,\
 org.w3c.dom.ls,\
 org.w3c.dom.ranges,\
 org.w3c.dom.stylesheets,\
 org.w3c.dom.traversal,\
 org.w3c.dom.views,\
 org.w3c.dom.xpath,\
 org.xml.sax,\
 org.xml.sax.ext,\
 org.xml.sax.helpers

Aki Kara

unread,
Jan 27, 2019, 6:58:03 AM1/27/19
to OMNeT++ Users
Second workaround works like a charm!

Thank you so much.

Also I'd like to say that I did not try the first offered workaround.

24 Ocak 2019 Perşembe 19:18:57 UTC+3 tarihinde Rudolf Hornig yazdı:

Eduardo Cooper

unread,
May 12, 2019, 12:45:48 AM5/12/19
to OMNeT++ Users
As Rudolf said, downgrading to java 8 and setting it as default as described in: https://codeyarns.com/2015/12/01/how-to-set-default-java-version-in-ubuntu/ does work.
If you get a warning message, you can ignore it, as explained here: https://serverfault.com/questions/814064/set-jdk-8-as-the-default-java-on-debian-8

Eshita Rastogi

unread,
Oct 16, 2019, 4:43:56 AM10/16/19
to OMNeT++ Users
The second one worked for me. 
Reply all
Reply to author
Forward
0 new messages