Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » P2 » Dependency satisfaction with different bundle versions
Dependency satisfaction with different bundle versions [message #905932] Fri, 31 August 2012 10:34 Go to next message
Kevin Milburn is currently offline Kevin Milburn
Messages: 13
Registered: July 2012
Junior Member
I'm trying integrate some features into an RCP application and have hit a dependency issue with my target platform.

I have a target platform definition, which looks something like this:

<target name="eclipse 4.2 (juno)" sequenceNumber="2">
<locations>
<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
<unit id="org.apache.xerces" version="2.11.0"/>
<repository location="localserver/repository/"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
...
<unit id="org.eclipse.wst.xml_xml_core.feature.feature.group" version="3.4.0.v201111021744-7C7OFm4F7RZHQRIpOz-P2Xk"/>
<repository location="eclipse/releases/juno"/>
</location>
</locations>
</target>

When loading the file in the Target Editor, I get the following error, which prevents it's use as the active target.
Cannot resolve project dependencies:
   Software being installed: org.apache.xerces 2.11.0
   Only one of the following can be installed at once: [org.apache.xerces 2.11.0, org.apache.xerces 2.9.0]
   Cannot satisfy dependency: org.eclipse.wst.xml_core.feature.feature.group 3.4.0 depends on: org.apache.xerces [2.9.0]

From what I gather, the problem is that the wst.xml_core feature specifies org.apache.xerces 2.9.0 as an included plugin, and I'm trying to include version 2.11.0 of the same plugin.

When the platform is being resolved, somthing within p2 is deciding that it cannot have both 2.9.0 and 2.11.0 of the same plugin, and because it wants to install 2.11.0 it cannot satify the dependency for 2.9.0.

In this instance, I could repackage the plugin with a different name and all would be well (including the existences of differing versions of the same packages), however, this seems like a arbitrary workaround to a problem that shouldn't exist.
And what would I do if I was including different features I was not in control of which results in the same problem.
Re: Dependency satisfaction with different bundle versions [message #910856 is a reply to message #905932] Mon, 10 September 2012 14:01 Go to previous message
Paul Webster is currently offline Paul Webster
Messages: 6859
Registered: July 2009
Location: Ottawa
Senior Member

If org.eclipse.wst.xml_core.feature.feature.group requires org.apache.xerces [2.9.0] specifically, and org.apache.xerces is a singleton bundle, then the only way to get the later version into your target platform would be to use a feature-patch on org.eclipse.wst.xml_core.feature.feature.group to you could update the plugin version.

If org.apache.xerces is not a singleton bundle, then you should open a bug against https://bugs.eclipse.org/bugs/enter_bug.cgi?product=PDE&component=UI since both bundles can exist in an install at the same time, and it sounds like the target platform behaviour would need to be updated. If you do this, please post the bug #

PW


Previous Topic:Is there a way to instruct p2 UI agent to use bundlepool location?
Next Topic:How do we set Available Software Sites
Goto Forum:
  


Current Time: Mon Sep 22 04:13:07 GMT 2014

Powered by FUDForum. Page generated in 0.01730 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software