osgi / osgi.enroute

The OSGi enRoute project provides a programming model of OSGi applications. This project contains bundles providing the API for the OSGi enRoute base profile and bundles for the OSGi enRoute project. The base profile establishes a runtime that contains a minimal set of services that can be used as a base for applications.
https://enroute.osgi.org/
Apache License 2.0
124 stars 81 forks source link

Java 9 example #47

Closed Azbesciak closed 5 years ago

Azbesciak commented 6 years ago

Hi, i was trying to build repo on java 9 (without changes at the first shot). As the result...:

 Failed to start bundle org.osgi.enroute.examples.microservice.rest-service-0.0.1.201804180700, exception Unable to resolve org.osgi.enroute.examples.microservice.rest-service [17](R 17.0): missing requirement [org.osgi.enroute.examples.microservice.rest-service [17](R 17.0)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.core) [caused by: Unable to resolve org.apache.aries.javax.jax.rs-api [6](R 6.0): missing requirement [org.apache.aries.javax.jax.rs-api [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.bind.annotation)] Unresolved requirements: [[org.osgi.enroute.examples.microservice.rest-service [17](R 17.0)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.core)]
org.osgi.framework.BundleException: Unable to resolve org.osgi.enroute.examples.microservice.rest-service [17](R 17.0): missing requirement [org.osgi.enroute.examples.microservice.rest-service [17](R 17.0)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.core) [caused by: Unable to resolve org.apache.aries.javax.jax.rs-api [6](R 6.0): missing requirement [org.apache.aries.javax.jax.rs-api [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.bind.annotation)] Unresolved requirements: [[org.osgi.enroute.examples.microservice.rest-service [17](R 17.0)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.core)]
        at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4149)
        at org.apache.felix.framework.Felix.startBundle(Felix.java:2119)
        at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:998)
        at aQute.launcher.Launcher.startBundles(Launcher.java:517)
        at aQute.launcher.Launcher.activate(Launcher.java:423)
        at aQute.launcher.Launcher.run(Launcher.java:301)
        at aQute.launcher.Launcher.main(Launcher.java:147)
! Failed to start bundle org.osgi.enroute.examples.microservice.rest-service-test-0.0.1.201804180700, exception Unable to resolve org.osgi.enroute.examples.microservice.rest-service-test [18](R 18.0): missing requirement [org.osgi.enroute.examples.microservice.rest-service-test [18](R 18.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.service.jaxrs.runtime.dto)(version>=1.0.0)(!(version>=2.0.0))) [caused by: Unable to resolve org.osgi.service.jaxrs [19](R 19.0): missing requirement [org.osgi.service.jaxrs [19](R 19.0)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.client) [caused by: Unable to resolve org.apache.aries.javax.jax.rs-api [6](R 6.0): missing requirement [org.apache.aries.javax.jax.rs-api [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.bind.annotation)]] Unresolved requirements: [[org.osgi.enroute.examples.microservice.rest-service-test [18](R 18.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.service.jaxrs.runtime.dto)(version>=1.0.0)(!(version>=2.0.0)))]
org.osgi.framework.BundleException: Unable to resolve org.osgi.enroute.examples.microservice.rest-service-test [18](R 18.0): missing requirement [org.osgi.enroute.examples.microservice.rest-service-test [18](R 18.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.service.jaxrs.runtime.dto)(version>=1.0.0)(!(version>=2.0.0))) [caused by: Unable to resolve org.osgi.service.jaxrs [19](R 19.0): missing requirement [org.osgi.service.jaxrs [19](R 19.0)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.client) [caused by: Unable to resolve org.apache.aries.javax.jax.rs-api [6](R 6.0): missing requirement [org.apache.aries.javax.jax.rs-api [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.bind.annotation)]] Unresolved requirements: [[org.osgi.enroute.examples.microservice.rest-service-test [18](R 18.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.service.jaxrs.runtime.dto)(version>=1.0.0)(!(version>=2.0.0)))]
        at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4149)
        at org.apache.felix.framework.Felix.startBundle(Felix.java:2119)
        at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:998)
        at aQute.launcher.Launcher.startBundles(Launcher.java:517)
        at aQute.launcher.Launcher.activate(Launcher.java:423)
        at aQute.launcher.Launcher.run(Launcher.java:301)
        at aQute.launcher.Launcher.main(Launcher.java:147)
