Community
Participate
Working Groups
Build Identifier: Eclipse 3.6.1 Our product shipped included Eclipse 3.6.1 and it was announced last year. We need to upgrade to Eclipse 3.6.2 but it failed. Reproducible: Always Steps to Reproduce: Our product includes eclipse as its component. We created a product feature com.ibm.tpf.toolkit.product which doesn't include anything and it is only for the product building. We then create another main feature com.ibm.tpf.toolkit which includes Eclipse and another features. The main feature com.ibm.tpf.toolkit is installed into the product and shipped to the user. The first product release was built on Eclipse 3.6.1 and now we need to move to Eclipse 3.6.2 to pick up bug fixes. The main feature com.ibm.tpf.toolkit was built with Eclipse 3.6.2 to create a repository without problem. But when it came to install the main feature through the update site, the following error message was generated and it can't be installed. Cannot complete the install because of a conflicting dependency. Software being installed: IBM TPF Toolkit 3.6.3.201109281419 (com.ibm.tpf.toolkit.feature.group 3.6.3.201109281419) Software currently installed: IBM TPF Toolkit Product Stub 3.6.0.20100804 (com.ibm.tpf.toolkit.product 3.6.0.20100804) Only one of the following can be installed at once: Equinox Launcher Win32 X86 Fragment 1.1.2.R36x_v20101222 (org.eclipse.equinox.launcher.win32.win32.x86 1.1.2.R36x_v20101222) Equinox Launcher Win32 X86 Fragment 1.1.1.R36x_v20100810 (org.eclipse.equinox.launcher.win32.win32.x86 1.1.1.R36x_v20100810) Cannot satisfy dependency: From: IBM TPF Toolkit 3.6.3.201109281419 (com.ibm.tpf.toolkit.feature.group 3.6.3.201109281419) To: org.eclipse.platform.feature.group [3.6.2.r362_v20110210-9gF78Gs1FrIGnHDHWkEcopoN8AmxeZflGDGKQi] Cannot satisfy dependency: From: IBM TPF Toolkit Product Stub 3.6.0.20100804 (com.ibm.tpf.toolkit.product 3.6.0.20100804) To: org.eclipse.equinox.launcher.win32.win32.x86 [1.1.1.R36x_v20100810] Cannot satisfy dependency: From: Eclipse Platform 3.6.2.r362_v20110210-9gF78Gs1FrIGnHDHWkEcopoN8AmxeZflGDGKQi (org.eclipse.platform.feature.group 3.6.2.r362_v20110210-9gF78Gs1FrIGnHDHWkEcopoN8AmxeZflGDGKQi) To: org.eclipse.rcp.feature.group [3.6.2.r362_v20101104-9SAxFMKFkSAqi8axkv1ZjegmiBLY] Cannot satisfy dependency: From: Eclipse RCP 3.6.2.r362_v20101104-9SAxFMKFkSAqi8axkv1ZjegmiBLY (org.eclipse.rcp.feature.group 3.6.2.r362_v20101104-9SAxFMKFkSAqi8axkv1ZjegmiBLY) To: org.eclipse.equinox.launcher.win32.win32.x86 [1.1.2.R36x_v20101222] The following is the feature.xml of the product feature and it doesn't contain any dependency. <?xml version="1.0"?> <feature id="com.ibm.tpf.toolkit.p2.product" label="%featureName" provider-name="IBM" version="3.6.0.201006181738"> <description url="http://www.example.com/description"> [Enter Feature Description here.] </description> <copyright url="http://www.example.com/copyright"> [Enter Copyright Description here.] </copyright> <license url="http://www.example.com/license"> [Enter License Description here.] </license> </feature> It blocked us from upgrade to Eclipse 3.6.2 and it's quite urgent. Please provide some suggestion. Thanks a lot.
This message: Software currently installed: IBM TPF Toolkit Product Stub 3.6.0.20100804 (com.ibm.tpf.toolkit.product 3.6.0.20100804) Implies that your stub product that you only use for building is actually installed and is what is preventing the update. Does your p2 profile in the product contain that unit?
Hi DJ, As shown by the attached feature.xml in the bug, the product feature doesn't has dependency on any feature. Can you please advise where to check the p2 profile of the product? Is it some where in eclipse\configuration? Best Regards Samuel Wu
p2/org.eclipse.equinox.p2.engine/profileRegistry/<profileName>.profile/<timestamp>.profile (might be compressed) This contains the p2 metadata for the things that you have installed. If you can attach the latest file we can look at that.
Created attachment 204746 [details] latest p2 profile There are many profiles in the directory and here is the latest one.
If you look on line 8470 you can see the metadata for the com.ibm.tpf.toolkit.product InstallableUnit (IU). It appears to require exact versions of the launcher bundles so that is why the upgrade is prohibited. In order to do the update I believe you will have to update the com.ibm.tpf.toolkit.product IU as well.
com.ibm.tpf.toolkit.product was built through a product build. It's not an upate site. Please advise how to install the newly rebuilt product into the current one.
Rebuilt the product feature to an update site package. Got the following error message when trying to install it. Cannot complete the install because of a conflicting dependency. Software being installed: TPF Toolkit Product Stub 3.6.2.201110071125 (com.ibm.tpf.toolkit.p2.product.feature.group 3.6.2.201110071125) Software currently installed: IBM TPF Toolkit Product Stub 3.6.0.20100804 (com.ibm.tpf.toolkit.product 3.6.0.20100804) Only one of the following can be installed at once: TPF Toolkit Product Stub 3.6.0.201006181738 (com.ibm.tpf.toolkit.p2.product.feature.jar 3.6.0.201006181738) TPF Toolkit Product Stub 3.6.2.201110071125 (com.ibm.tpf.toolkit.p2.product.feature.jar 3.6.2.201110071125) Cannot satisfy dependency: From: TPF Toolkit Product Stub 3.6.0.201006181738 (com.ibm.tpf.toolkit.p2.product.feature.group 3.6.0.201006181738) To: com.ibm.tpf.toolkit.p2.product.feature.jar [3.6.0.201006181738] Cannot satisfy dependency: From: TPF Toolkit Product Stub 3.6.2.201110071125 (com.ibm.tpf.toolkit.p2.product.feature.group 3.6.2.201110071125) To: com.ibm.tpf.toolkit.p2.product.feature.jar [3.6.2.201110071125] Cannot satisfy dependency: From: IBM TPF Toolkit Product Stub 3.6.0.20100804 (com.ibm.tpf.toolkit.product 3.6.0.20100804) To: com.ibm.tpf.toolkit.p2.product.feature.group [3.6.0.201006181738]
This is basically the same message as originally reported. You are trying to install a new version of the com.ibm.tpf.toolkit.product.feature.group IU but it can't be installed because the com.ibm.tpf.toolkit.product IU has a dependency on things already installed, and it itself isn't being updated. Because the metadata says the com.ibm.tpf.toolkit.product product is installed, it is "locking" the versions of the things it requires, and that is preventing the update. If you don't update it, you cannot update anything it requires because it would break what is currently installed. It is a rule that things which are currently installed take precedence. You will need to create a new version of the com.ibm.tpf.toolkit.product product and install that, which could include updated versions of everything else. Alternatively you may be able to write a p2.inf (which customizes metadata) which will remove the property saying that the com.ibm.tpf.toolkit.product IU is installed strictly, and can be removed. Here are some helpful docs to help with writing a p2.inf file: http://help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Fguide%2Fp2_customizing_metadata.html http://wiki.eclipse.org/Equinox/p2/Customizing_Metadata
Please advise how to build an update site for a product.
We can continue this discussion but I am going to close this bug as it is a request for help and understanding rather than a report of a bug in Eclipse. Please spend a few minutes looking for answers before asking questions. If your build is already p2-enabled, then according to the documentation if you set the p2.metadata.repo and p2.artifact.repo properties then you will get a p2 repository at the end of your build. http://wiki.eclipse.org/Equinox/p2/Publisher#Product_Builds
Rebuilt the product feature and found the following two problems. 1. The update couldn't be found when searching for updates. 2. Tried to install it from 'Install New Software' and got the folloing error messages. Your original request has been modified. "com.ibm.tpf.toolkit.product.root.feature.feature.group" is already installed, so an update will be performed instead. "TPF Toolkit Product Stub" is already installed, so an update will be performed instead. Cannot complete the install because of a conflicting dependency. Software being installed: com.ibm.tpf.toolkit.product.root.feature.feature.group 3.6.0.201110071400 Software currently installed: IBM TPF Toolkit Product Stub 3.6.0.20100804 (com.ibm.tpf.toolkit.product 3.6.0.20100804) Only one of the following can be installed at once: com.ibm.tpf.toolkit.product.root.feature_root 3.6.0.201011031216 com.ibm.tpf.toolkit.product.root.feature_root 3.6.0.201110071400 Cannot satisfy dependency: From: IBM TPF Toolkit Product Stub 3.6.0.20100804 (com.ibm.tpf.toolkit.product 3.6.0.20100804) To: com.ibm.tpf.toolkit.product.root.feature.feature.group [3.6.0.201011031216] Cannot satisfy dependency: From: com.ibm.tpf.toolkit.product.root.feature.feature.group 3.6.0.201011031216 To: com.ibm.tpf.toolkit.product.root.feature_root [3.6.0.201011031216] Cannot satisfy dependency: From: com.ibm.tpf.toolkit.product.root.feature.feature.group 3.6.0.201110071400 To: com.ibm.tpf.toolkit.product.root.feature_root [3.6.0.201110071400]
Do the repository metadata (content.xml) and latest p2 profile give you any clues? Again, this appears to be a case of conflicting dependencies where you already have something installed and it is locked so it is preventing the install of other new items.
Hi DJ, I understand this is a dependency conflict problem and I did found the dependencies in the p2 profile and content.xml. What I'm trying to figure out is where this dependency comes from since we never claimed this dependency. We don't have a feature called com.ibm.tpf.toolkit.product.root.feature_root and it is not installed in the product. If it doesn't even exist, how can it causes the dependency conflict. Is it something generated by p2 publisher?
Yes, the publisher creates special IUs when it generates the metadata for your product, so there may be similarly named IUs for your product and features. It shouldn't create any new dependencies though, dependencies expressed in these extra IUs should mirror those expressed in your regular product/features.
Since the product is alreay shipped, the customers already have the profile which contains the dependencies. Is there a way to remove the dependencies in the update repository so that it can be installed?
Check out the links in comment 8 for tips on writing customized metadata but I hesitate in offering exact advice without knowing the complete structure of what you have installed vs what you are installing.
Can you please advise what information you need? I'd rather provide you with information so that a right choice can be made.
any update?
Not Eclipse