Help with OSGI Unable to resolve missing requirement

1,607 views
Skip to first unread message

Maximiliano Lira Del Canto

unread,
Sep 22, 2020, 11:33:19 AM9/22/20
to Opencast Development

Hi all,

I'm backporting a feature from develop to 8.X I managed to get all the dependencies and compile with tests perfectly, But when I start Opencast I found with this error message that blocks the startup:



org.apache.felix.resolver.reason.ReasonException: Unable to resolve root: missing requirement [root] osgi.identity; osgi.identity=opencast-allinone; type=karaf.feature; version="[8.0.0.SNAPSHOT,8.0.0.SNAPSHOT]"; filter:="(&(osgi.identity=opencast-allinone)(type=karaf.feature)(version>=8.0.0.SNAPSHOT)(version<=8.0.0.SNAPSHOT))" [caused by: Unable to resolve opencast-allinone/8.0.0.SNAPSHOT: missing requirement [opencast-allinone/8.0.0.SNAPSHOT] osgi.identity; osgi.identity=opencast-services-processing-heavy-load; type=karaf.feature [caused by: Unable to resolve opencast-services-processing-heavy-load/8.0.0.SNAPSHOT: missing requirement [opencast-services-processing-heavy-load/8.0.0.SNAPSHOT] osgi.identity; osgi.identity=opencast-composer-ffmpeg; type=osgi.bundle; version="[8.0.0.SNAPSHOT,8.0.0.SNAPSHOT]"; resolution:=mandatory [caused by: Unable to resolve opencast-composer-ffmpeg/8.0.0.SNAPSHOT: missing requirement [opencast-composer-ffmpeg/8.0.0.SNAPSHOT] osgi.service; filter:="(objectClass=org.opencastproject.composer.impl.EncodingProfileScanner)"; effective:=active]]]
        at org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1343)
        at org.apache.felix.resolver.ResolverImpl.doResolve(ResolverImpl.java:392)
        at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:378)
        at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:332)
        at org.apache.karaf.features.internal.region.SubsystemResolver.resolve(SubsystemResolver.java:257)
        at org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:388)
        at org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1025)
        at org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:964)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.felix.resolver.reason.ReasonException: Unable to resolve opencast-allinone/8.0.0.SNAPSHOT: missing requirement [opencast-allinone/8.0.0.SNAPSHOT] osgi.identity; osgi.identity=opencast-services-processing-heavy-load; type=karaf.feature [caused by: Unable to resolve opencast-services-processing-heavy-load/8.0.0.SNAPSHOT: missing requirement [opencast-services-processing-heavy-load/8.0.0.SNAPSHOT] osgi.identity; osgi.identity=opencast-composer-ffmpeg; type=osgi.bundle; version="[8.0.0.SNAPSHOT,8.0.0.SNAPSHOT]"; resolution:=mandatory [caused by: Unable to resolve opencast-composer-ffmpeg/8.0.0.SNAPSHOT: missing requirement [opencast-composer-ffmpeg/8.0.0.SNAPSHOT] osgi.service; filter:="(objectClass=org.opencastproject.composer.impl.EncodingProfileScanner)"; effective:=active]]
        at org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1343)
        ... 12 more
Caused by: org.apache.felix.resolver.reason.ReasonException: Unable to resolve opencast-services-processing-heavy-load/8.0.0.SNAPSHOT: missing requirement [opencast-services-processing-heavy-load/8.0.0.SNAPSHOT] osgi.identity; osgi.identity=opencast-composer-ffmpeg; type=osgi.bundle; version="[8.0.0.SNAPSHOT,8.0.0.SNAPSHOT]"; resolution:=mandatory [caused by: Unable to resolve opencast-composer-ffmpeg/8.0.0.SNAPSHOT: missing requirement [opencast-composer-ffmpeg/8.0.0.SNAPSHOT] osgi.service; filter:="(objectClass=org.opencastproject.composer.impl.EncodingProfileScanner)"; effective:=active]
        at org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1343)
        ... 13 more
Caused by: org.apache.felix.resolver.reason.ReasonException: Unable to resolve opencast-composer-ffmpeg/8.0.0.SNAPSHOT: missing requirement [opencast-composer-ffmpeg/8.0.0.SNAPSHOT] osgi.service; filter:="(objectClass=org.opencastproject.composer.impl.EncodingProfileScanner)"; effective:=active
        at org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1343)
        ... 14 more


In the Karaf-features appears all the <feature start-level="80"> in red saying that the attribute start level is not allowed there.


I don't know where to look at, I need help with this.


Best regards.

Max

Karen Dolan

unread,
Sep 22, 2020, 12:02:38 PM9/22/20
to d...@opencast.org
Hi Max,

I recommend scanning through your assemblies/karaf-features/src/main/feature/feature.xml
to verify that all version numbers in that file match all of the dependency versions being used from libraries pulled in from the pom and their supporting libs.

Best of luck,
Karen


--
To unsubscribe from this group and stop receiving emails from it, send an email to dev+uns...@opencast.org.

Maximiliano Lira Del Canto

unread,
Oct 1, 2020, 4:29:25 AM10/1/20
to Opencast Development, kdo...@g.harvard.edu
Thanks Karen for your help,

After understanding better what was happening I figured out that I had a mix of the new "OSGI annotations" and OSGI-INF modules. Cherry-picking the commits related to OSGI solved the issue.


Cheers
Max
Reply all
Reply to author
Forward
0 new messages