Hello Equinox/p2 folks,

Is it a bug that p2 does not check uses constraints at install time?

I have a case that I am working on that p2 happily installs bundles, but
then they don't resolve.

I have hit this while working on Bug 568379
<https://bugs.eclipse.org/bugs/show_bug.cgi?id=568379> which has
uncommitted parts, so I don't have a reproducer yet that is available.

The error I get is:

org.osgi.framework.BundleException: Could not resolve module:
org.eclipse.mylyn.builds.ui [249]
  Unresolved requirement: Require-Bundle: org.eclipse.jdt.debug.ui;
resolution:="optional"
  Unresolved requirement: Require-Bundle: org.eclipse.jdt.junit;
resolution:="optional"
  Unresolved requirement: Require-Bundle: org.eclipse.jdt.ui;
resolution:="optional"
  Unresolved requirement: Require-Bundle: org.eclipse.mylyn.tasks.ui;
bundle-version="3.8.0"
    -> Bundle-SymbolicName: org.eclipse.mylyn.tasks.ui;
bundle-version="3.25.2.v20200814-0512"; singleton:="true"
       org.eclipse.mylyn.tasks.ui [276]
         Unresolved requirement: Require-Bundle:
org.eclipse.mylyn.commons.notifications.feed; bundle-version="1.0.0"
           -> Bundle-SymbolicName:
org.eclipse.mylyn.commons.notifications.feed;
bundle-version="1.17.2.v20200813-0821"; singleton:="true"
              org.eclipse.mylyn.commons.notifications.feed [254]
                No resolution report for the bundle.  Unresolved
requirement: Require-Bundle: org.eclipse.mylyn.team.ui;
bundle-version="3.8.0"
    -> Bundle-SymbolicName: org.eclipse.mylyn.team.ui;
bundle-version="3.25.2.v20200828-1617"; singleton:="true"
       org.eclipse.mylyn.team.ui [277]
         Unresolved requirement: Require-Bundle:
org.eclipse.mylyn.tasks.ui; bundle-version="[3.8.0,4.0.0)"
           -> Bundle-SymbolicName: org.eclipse.mylyn.tasks.ui;
bundle-version="3.25.2.v20200814-0512"; singleton:="true"
  Bundle was not resolved because of a uses constraint violation.
  org.apache.felix.resolver.reason.ReasonException: Uses constraint
violation. Unable to resolve resource
org.eclipse.mylyn.commons.notifications.feed [osgi.identity;
osgi.identity="org.eclipse.mylyn.commons.notifications.feed";
type="osgi.bundle"; version:Version="1.17.2.v20200813-0821";
singleton:="true"] because it is exposed to package 'javax.xml.bind' from
resources javax.xml.bind [osgi.identity; osgi.identity="javax.xml.bind";
type="osgi.bundle"; version:Version="2.2.0.v201105210648"] and
jakarta.xml.bind [osgi.identity; type="osgi.bundle";
version:Version="2.3.3.v20201118-1629"; osgi.identity="jakarta.xml.bind"]
via two dependency chains.

Chain 1:
  org.eclipse.mylyn.commons.notifications.feed [osgi.identity;
osgi.identity="org.eclipse.mylyn.commons.notifications.feed";
type="osgi.bundle"; version:Version="1.17.2.v20200813-0821";
singleton:="true"]
    require: (&(osgi.wiring.bundle=javax.xml.bind)(bundle-version>=2.2.0))
     |
    provide: osgi.wiring.bundle: javax.xml.bind
  javax.xml.bind [osgi.identity; osgi.identity="javax.xml.bind";
type="osgi.bundle"; version:Version="2.2.0.v201105210648"]

Chain 2:
  org.eclipse.mylyn.commons.notifications.feed [osgi.identity;
osgi.identity="org.eclipse.mylyn.commons.notifications.feed";
type="osgi.bundle"; version:Version="1.17.2.v20200813-0821";
singleton:="true"]
    require: (&(osgi.wiring.bundle=com.sun.xml.bind)(bundle-version>=2.2.0))
     |
    provide: osgi.wiring.bundle;
bundle-version:Version="2.3.3.v20201118-1639";
osgi.wiring.bundle="com.sun.xml.bind"
  com.sun.xml.bind [osgi.identity; type="osgi.bundle";
version:Version="2.3.3.v20201118-1639"; osgi.identity="com.sun.xml.bind"]
    import:
(&(osgi.wiring.package=javax.xml.bind)(&(version>=2.3.3)(!(version>=2.3.4))))
     |
    export: osgi.wiring.package: javax.xml.bind
  jakarta.xml.bind [osgi.identity; type="osgi.bundle";
version:Version="2.3.3.v20201118-1629"; osgi.identity="jakarta.xml.bind"]
at org.eclipse.osgi.container.Module.start(Module.java:463)
at
org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel$2.run(ModuleContainer.java:1845)
at
org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor$1$1.execute(EquinoxContainerAdaptor.java:136)
at
org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1838)
at
org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1779)
at
org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1743)
at
org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1665)
at
org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
at
org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234)
at
org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:345)

Thanks
Jonah

~~~
Jonah Graham
Kichwa Coders
www.kichwacoders.com
_______________________________________________
equinox-dev mailing list
[email protected]
To unsubscribe from this list, visit 
https://www.eclipse.org/mailman/listinfo/equinox-dev

Reply via email to