Dependency error when installing Groovy-Eclipse

Bug #575376 reported by chocolateboy
24
This bug affects 3 people
Affects Status Importance Assigned to Milestone
eclipse (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

Binary package hint: eclipse

The Groovy-Eclipse 2.0.0 plugin can't be installed against the Lucid version of Eclipse (3.5.2-2ubuntu4).

Using this site:

http://dist.springsource.org/release/GRECLIPSE/e3.5/

- the install fails with the error in the attached log.

I have reproduced this on a completely clean Eclipse install with ~/.eclipse and all workspace directories removed.

Revision history for this message
chocolateboy (chocolateboy) wrote :
Revision history for this message
chocolateboy (chocolateboy) wrote :
description: updated
Revision history for this message
Niels Thykier (niels-thykier) wrote :

Hi

I can confirm the issue. The groovy feature depends on the plugin org.eclipse.jdt.core version "3.5.2.20100319-1100-e35-RELEASE", which looks like a home made version (but it could also be an official "post release" update). Perhaps upstream could be convinced to build against "3.5.2.v_981_R35x" instead. I am fairly certain Fedora uses the same version of o.e.jdt.core for their eclipse, so it would fix the issue on Fedora installs as well.

There are 3 other alternatives; first have groovy packed via Ubuntu and install it via Ubuntu's repositories (too late for Lucid, but should be doable via a ppa); uninstall Ubuntu's eclipse and use the one from eclipse.org or finally mess with the configuration allowing you to install new versions of the "core" plugins. Mind you that the two last options are not supported by Ubuntu, so we cannot help you if it ends up "blowing up".

Also, next time please provide the apport data for the bug as well (e.g. running apport-collect <bug-no> from a terminal); it helps us find the problem (or rule out issues).

~Niels

Changed in eclipse (Ubuntu):
status: New → Confirmed
Revision history for this message
chocolateboy (chocolateboy) wrote :

Hi, Niels.

> The groovy feature depends on the plugin org.eclipse.jdt.core version
> "3.5.2.20100319-1100-e35-RELEASE",
> which looks like a home made version

Yes, I believe it's a patched version with some "minor" changes

> uninstall Ubuntu's eclipse and use the one from eclipse.org

I'm doing this for now, though Eclipse is exactly the kind of unwieldy beast I'd rather have my package manager manage. I'll ping the upstream maintainer so that he's at least aware of the first option.

> next time please provide the apport data for the bug as well

 Will do. Thanks.

Revision history for this message
Andrew Eisenberg (andrew-eisenberg) wrote :

Hi,

The problem here is likely in the way that the Ubuntu Eclipse package is created. Groovy-Eclipse uses a feature patch for jdt.core, which means that we need to overwrite the original org.eclipse.jdt.core bundle with our version. Now, in most distros of Eclipse, this works out with no problem. It is possible to augment the existing org.eclipse.jdt feature with our feature patch for org.eclipse.jdt.core.

For some reason, the distro created for Ubuntu has some different kind of dependency structure. It is possible that the top level feature (Eclipse Platform) has a tight dependency on the jdt core plugin, but I don't know.

Is there any reason why the distro used by Ubuntu is not the same as the one available from Eclipse.org?

If there is a reason why you create your own package, perhaps can have a look at the packaging scripts. I may be able to provide some suggestions.

ps- the 3.5.2.v_981_R35x version of JDT core is the version that we build against, but as I said, we require our own version of the plugin so that there can be compiler integration with groovy.

Revision history for this message
Niels Thykier (niels-thykier) wrote : Re: [Bug 575376] Re: Dependency error when installing Groovy-Eclipse

Andrew Eisenberg wrote:
> Hi,
>
> The problem here is likely in the way that the Ubuntu Eclipse package is
> created. Groovy-Eclipse uses a feature patch for jdt.core, which means
> that we need to overwrite the original org.eclipse.jdt.core bundle with
> our version. Now, in most distros of Eclipse, this works out with no
> problem. It is possible to augment the existing org.eclipse.jdt feature
> with our feature patch for org.eclipse.jdt.core.
>

Can this patch be sent upstream (to eclipse.org) or is it so specific
that is only makes sense for the groovy feature?

It is a problem for us if o.e.jdt.core is upgraded via eclipse's update
manager, because it means we lose our ability to upgrade/patch it via
our repositories.
  That is to say we can send the patch out, but it will not be used by
eclipse and the user would (probably) complain to us that is not
working. We would then have to spend a great deal of time figuring out
it was a home installed upgrade to a core plugin and inform the user
that we cannot do anything about it.
  All in all it is a very suboptimal solution for us.

> For some reason, the distro created for Ubuntu has some different kind
> of dependency structure. It is possible that the top level feature
> (Eclipse Platform) has a tight dependency on the jdt core plugin, but I
> don't know.
>

We use eclipse-build (from the Linuxtools project) to build eclipse,
which includes a number of patches to eclipse and (mostly) its build
system. Anyhow, this eclipse will be installed in a read-only location
with "core" plugins (such as o.e.jdt.core) marked as "system" plugins
(or something similar).

> Is there any reason why the distro used by Ubuntu is not the same as the
> one available from Eclipse.org?
>

Yeah, we must build our packages completely from source; eclipse is not
the most build-friendly package, which is why we use eclipse-build to
assist us.
  I know Fedora uses it as well.

> If there is a reason why you create your own package, perhaps can have a
> look at the packaging scripts. I may be able to provide some
> suggestions.
>

You are most welcome to have a look [1].

> ps- the 3.5.2.v_981_R35x version of JDT core is the version that we
> build against, but as I said, we require our own version of the plugin
> so that there can be compiler integration with groovy.
>

~Niels

[1] http://git.debian.org/?p=pkg-java/eclipse.git;a=summary

This is the version currently in Ubuntu:

http://git.debian.org/?p=pkg-java/eclipse.git;a=shortlog;h=refs/tags/debian/3.5.2-2ubuntu3

Revision history for this message
Andrew Eisenberg (andrew-eisenberg) wrote :

Apologies for not responding sooner, but I have confirmation that this problem no longer appears on the Helios (Eclipse 3.6) build. Our Ubuntu users can install Groovy-Eclipse from within the Ubuntu distribution of Eclipse.

Revision history for this message
Niels Thykier (niels-thykier) wrote :

Hey

While that is good news, it is also slightly puzzling as Ubuntu does not ship eclipse 3.6 currently. The question is if the users have used one of the "untrusted versions" of eclipse (I think we have a pre-release lurking in a PPA somewhere) or if they used the upstream eclipse.

~Niels

Revision history for this message
Andrew Eisenberg (andrew-eisenberg) wrote :

To tell you the truth, I did not verify this myself. I asked some users who had reported this earlier and they replied that it was no longer a problem for themselves.

Revision history for this message
Dave Vree (hdave) wrote :

It is still a problem for me. I am running Eclipse 3.5.2 from the repo on Ubuntu 10.04 and am experiencing this problem. Is there any work-around? I have spent considerable time in customizing Eclipse and would hate to start from scratch with a generic download from eclipse.org. Thanks.

Revision history for this message
Andrew Eisenberg (andrew-eisenberg) wrote :

The 3.5.2 version of Eclipse from Ubuntu is known to be problematic. The only option is to use a different version of Eclipse.

It is generally not too difficult to move to a new version of Eclipse. Other than installing third party plugins, in what way have you customized Eclipse?

Revision history for this message
Dave Vree (hdave) wrote :

Thank you Andrew - I'll have to put off the Groovy work for now until I can find time to re-tool.

I have installed about 6 third party plugins, many of which (especially Spring STS) had dependency problems that I had to carefully work out. I've also got numerous customized perspectives, external tool configurations, code templates, and run configurations. I also have many Eclipse-wide preferences set up. Most of these settings I have documented for myself. But its about a 4 hour process to setup a new system. Plus I have this running on three different computers. :-(

Revision history for this message
Andrew Eisenberg (andrew-eisenberg) wrote :

Dave, it should be easier than you imagine to upgrade to a new Eclipse. You can use the same workspace as you did before and thus retain all of your workspace settings (eg- perspective changes, external tool configurations, etc). Everything will work just make sure that you start the new version of Eclipse pointing to the old workspace.

Also, if you are using STS, you may want to just download a pre-configured version of STS, rather than install it piecemeal from update sites. We will be releasing 2.5.0 on Monday, next week, or you can download 2.5.0.RC1.

See here:
http://www.springsource.org/node/2867

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.