Hi! The main issue is that Eclipse Kura 3.2.0 (the OSGi runtime we're using) came with that particular version, so to retain as much compatibility, behavior wise, as possible, I decided on choosing that particular version.
Meanwhile, these are the currently installed bundles that come with eclipse kura by default. osgi> lb > START LEVEL 6 > ID|State |Level|Name > 0|Active | 0|OSGi System Bundle (3.11.1.v20160708-1632) > 1|Active | 1|Configuration Admin (1.1.200.v20160324-1850) > 2|Resolved | 1|System extension fragment for 'sun.misc' (1.0.200) > 3|Active | 1|Common Eclipse Runtime (3.8.0.v20160509-1230) > 4|Active | 1|Extension Registry Support (3.6.100.v20160223-2218) > 5|Active | 1|Http Service Registry Extensions > (1.1.400.v20150715-1528) > 6|Active | 1|Console plug-in (1.1.200.v20150929-1405) > 7|Active | 1|Declarative Services (1.4.400.v20160226-2036) > 8|Active | 1|Event Admin (1.3.200.v20160324-1850) > 9|Active | 1|IO Connector Service (1.1.100.v20150430-1834) > 10|Active | 1|Meta Type (1.4.200.v20160324-1850) > 11|Active | 1|Equinox Util Bundle (1.0.500.v20130404-1337) > 12|Active | 2|OSGi Release 4.2.0 Services > (3.5.100.v20160504-1419) > 13|Active | 2|OSGi Release 4.2.0 Utility Classes > (3.3.100.v20150423-1351) > 14|Active | 5|Apache Felix Gogo Command (0.10.0.v201209301215) > 15|Active | 5|Apache Felix Gogo Runtime (0.10.0.v201209301036) > 16|Active | 5|Apache Felix Gogo Shell (0.10.0.v201212101605) > 17|Active | 3|KnowHowLab OSGi MonitorAdmin (1.0.2) > 18|Active | 3|Apache Felix Dependency Manager (3.0.0) > 19|Installed | 3|Apache Felix Deployment Admin (0.9.5) > 20|Active | 3|osgi.cmpn (4.3.0.201111022214) > 21|Active | 3|Wire Admin Service (1.0.600.v20150715-1528) > 22|Active | 5|Jetty Http Service (3.4.0.v20170503-2025) > 23|Active | 5|Http Services Servlet (1.4.0.v20170524-1452) > 24|Active | 5|Jetty :: Continuation (9.4.7.v20170914) > 25|Active | 5|Jetty :: Http Utility (9.4.7.v20170914) > 26|Active | 5|Jetty :: IO Utility (9.4.7.v20170914) > 27|Active | 5|Jetty :: Security (9.4.7.v20170914) > 28|Active | 5|Jetty :: Server Core (9.4.7.v20170914) > 29|Active | 5|Jetty :: Servlet Handling (9.4.7.v20170914) > 30|Active | 5|Jetty :: Utilities (9.4.7.v20170914) > 31|Active | 5|Servlet API Bundle (3.1.0.v201410161800) > 32|Active | 3|Apache Commons FileUpload (1.3.2) > 33|Active | 3|Commons IO (2.4.0) > 34|Active | 3|slf4j-api (1.7.21) > 35|Active | 3|jcl-over-slf4j (1.7.21) > 36|Resolved | 3|slf4j-log4j12 (1.7.21) > 37|Resolved | 3|Apache Log4j (1.2.17) > 38|Resolved | 3|Kura wrapper for Apache log4j extras (1.1.100) > 39|Resolved | 5|minimal-json (0.9.4) > 40|Active | 3|HSQLDB (2.3.0) > 41|Active | 3|H2 Database Engine (1.4.192) > 42|Resolved | 3|Native libraries for 'com.codeminders.hidapi' on > ARM 6 HF (1.1.300) > 43|Active | 3|Java API for working with Human Interface USB > Devices (HID) (1.1.300) > 44|Resolved | 3|Comm (Incubation) (1.2.300) > 45|Active | 3|Comm (Incubation) (1.2.300) > 46|Active | 4|Apache Commons Lang (3.4.0) > 47|Active | 4|usb4java (1.2.300) > 48|Active | 4|usb4java-javax (1.2.300) > 49|Resolved | 3|jdk.dio.armv6hf (1.0.300) > 50|Resolved | 3|jdk.dio (1.0.300) > 51|Resolved | 3|Native libraries for 'tinyb' on ARM 6 HF (1.0.100) > 52|Active | 3|Tiny Bluetooth LE Library (1.0.100) > 53|Active | 3|Apache Commons Net (3.1.0.v201205071737) > 54|Resolved | 5|Apache Commons Exec (1.3.0) > 55|Active | 3|jersey-min (2.22.2) > 56|Active | 4|OSGi JAX-RS Connector (5.3.1.201602281253) > 57|Active | 4|JAX-RS Gson Provider (2.3.0.201602281253) > 58|Active | 4|OSGi - JAX-RS Security Provider > (2.2.0.201602281253) > 59|Resolved | 3|Gson: Google Json Library for Java > (2.7.0.v20170129-0911) > 60|Active | 3|org.eclipse.kura.api (1.4.0) > 61|Active | 4|org.eclipse.kura.core (1.0.300) > 62|Active | 4|org.eclipse.kura.core.certificates (1.0.300) > 63|Active | 4|org.eclipse.kura.core.cloud (1.1.200) > 64|Active | 4|org.eclipse.kura.core.comm (1.0.300) > 65|Active | 4|org.eclipse.kura.core.configuration (2.0.0) > 66|Active | 3|org.eclipse.kura.core.crypto (1.0.300) > 67|Active | 4|org.eclipse.kura.core.deployment (1.1.300) > 68|Active | 4|org.eclipse.kura.core.log (1.0.300) > 69|Active | 4|org.eclipse.kura.core.net (1.0.300) > 70|Active | 4|org.eclipse.kura.core.status (1.0.300) > 71|Active | 5|org.eclipse.kura.deployment.agent (1.0.300) > 72|Active | 4|org.eclipse.kura.linux.clock (1.0.300) > 73|Active | 4|org.eclipse.kura.linux.command (1.0.200) > 74|Active | 4|org.eclipse.kura.linux.position (1.0.300) > 75|Resolved | 4|Native libraries for 'org.eclipse.kura.linux.usb' > on ARM 6 HF (1.0.300) > 76|Active | 4|org.eclipse.kura.linux.usb (1.0.300) > 77|Active | 4|org.eclipse.kura.linux.bluetooth (1.0.300) > 78|Active | 4|org.eclipse.kura.ble.provider (1.0.100) > 79|Active | 4|org.eclipse.kura.ble.ibeacon.provider (1.0.100) > 80|Active | 4|org.eclipse.kura.ble.eddystone.provider (1.0.100) > 81|Active | 4|org.eclipse.kura.linux.watchdog (1.0.300) > 82|Resolved | 3|Camel :: Core :: Import sun.misc (1.0.200) > 83|Active | 3|camel-core (2.17.2) > 84|Active | 3|camel-core-osgi (2.17.2) > 85|Active | 3|camel-kura (2.17.2) > 86|Active | 3|camel-stream (2.17.2) > 87|Active | 4|org.eclipse.kura.camel (1.2.200) > 88|Active | 5|Camel Cloud Factory (1.1.200) > 89|Active | 5|Plain XML router component (1.0.300) > 90|Active | 4|Provider (1.0.100) > 91|Active | 4|Kura Asset Accessor Provider (2.0.0) > 92|Active | 4|Asset Cloudlet (1.0.200) > 93|Active | 4|Asset Helper Service Provider (1.0.200) > 94|Active | 4|org.eclipse.kura.asset.rest (1.0.100) > 95|Resolved | 3|Guava: Google Core Libraries for Java (19.0.0) > 96|Resolved | 3|Netty/Buffer (4.1.9.Final) > 97|Resolved | 3|Netty/Codec (4.1.9.Final) > 98|Resolved | 3|Netty/Codec/HTTP (4.1.9.Final) > 99|Resolved | 3|Netty/Codec/MQTT (4.1.9.Final) > 100|Resolved | 3|Netty/Common (4.1.9.Final) > 101|Resolved | 3|Netty/Handler (4.1.9.Final) > 102|Resolved | 3|Netty/Resolver (4.1.9.Final) > 103|Resolved | 3|Netty/Transport (4.1.9.Final) > 104|Resolved | 3|Netty/Transport/Native/Epoll (4.1.9.Final) > 105|Active | 3|ActiveMQ Artemis MQTT Protocol (2.1.0) > 106|Resolved | 3|ActiveMQ Artemis Native POM (2.1.0) > 107|Resolved | 3|Apache Commons BeanUtils (1.9.2) > 108|Resolved | 3|Apache Commons Collections (3.2.2) > 109|Resolved | 3|Apache Geronimo JMS Spec 2.0 (1.0.0.alpha-2) > 110|Resolved | 3|Apache Geronimo JSon Spec 1.0 (1.0.0.alpha-1) > 111|Resolved | 3|geronimo-jta_1.1_spec (1.1.1) > 112|Resolved | 3|JBoss Logging 3 (3.3.1.Final) > 113|Resolved | 3|org.apache.activemq.artemis (2.1.0) > 114|Active | 4|Artemis Broker for Eclipse Kura (1.0.100) > 115|Active | 4|Simple MQTT broker component (1.0.100) > 116|Active | 4|Plain XML configuration broker component (1.0.100) > 117|Active | 4|File Move Deployment Hook Provider (1.0.0) > 118|Active | 3|Kura Json Marshaller utility (1.0.0) > 119|Active | 3|Kura XML Marshaller utility (1.0.0) > 120|Active | 4|Driver Helper Service Provider (1.0.200) > 121|Active | 4|Kura Localization (1.0.200) > 122|Resolved | 5|Localization Resources (1.0.200) > 123|Active | 4|Kura Base Utilities (1.0.200) > 124|Active | 4|H2 Database Wire Components Provider (1.0.100) > 125|Active | 4|Different Wire Components Provider (1.0.200) > 126|Active | 4|Kura Wires Helper Service Provider (1.0.200) > 127|Active | 4|Kura Wires Topology Management (1.0.200) > 128|Active | 5|Conditional Wire Component Provider (1.0.0) > 129|Active | 5|Join Wire Component Provider (1.0.0) > 130|Active | 4|CloudService Relay (CloudService CAT) (1.0.100) > 131|Resolved | 3|gwt-user (1.0.300) > 132|Active | 6|org.eclipse.kura.web2 (2.0.300) > 133|Active | 5|org.eclipse.kura.linux.gpio (1.0.300) > 134|Active | 4|org.eclipse.kura.linux.net (1.0.300) > 135|Active | 5|org.eclipse.kura.net.admin (1.0.300) > 136|Active | 5|mToolkit Instrumentation Agent RPC Bundle > (3.0.0.20110411-0918) > Note that the "installed" deployment admin version is mine. This is what the original manifest looks like after building from sources: Manifest-Version: 1.0 > Bundle-Description: A bundle that implements the Deployment Admin. > Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt > Bundle-SymbolicName: org.apache.felix.deploymentadmin > Built-By: mantas > Bundle-ManifestVersion: 2 > Bnd-LastModified: 1540881844991 > Bundle-DocURL: http://www.apache.org/ > Bundle-Vendor: The Apache Software Foundation > Import-Package: org.apache.felix.deploymentadmin,org.osgi.framework;ve > rsion="[1.5,2)",org.osgi.service.deploymentadmin;version="[1,2)",org. > osgi.service.deploymentadmin.spi;version="[1,2)" > Tool: Bnd-1.15.0 > Export-Package: org.osgi.service.deploymentadmin;uses:="org.osgi.frame > work";version="1.0",org.osgi.service.deploymentadmin.spi;uses:="org.o > sgi.framework,org.osgi.service.deploymentadmin";version="1.0" > Bundle-Version: 0.9.5 > Bundle-Name: Apache Felix Deployment Admin > Bundle-Activator: org.apache.felix.deploymentadmin.Activator > Created-By: Apache Maven Bundle Plugin > Build-Jdk: 1.8.0_181 > Meanwhile this what the original manifest looks like - the one that I found in eclipse kura. Manifest-Version: 1.0 > Export-Package: org.osgi.service.deploymentadmin;uses:="org.osgi.frame > work";version="1.0",org.osgi.service.deploymentadmin.spi;uses:="org.o > sgi.framework,org.osgi.service.deploymentadmin";version="1.0" > Built-By: jawi > Tool: Bnd-1.15.0 > Bundle-Name: Apache Felix Deployment Admin > Created-By: Apache Maven Bundle Plugin > Bundle-Vendor: The Apache Software Foundation > Build-Jdk: 1.7.0_40 > Bundle-Version: 0.9.5 > Bnd-LastModified: 1386084826976 > Bundle-Activator: org.apache.felix.deploymentadmin.Activator > Bundle-ManifestVersion: 2 > Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt > Bundle-Description: A bundle that implements the Deployment Admin. > Bundle-DocURL: http://www.apache.org/ > Bundle-SymbolicName: org.apache.felix.deploymentadmin > Import-Package: org.apache.felix.dm;version="[3.0,4)",org.osgi.framewo > rk;version="[1.5,2)",org.osgi.service.deploymentadmin;version="[1,2)" > ,org.osgi.service.deploymentadmin.spi;version="[1,2)",org.osgi.servic > e.event;version="[1.2,2)",org.osgi.service.log;version="[1.3,2)",org. > osgi.service.packageadmin;version="[1.2,2)" > Rebuilding with import and export packages matching the target seems to result in same error, where it cannot find "org.apache.felix.deploymentadmin". Hope this helps. On Mon, Oct 29, 2018, 17:40 Karl Pauls <[email protected] wrote: > Hi, > > its hard to say what is going wrong without more context. Why are you > trying to compile this version of deploymentadmin and not a later one? > How does the manifest of the result look like? Why would it import > org.apache.felix.deploymentadmin? etc... > > regards, > > Karl > On Mon, Oct 29, 2018 at 1:13 PM Mantas Gridinas <[email protected]> > wrote: > > > > Hi! > > > > I'm trying to compile Apache Felix 0.9.5 Deployment Admin bundle from > > sources provided in > > > https://github.com/apache/felix/commit/33a2fd96113a0959337f8fde22df0fcfafdaed98#diff-70f3719ce35e71bd40c1ac3de64a621b > > and I got myself into an issue where an already existing osgi runtime > > (Eclipse Kura) fails to start it with the following exception: > > > > !ENTRY org.apache.felix.deploymentadmin 4 0 2018-10-29 14:04:53.322 > > > !MESSAGE FrameworkEvent ERROR > > > !STACK 0 > > > org.osgi.framework.BundleException: Could not resolve module: > > > org.apache.felix.deploymentadmin [19] > > > Unresolved requirement: Import-Package: > org.apache.felix.deploymentadmin > > > > > > at org.eclipse.osgi.container.Module.start(Module.java:444) > > > at > > > > org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1620) > > > at > > > > org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1600) > > > at > > > > org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1571) > > > at > > > > org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1514) > > > at > > > > org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1) > > > at > > > > org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) > > > > > > > > at > > > > org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340) > > > > > > > > ... > > > > > !ENTRY org.eclipse.osgi 4 0 2018-10-29 14:05:35.130 > > > > > !MESSAGE Bundle > > initial@reference > :file:../../kura/plugins/org.apache.felix.deploymentadmin_0.9.5.jar > > > was not resolved. > > > > > > > Are there any steps that I should take besides using bundle:bundle to > > properly build it and run it in osgi? JAPI checker seems to suggest that > my > > built osgi bundle jar is 100% compatible with the one that is provided in > > Eclipse Kura installation. > > > > Cheers. > > > > -- > Karl Pauls > [email protected] >