! Failed to start bundle org.osgi.service.jaxrs-1.0.0.201804171514-SNAPSHOT, exception Unable to resolve org.osgi.service.jaxrs [19](R 19.0): missing requirement [org.osgi.service.jaxrs [19](R 19.0)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.core) [caused by: Unable to resolve org.apache.aries.javax.jax.rs-api [6](R 6.0): missing requirement [org.apache.aries.javax.jax.rs-api [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.bind.annotation)] Unresolved requirements: [[org.osgi.service.jaxrs [19](R 19.0)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.core)]
org.osgi.framework.BundleException: Unable to resolve org.osgi.service.jaxrs [19](R 19.0): missing requirement [org.osgi.service.jaxrs [19](R 19.0)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.core) [caused by: Unable to resolve org.apache.aries.javax.jax.rs-api [6](R 6.0): missing requirement [org.apache.aries.javax.jax.rs-api [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.bind.annotation)] Unresolved requirements: [[org.osgi.service.jaxrs [19](R 19.0)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.core)]
        at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4149)
        at org.apache.felix.framework.Felix.startBundle(Felix.java:2119)
        at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:998)
        at aQute.launcher.Launcher.startBundles(Launcher.java:517)
        at aQute.launcher.Launcher.activate(Launcher.java:423)
        at aQute.launcher.Launcher.run(Launcher.java:301)
        at aQute.launcher.Launcher.main(Launcher.java:147)
