Eclipse error message and package descriptions are uninformative for users trying to install plugins

Bug #539256 reported by Josh Bowman
22
This bug affects 7 people
Affects Status Importance Assigned to Milestone
eclipse (Ubuntu)
Fix Released
Medium
Unassigned

Bug Description

Binary package hint: eclipse

I am using Ubuntu 9.10, and have package 'eclipse' version '3.5.1+repack~1-0ubuntu3'. The problem I had with Eclipse is that I could not install plugins, and I think my experience shows there are some user-interface issues with Eclipse, and some package-description issues with Ubuntu's (and Debian's?) Eclipse packages.

I started out by installing 'eclipse-jdt', because I wanted to do some Java development. I didn't install the eclipse metapackage. Why not? Because the metapackage includes the package 'eclipse-pde', whose description reads like this:

"This package provides tools for easy development of plug-ins for Eclipse."

Since I didn't plan on developing plugins for Eclipse, I figured I didn't need it.

I then asked my favorite search engine whether there was a Git plugin for Eclipse (there is, it's called EGit). However, when I tried to install this plugin (via the "Help->Install New Software..." menu command in Eclipse), I got a mysterious error:

"The artifact file for osgi.bundle,org.eclipse.pde,3.4.100.v20090527 was not found."

The problem was that I did not have the 'eclipse-pde' package installed. Once I installed this package, everything went smoothly. Note: each time I tried to install the plugin, I started by deleting my '~/.eclipse' folder; I wanted to make sure this wasn't due to some configuration issue.

While my story has a happy ending, a quick search of the Web with the error text "The artifact file for osgi.bundle,org.eclipse.pde was not found" shows that I'm not the only one who has run into this problem. The descriptions of the other Eclipse packages contribute to the misunderstanding, as well. Here's the boilerplate description that all Eclipse packages have:

"The Eclipse Platform is an open and extensible platform for anything and yet nothing in particular. It provides a foundation for constructing and running integrated software-development tools. The Eclipse Platform allows tool builders to independently develop tools that integrate with other people's tools so seamlessly you can't tell where one tool ends and another starts."

And here is what the 'eclipse-platform' package adds to that:

"This package provides only the Eclipse Platform. It does not include any development plug-ins. These are available in different packages:

 * eclipse-jdt Java Development Tools
 * eclipse-pde Plug-in Development Tools
 * eclipse Complete development environment

This package is the base for all eclipse plug-ins."

Given these descriptions, I think it is not unreasonable for a user to assume (as I did) that the 'eclipse-pde' package is only needed for people who wanted to write their own Eclipse plugins.

Hope this helps.

--Josh

Benjamin Drung (bdrung)
Changed in eclipse (Ubuntu):
importance: Undecided → Medium
status: New → Confirmed
Revision history for this message
Niels Thykier (niels-thykier) wrote :

Hi

We have a committed a change set to our repository to fix this. You can read the new descriptions here[1]; please let us know if you feel they are inadequate.

NB: This change is currently expected to go into the release after Lucid; we may decide to back-port it into Lucid itself.

~Niels

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

Benjamin Drung (bdrung)
Changed in eclipse (Ubuntu):
status: Confirmed → Fix Committed
Revision history for this message
Matthias Klose (doko) wrote : Re: [Bug 539256] Re: Eclipse error message and package descriptions are uninformative for users trying to install plugins

On 15.03.2010 22:06, Niels Thykier wrote:
> Hi
>
> We have a committed a change set to our repository to fix this. You can
> read the new descriptions here[1]; please let us know if you feel they
> are inadequate.
>
> NB: This change is currently expected to go into the release after
> Lucid; we may decide to back-port it into Lucid itself.

I doubt that this will be granted, so maybe better try to get this into lucid now.

  - please point out depending packages, which are not yet in lucid,
    file sync requests and FFe's.

  - if this is done, please upload eclipse itself.

thanks for these updates.

Revision history for this message
Benjamin Drung (bdrung) wrote :

Yes, I am planing to get eclipse 3.5.2-1 into lucid.

All dependencies are in lucid, except these two:
* libjasper-java is in NEW since six days
* lucene2 2.9.1+ds1-5 fails to build from source (bug #521204)

Revision history for this message
Josh Bowman (bowmanjj) wrote :

On 2010-03-15 16:06, Niels Thykier wrote:
>
> We have a committed a change set to our repository to fix this. You can
> read the new descriptions here[1]; please let us know if you feel they
> are inadequate.
>
> [1] http://git.debian.org/?p=pkg-
> java/eclipse.git;a=blob_plain;f=debian/control
>

This looks pretty good. I will suggest changing the wording from this:

"Please note that a lot of plugins cannot be installed without eclipse-pde."

to something like this:

"Please note that many plugins will fail to install if you don't have
the eclipse-pde package."

Maybe it's just me, but I think the phrase "a lot of plugins" is kind of
ambiguous. For example, I think a person could possibly interpret it to
mean "the eclipse-pde package is required if you want to install more
than X number of plugins". That's what I'm trying to address in my
suggestion, anyway.

Josh

Revision history for this message
Olivier Cailloux (olivier-cailloux) wrote :

FYI, the "normal" eclipse version (i.e., the one you can download from the eclipse web site and simply copy in a local repository) accepts to install plug-ins even when you do not install PDE in the first place. I do have an eclipse install on my debian box (I think it's 3.5) with JDT, CDT, Hibernate tools, some web tools, etc., all of these installed from the "install plug-in" GUI in eclipse, without having ever installed PDT. My original eclipse download was eclipse platform, without further plug-ins. I like to start from a minimal install and only install the plug-ins I need to avoid having options I do not use in the GUI menus.

If ubuntu's package do not accept this behavior it should IMHO be considered a bug, and not be solved simply be rephrasing the description of what purpose the PDE package serves. To put it otherwise, the PDE package should not be necessary to install plug-ins from the eclipse GUI.

Sorry if I misunderstood something.

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

Hi

While it is true that you can download packages that do not contain all of PDE and still supports those other plugins,
I must disagree with you that it is a bug on our side. You may or may not be aware of this, but eclipse is made up of hundreds of jar files and must use libraries to ensure that a given plugins dependencies are present and loaded. These plugins are grouped together to create a "feature" and any given plugin can be a part of multiple features. This is where we get the issue.
  We cannot ship every plugin in its own package (that would make hundreds of packages containing only one or two files) and grouping them in features would create conflicts between them making it nearly impossible for us to create installable packages (two debian packages may not be installed on the same machine if they contain the same file).

If you are willing to figure out how to partition PDE into "common used features" and "plugin development features" and help us maintain the solution, then you are more than welcome to join our team to package eclipse. That being said, I am not sure it is possible to split PDE like this - but if it is and you can help us find it, we will be listening.

~Niels

Revision history for this message
Olivier Cailloux (olivier-cailloux) wrote :

Thanks for replying.

I admit I do not have a clear idea on how technically the problem could be solved, nor am I willing to do it myself (for now)! I was just mentioning that such thing is possible in the eclipse package as done by their authors. Currently it seems to me that the ubuntu / debian packaging of eclipse could still be improved: I think these distributions are able to manage other systems of softwares at least as complex as eclipse. (That said, I am very happy about the work done to enable an easy eclipse install into ubuntu!) E.g. perl packages, latex packages, C or java libraries, etc. You do not have to install a whole bunch of perl packages if you want http://packages.debian.org/lenny/libxml-libxml-common-perl. Consider as well http://packages.debian.org/lenny/latex-beamer. These are only two examples of packages consisting in very few files and similar, it seems to me, to eclipse packages. Although I know there *is* a basic uncompressible set of required packages you have to install if you want to use perl, or LaTeX, I think it is inadequate to force the user to install PDE to be able to use the automatic features install in eclipse.

Note that a big difference between having several LaTeX packages installed and having to install PDE is that the former only is a bunch of files on your hard disk (space is cheap), whereas the latter clutters your GUI by adding entries in the preference window and in many menus.

Also the libraries used by eclipse should be shared in the whole system as are C libraries (I already have junit, why a specific install into eclipse folder?) ; it should be possible to install plug-ins as root user and possibly even mandatory, using aptitude, etc. Please note I do know that these are not easy tasks and I am not saying that anybody should implement it right now, I know I can do it myself if I really want it, etc. - I am simply suggesting some possible paths of (long-term? I hope not too much!) improvement that would lead the way to a smooth eclipse experience on linux as is currently possible with LaTeX and plenty of other complex systems.

Solving this packaging problem in a clean manner by fully integrating eclipse plug-ins system into the 'aptitude' system is probably a big challenge, but would certainly add good value to the linux developers!

Once again, anyway, thanks for the work done up to here.

Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (3.3 KiB)

This bug was fixed in the package eclipse - 3.5.2-2

---------------
eclipse (3.5.2-2) unstable; urgency=low

  [ Niels Thykier ]
  * Changed section of eclipse packages to devel.
  * Install IJG_README from source dir rather than install dir.
    (Closes: #574619)
  * Added missing replace on eclipse to eclipse-platform-data. (Closes: #574607)
  * Fix broken symlinks in libequinox-osgi-java.
  * Imported ecj-gccmain-java.patch from ecj to add better support for gcj.

  [ Benjamin Drung ]
  * Integrate upstream-eclipse-build-repack.patch from final 0.5.0
    eclipse-build release.

eclipse (3.5.2-1) unstable; urgency=low

  * New upstream release. (LP: #123064)
    - Supports xulrunner-1.9.1 (Closes: #507536)
    - Fixed "Software Updates" menu. (Closes: #539016)
  * Converted build system to use eclipse-build 0.5.0. (Closes: #501533)
    - Fixed broken symlink in swt packages. (Closes: #543318)
    - Fixed broken plugins/features. (Closes: #493984)
    - Fixed problem finding native libraries. (Closes: #553131)
    - Fixed build for various archs. (Closes: #521312)
  * Stopped eclipse from unpacking native libraries into ~/.eclipse.
    (Closes: #351729)
  * Corrected Depends and Recommends. (Closes: #554677, #558246)
    - eclipse-jdt now only suggests eclipse.
    - removed strict dependency on openjdk.
    - removed recommends on eclipse-*-gcj packages.
  * Removed obsolete linda overrides.
  * New maintainers. (Closes: #526489)
  * Removed the need for Zenity (Closes: #528070)
  * Added missing "apt" plug-in for eclipse-jdt. (Closes: #403655, LP: #120610)
  * Added conflicts on the old eclipse-*-nls packages. (Closes: #538869)
  * Removed "builtin browser not supported"-warning; it did not work.
    (Closes: #402340, #491542)
  * Removed dependency on libtomcat5.5-java and liblucene-java-doc.
  * Stopped using special hacks and work arounds to find JVMs.
    - This removes the need for ~/.eclipse/eclipserc (Closes: #402077)
    - This makes eclipse read eclipse.ini (Closes: #491334)
    - This makes eclipse respect alternatives (Closes: #353360, #574271)
  * Moved the executable to eclipse-platform from eclipse. (Closes: #358594)
  * Put the osgi jar-files into its own separate package. (LP: #102717)
  * Added workaround for gtk problems. (Closes: #552480)
  * Added missing API references. (Closes: #376850)
  * Moved org.eclipse.ant.ui to eclipse-platform. (LP: #477944)
  * Added information about how to create the orig.tar.gz. (Closes: #505553)
  * Rewrote symlink script to handle folders that are renamed on different
    archs/builds. (LP: #471859)
  * Move eclipse.ini into /etc (LP: #43162)
  * Set a sane file limit for osgi-bundles. (Closes: #558693, LP: #293573)
  * Inject update sites on first run. (LP: #460944)
  * Prevent conflict with swt-gtk's swt packages. (Closes: #541638, LP: #491880)
    - Removed our swt packages.
    - Do not install conflicting symlinks/files.
  * Imported patch from Fedora that fixes seg. faults in libpango. (LP: #445009)
  * Update manpage. (LP: #494065)
  * Bump Standards-Version to 3.8.4.
  * Use system jars rather than pre-compiled ones. (LP: #453036)
  * Added notice to package descriptions that ec...

Read more...

Changed in eclipse (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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