[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Newsgroup Home]
[news.eclipse.technology.equinox] Re: [p2] Tricks and tips for debugging installation problems

As you know from recent bugzilla discussions there is work going on to improve the usefulness of these messages. In the meantime, the best I can offer is the following. There are two main types of problems that can occur:

- "Unresolved dependency" means there is a bundle/feature that requires another bundle/feature that is not present in any available repository. This can be a bug in the repository you are using, either that they are missing a bundle/feature, or missing an associate site reference to refer to another repository containing the required bundle/feature.

- "mismatch" or "not compatible" - this means there are two things that require *different* versions of the same thing, and therefore can't both be installed successfully. E.g., plugin A requires plugin C with range [1.0,2.0) and plugin B requires C with range [3.0,4.0). There is no version of C that will make both A and B happy.

Every time I have seen these errors, it has turned out to be a bug in the repository data - either a missing or incorrectly specified dependency, or a missing link to an associated repository containing the dependency. So if you are seeing these errors with a repository created by someone else, I encourage you to enter bugs for it.

I realize that these messages are frustrating and painful to resolve. All I can offer as consolation is that this is more painful in p2 because p2 is actually checking that all dependencies are satisfied correctly before installing. With Update Manager, you typically had no problems at install time, but the app would fail in equally difficult to diagnose ways at runtime when the OSGi resolver did this exact same analysis and found the mismatch or unsatisfied dependency (the error messages you see in p2 are a result of invoking the OSGi resolver under the covers). This didn't bother bleeding edge developers who could live with a failure or two, but was a genuine problem in commercial products.
--



Eric Rizzo wrote:
I'm having a struggle getting our features to install into p2-enabled (Eclipse 3.4 based) applications (Ganymede packages, Rational tools, etc). I keep running into dependency issues, but the output that p2 gives when it can't install is less than useful.
Are there any tricks or techniques that can help an experienced plugin developer figure out why his feature won't install? Anything beyond the cryptic "Cannot find match..." and "Unresolved dependency..." messages that show up in the error log and the p2 UI...


I have to say, this experience is a major step backwards from what we had in the pre-3.4 world; I'm not sure if all the blame lies with p2 or if some of it is due to PDE not being quite caught up, but in any case it is quite disappointing. I'm not new to Eclipse or plugin development, either.

Thanks in advance,
Eric