Question

I created an RCP application that enables p2. The ui is added and updatesites can be added as well.

But adding new software (which is already installed), this happens:

Your original request has been modified.
  "Help" is already installed, so an update will be performed instead.
Cannot complete the install because of a conflicting dependency.
  Software being installed: Help 1.0.0.201210110844 (smartapps.smartsignature.features.help.feature.group 1.0.0.201210110844)
  Software currently installed: SmartSignature 1.0.0.201210110831 (smartapps.smartsignature.application.product 1.0.0.201210110831)
  Only one of the following can be installed at once: 
    Help 1.0.0.201210110844 (smartapps.smartsignature.features.help.feature.jar 1.0.0.201210110844)
    Help 1.0.0.201210110831 (smartapps.smartsignature.features.help.feature.jar 1.0.0.201210110831)
  Cannot satisfy dependency:
    From: SmartSignature 1.0.0.201210110831 (smartapps.smartsignature.application.product 1.0.0.201210110831)
    To: smartapps.smartsignature.features.help.feature.group [1.0.0.201210110831]
  Cannot satisfy dependency:
    From: Help 1.0.0.201210110831 (smartapps.smartsignature.features.help.feature.group 1.0.0.201210110831)
    To: smartapps.smartsignature.features.help.feature.jar [1.0.0.201210110831]
  Cannot satisfy dependency:
    From: Help 1.0.0.201210110844 (smartapps.smartsignature.features.help.feature.group 1.0.0.201210110844)
    To: smartapps.smartsignature.features.help.feature.jar [1.0.0.201210110844]

Well that's the whole point of the p2... There is one thing I think might be causing the error but I don't know how to actually fix it.

Is it possible that the features in the repository are different from the features installed in the base RCP application? That upon installing the p2 detects that it is the same feature but still thinks it is different because it has a different source? Does this make any sense?

Was it helpful?

Solution 3

Well I figured it out... It was just a dependency problem.

My Application Product was based on these Features with a version. So installing another version failed.

I just added my App feature as dependency for the product and included all my (updateable) features in this App Feature. When including them you can set the Feature as Optional.

Setting this feature as optional still includes it in your product build, but it allows you to perform standalone update of only 1 feature at a time!

OTHER TIPS

The problem is probably that your matcher value is perfect/equivalent/compatible.. Then the old version wouldn't accept your updates, because the dependencies aren't compatible.

Look at your features and check if there's something like:

<import plugin="smartapps.smartsignature.features.help.feature.group" version="1.0.0.201210110831" match="..."/>

The possible values for match are:

 (perfect | equivalent | compatible | greaterOrEqual)

Make sure it is greaterOrEquals. That should solve your problem.

"Only one of the following can be installed at once" means that the artifacts you are trying to install cannot co-exist in one installation profile.

This is most likely caused by the "singleton:=true" directive of the "Bundle-SymbolicName" OSGi manifest header, which disallows for bundles using (or declaring) Eclipse extension-points to be installed more than once in one environment.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top