Unable to resolve org.apache.aries.javax.jax.rs-api [6](R 6.0): missing requirement [org.apache.aries.javax.jax.rs-api [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.bind.annotation) Unresolved requirements: [[org.apache.aries.javax.jax.rs-api [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.bind.annotation)]
Unable to resolve org.apache.aries.jax.rs.whiteboard [7](R 7.0): missing requirement [org.apache.aries.jax.rs.whiteboard [7](R 7.0)] osgi.wiring.package; (osgi.wiring.package=javax.activation) Unresolved requirements: [[org.apache.aries.jax.rs.whiteboard [7](R 7.0)] osgi.wiring.package; (osgi.wiring.package=javax.activation)]
Unable to resolve org.osgi.enroute.examples.microservice.rest-service [17](R 17.0): missing requirement [org.osgi.enroute.examples.microservice.rest-service [17](R 17.0)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.core) [caused by: Unable to resolve org.apache.aries.javax.jax.rs-api [6](R 6.0): missing requirement [org.apache.aries.javax.jax.rs-api [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.bind.annotation)] Unresolved requirements: [[org.osgi.enroute.examples.microservice.rest-service [17](R 17.0)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.core)]
Unable to resolve org.osgi.enroute.examples.microservice.rest-service-test [18](R 18.0): missing requirement [org.osgi.enroute.examples.microservice.rest-service-test [18](R 18.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.service.jaxrs.runtime.dto)(version>=1.0.0)(!(version>=2.0.0))) [caused by: Unable to resolve org.osgi.service.jaxrs [19](R 19.0): missing requirement [org.osgi.service.jaxrs [19](R 19.0)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.client) [caused by: Unable to resolve org.apache.aries.javax.jax.rs-api [6](R 6.0): missing requirement [org.apache.aries.javax.jax.rs-api [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.bind.annotation)]] Unresolved requirements: [[org.osgi.enroute.examples.microservice.rest-service-test [18](R 18.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.service.jaxrs.runtime.dto)(version>=1.0.0)(!(version>=2.0.0)))]
Unable to resolve org.osgi.service.jaxrs [19](R 19.0): missing requirement [org.osgi.service.jaxrs [19](R 19.0)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.core) [caused by: Unable to resolve org.apache.aries.javax.jax.rs-api [6](R 6.0): missing requirement [org.apache.aries.javax.jax.rs-api [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.bind.annotation)] Unresolved requirements: [[org.osgi.service.jaxrs [19](R 19.0)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.core)]
TEST testAllResolved(aQute.junit.UnresolvedTester) <<< FAILURE: Unresolved bundles
org.apache.aries.javax.jax.rs-api [6];0.0.1.201804031517
    Unable to resolve org.apache.aries.javax.jax.rs-api [6](R 6.0): missing requirement [org.apache.aries.javax.jax.rs-api [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.bind.annotation) Unresolved requirements: [[org.apache.aries.javax.jax.rs-api [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.bind.annotation)]

org.apache.aries.jax.rs.whiteboard [7];0.0.1.201804031519
    Unable to resolve org.apache.aries.jax.rs.whiteboard [7](R 7.0): missing requirement [org.apache.aries.jax.rs.whiteboard [7](R 7.0)] osgi.wiring.package; (osgi.wiring.package=javax.activation) Unresolved requirements: [[org.apache.aries.jax.rs.whiteboard [7](R 7.0)] osgi.wiring.package; (osgi.wiring.package=javax.activation)]

org.osgi.enroute.examples.microservice.rest-service [17];0.0.1.201804180700
    Unable to resolve org.osgi.enroute.examples.microservice.rest-service [17](R 17.0): missing requirement [org.osgi.enroute.examples.microservice.rest-service [17](R 17.0)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.core) [caused by: Unable to resolve org.apache.aries.javax.jax.rs-api [6](R 6.0): missing requirement [org.apache.aries.javax.jax.rs-api [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.bind.annotation)] Unresolved requirements: [[org.osgi.enroute.examples.microservice.rest-service [17](R 17.0)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.core)]

org.osgi.enroute.examples.microservice.rest-service-test [18];0.0.1.201804180700
    Unable to resolve org.osgi.enroute.examples.microservice.rest-service-test [18](R 18.0): missing requirement [org.osgi.enroute.examples.microservice.rest-service-test [18](R 18.0)] osgi.wiring.package;

         Import-Package: org.osgi.service.jaxrs.runtime.dto;version=[1.0.0,2.0.0)
 [caused by: Unable to resolve org.osgi.service.jaxrs [19](R 19.0): missing requirement [org.osgi.service.jaxrs [19](R 19.0)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.client) [caused by: Unable to resolve org.apache.aries.javax.jax.rs-api [6](R 6.0): missing requirement [org.apache.aries.javax.jax.rs-api [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.bind.annotation)]] Unresolved requirements: [[org.osgi.enroute.examples.microservice.rest-service-test [18](R 18.0)] osgi.wiring.package;

         Import-Package: org.osgi.service.jaxrs.runtime.dto;version=[1.0.0,2.0.0)
]

org.osgi.service.jaxrs [19];1.0.0.201804171514-SNAPSHOT
    Unable to resolve org.osgi.service.jaxrs [19](R 19.0): missing requirement [org.osgi.service.jaxrs [19](R 19.0)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.core) [caused by: Unable to resolve org.apache.aries.javax.jax.rs-api [6](R 6.0): missing requirement [org.apache.aries.javax.jax.rs-api [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.bind.annotation)] Unresolved requirements: [[org.osgi.service.jaxrs [19](R 19.0)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.core)]

junit.framework.AssertionFailedError: Unresolved bundles
org.apache.aries.javax.jax.rs-api [6];0.0.1.201804031517
    Unable to resolve org.apache.aries.javax.jax.rs-api [6](R 6.0): missing requirement [org.apache.aries.javax.jax.rs-api [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.bind.annotation) Unresolved requirements: [[org.apache.aries.javax.jax.rs-api [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.bind.annotation)]

org.apache.aries.jax.rs.whiteboard [7];0.0.1.201804031519
    Unable to resolve org.apache.aries.jax.rs.whiteboard [7](R 7.0): missing requirement [org.apache.aries.jax.rs.whiteboard [7](R 7.0)] osgi.wiring.package; (osgi.wiring.package=javax.activation) Unresolved requirements: [[org.apache.aries.jax.rs.whiteboard [7](R 7.0)] osgi.wiring.package; (osgi.wiring.package=javax.activation)]

org.osgi.enroute.examples.microservice.rest-service [17];0.0.1.201804180700
    Unable to resolve org.osgi.enroute.examples.microservice.rest-service [17](R 17.0): missing requirement [org.osgi.enroute.examples.microservice.rest-service [17](R 17.0)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.core) [caused by: Unable to resolve org.apache.aries.javax.jax.rs-api [6](R 6.0): missing requirement [org.apache.aries.javax.jax.rs-api [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.bind.annotation)] Unresolved requirements: [[org.osgi.enroute.examples.microservice.rest-service [17](R 17.0)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.core)]

org.osgi.enroute.examples.microservice.rest-service-test [18];0.0.1.201804180700
    Unable to resolve org.osgi.enroute.examples.microservice.rest-service-test [18](R 18.0): missing requirement [org.osgi.enroute.examples.microservice.rest-service-test [18](R 18.0)] osgi.wiring.package;

         Import-Package: org.osgi.service.jaxrs.runtime.dto;version=[1.0.0,2.0.0)
 [caused by: Unable to resolve org.osgi.service.jaxrs [19](R 19.0): missing requirement [org.osgi.service.jaxrs [19](R 19.0)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.client) [caused by: Unable to resolve org.apache.aries.javax.jax.rs-api [6](R 6.0): missing requirement [org.apache.aries.javax.jax.rs-api [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.bind.annotation)]] Unresolved requirements: [[org.osgi.enroute.examples.microservice.rest-service-test [18](R 18.0)] osgi.wiring.package;

         Import-Package: org.osgi.service.jaxrs.runtime.dto;version=[1.0.0,2.0.0)
]

org.osgi.service.jaxrs [19];1.0.0.201804171514-SNAPSHOT
    Unable to resolve org.osgi.service.jaxrs [19](R 19.0): missing requirement [org.osgi.service.jaxrs [19](R 19.0)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.core) [caused by: Unable to resolve org.apache.aries.javax.jax.rs-api [6](R 6.0): missing requirement [org.apache.aries.javax.jax.rs-api [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.bind.annotation)] Unresolved requirements: [[org.osgi.service.jaxrs [19](R 19.0)] osgi.wiring.package; (osgi.wiring.package=javax.ws.rs.core)]

        at junit.framework.Assert.fail(Assert.java:57)
        at junit.framework.Assert.assertTrue(Assert.java:22)
        at junit.framework.TestCase.assertTrue(TestCase.java:192)
        at aQute.junit.UnresolvedTester.testAllResolved(UnresolvedTester.java:51)
        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:564)
        at junit.framework.TestCase.runTest(TestCase.java:176)
        at junit.framework.TestCase.runBare(TestCase.java:141)
        at junit.framework.TestResult$1.protect(TestResult.java:122)
        at junit.framework.TestResult.runProtected(TestResult.java:142)
        at junit.framework.TestResult.run(TestResult.java:125)
        at junit.framework.TestCase.run(TestCase.java:129)
        at junit.framework.TestSuite.runTest(TestSuite.java:252)
        at junit.framework.TestSuite.run(TestSuite.java:247)
        at junit.framework.TestSuite.runTest(TestSuite.java:252)
        at junit.framework.TestSuite.run(TestSuite.java:247)
        at aQute.junit.Activator.test(Activator.java:351)
        at aQute.junit.Activator.run(Activator.java:159)
        at aQute.launcher.Launcher$5.call(Launcher.java:1343)
        at aQute.launcher.Launcher$5.call(Launcher.java:1340)
        at aQute.launcher.Launcher.run(Launcher.java:347)
        at aQute.launcher.Launcher.main(Launcher.java:147)
Tests run  : 1
Passed     : 0
Errors     : 0
Failures   : 1
[INFO] 1 Error(s)
[ERROR] Error   : Exit code remote process 1: java -cp C:\Users\Witek\.m2\repository\org\apache\felix\org.apache.felix.framework\5.7.0-SNAPSHOT\org.apache.felix.framework-5.7.0-SNAPSHOT.jar;C:\dev\Projects\osgi.enroute\examples\microservice\rest-service-test\target\test\integration-test\cnf\cache\4.0.0\bnd-cache\biz.aQute.launcher\biz.aQute.launcher-4.0.0.jar -Dlauncher.properties="C:\dev\Projects\osgi.enroute\examples\microservice\rest-service-test\target\test\integration-test\generated\launch11916236618521786612.properties" -ea aQute.launcher.Launcher
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] OSGi enRoute indexes parent ........................ SUCCESS [  0.224 s]
[INFO] osgi-api ........................................... SUCCESS [  0.010 s]
[INFO] impl-index ......................................... SUCCESS [  1.820 s]
[INFO] enterprise-api ..................................... SUCCESS [  0.009 s]
[INFO] debug-bundles ...................................... SUCCESS [  0.009 s]
[INFO] test-bundles ....................................... SUCCESS [  0.581 s]
[INFO] OSGi enRoute Archetypes parent ..................... SUCCESS [  0.047 s]
[INFO] project ............................................ SUCCESS [ 18.945 s]
[INFO] ds-component ....................................... SUCCESS [  4.951 s]
[INFO] rest-component ..................................... SUCCESS [  5.047 s]
[INFO] project-bare ....................................... SUCCESS [  1.526 s]
[INFO] application ........................................ SUCCESS [ 22.469 s]
[INFO] api ................................................ SUCCESS [  4.145 s]
[INFO] bundle-test ........................................ SUCCESS [  8.421 s]
[INFO] OSGi enRoute examples parent ....................... SUCCESS [  0.010 s]
[INFO] quickstart ......................................... SUCCESS [  0.006 s]
[INFO] rest ............................................... SUCCESS [  0.992 s]
[INFO] app ................................................ SUCCESS [  1.616 s]
[INFO] microservice ....................................... SUCCESS [  0.008 s]
[INFO] dao-api ............................................ SUCCESS [  0.964 s]
[INFO] rest-service ....................................... SUCCESS [  0.678 s]
[INFO] dao-impl ........................................... SUCCESS [  0.175 s]
[INFO] rest-app ........................................... SUCCESS [  1.795 s]
[INFO] dao-impl-jpa ....................................... SUCCESS [  0.224 s]
[INFO] rest-app-jpa ....................................... SUCCESS [  3.256 s]
[INFO] rest-service-test .................................. FAILURE [  2.781 s]
[INFO] OSGi enRoute All ................................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE

I know java 8 is now mostly used so it is maybe not the-highest-priority, but it would be nice to see at least minimal working on java 9+ example. I changed the java version in integration-test.bndrun and main pom.xml just for test, but as you assume - didn't change a lot.

timothyjward commented 6 years ago

Thank you for your feedback to the enRoute project

\ Java 9 makes some breaking changes - this is one of them. OSGi enRoute targets Java 8 as this is the only current long term support release for Java, it's therefore difficult to do much to make this work transparently without losing Java 8 support. The rest of this response gives some ideas for how you can keep making progress with Java 9. \

This is the useful bit of the error:

Unable to resolve org.apache.aries.javax.jax.rs-api [6](R 6.0): 
missing requirement [org.apache.aries.javax.jax.rs-api [6](R 6.0)] 
osgi.wiring.package; (osgi.wiring.package=javax.xml.bind.annotation)]

This tells us that we're missing the javax.xml.bind.annotation package, which would normally come from Java itself, so what's going on?

This is actually an issue with using Java 9 - as part of the goal of "making Java more modular" they actually removed packages from the default JRE launch! You can see a nice explanation in this bug on Stack Overflow

If you start your JRE with the relevant flag(s) then it will have the necessary package available and things will work.

Another option is to re-resolve the application for Java 9. This is actually more correct as it accurately represents the target that you're using to run the application. You can do this by changing the target execution environment in the various bndruns. This will result in the resolve operations generating a set of bundles including the JAXB API (as it's not provided from anywhere else), and everything should work fine in tests and at runtime.

jest commented 6 years ago

A follow-up is in this issue https://github.com/bndtools/bnd/issues/2496

timothyjward commented 5 years ago

I believe that this issue is resolved - the templates now offer users the opportunity to select their target Java version.

gruzzyh2 commented 3 years ago

Hello, I have the same issue, but I have Java 11. I don't understand what you mean with " If you start your JRE with the relevant flag(s) then it will have the necessary package available and things will work. " Can you help me with that ?