I use the EasyEclipse distribution of Eclipse, the free (libre) software development environment. I just figured out how to fix an obscure error message:

Eclipse Web tools editors (2.0.1) requires plug-in "system.bundle"
Eclipse Data Tools (1.5.1) requires plug-in "system.bundle"

When I would start up EasyEclipse (version 1.3.1 for Mac OS X, with Python, C++, Java, PHP and more support added), it would tell me that I had some outdated components, and offer to update them for me.  But when I opened the menu item Help… Software Updates… Manage configuration, I would get the ominous error alert:

“The current configuration contains errors and this operation can have unpredictable results. Do you want to continue? [Cancel] [OK]”.

I wasn’t able to  find documentation about this problem specifically. (My purpose in writing this is to help others benefit from what I learned.)

I did find a useful blog post which alluded to the problem: “Where’s the system bundle jar file? (cont.)” (Immo Hüneke, January 2008).  The context was seemed to be about Eclipse, but not the EasyEclipse distribution. However, Immo did write, “The OSGI Bundle Repository Browser confirms that system.bundle does in fact refer to the org.eclipse.osgi jar file.” He was able to alter configuration files of those plug-ins, in his environment, which were asking for “system.bundle”, so that they asked for “org.eclipse.osgi” instead.  What does all that bit about OSGI mean? It went over my head, I’m afraid. But you don’t need to understand it to work around this problem.

Eclipse is a structure containing many little packages of Java language code known as “plug-ins”. EasyEclipse for Mac OS X wraps the structure and the plugins into a what looks like a single entity, a Mac OS X application. But that application is really a directory tree, and we can explore its interior. I figured that, like Immo, I had some plug-ins in my environment which were asking for “system.bundle”, and I was going to modify their configuration to ask for  “org.eclipse.osgi” instead.

I located the configuration files in question by dint of some command line Unix. If you want to apply this fix and aren’t comfortable with the Unix command line, maybe you can skip to the next paragraph.  I opened the Terminal application, connected to the directory inside the EasyEclipse application which had the plug-ins and code, and ran the “grep” command to seek out the files asking for “system.bundle”

% cd /Applications/EasyEclipse-for-Python-1.3.1.app/Contents/MacOS/
% grep -r system.bundle .
./links/EasyEclipse Eclipse Data Tools 1.5.1/eclipse/features/org.nexb.easyeclipse.eclipse-dtp_1.5.1/feature.xml:      <import plugin="system.bundle"/>
./links/EasyEclipse Eclipse Web tools editors 2.0.1/eclipse/features/org.nexb.easyeclipse.eclipse-wtp-web_2.0.1/feature.xml:      <import plugin="system.bundle"/>
./readme/readme_eclipse.html:      <td>org.eclipse.osgi (system.bundle)</td>
%

I found three files which mentioned system.bundle. Two were named “feature.xml”, and were in directories with names that resembled the error messages I’d been seeing. Promising.  The third file, readme_eclipse.html, was part of an Eclipse documentation set which EasyEclipse buried under its smooth exterior. It didn’t explain my problem directly, but did allude to system.bundle being another name for “org.eclipse.osgi”.

I moved to the directory containing the first feature.xml file, and took a look. Note that the long directory path is similar to the first line returned from the “grep” command above, but skips everything up through “./” at the beginning, and everything after the final “/”; and it adds a backslash “\” before all the space characters. Also note that I used the “sudo” command, which let me use Administrator privileges to edit files which were otherwise protected.

% cd links/EasyEclipse\ Eclipse\ Data\ Tools\ 1.5.1/eclipse/features/org.nexb.easyeclipse.eclipse-dtp_1.5.1/
% sudo cp -p feature.xml feature.xml.BAK
% sudo edit feature.xml

This caused the file format.xml to appear in a text editor.  I searched for “system.bundle”, and saw this (around line 26):

   <requires>
      <import plugin="system.bundle"/>
      <import plugin="org.eclipse.ui" version="[3.2.0,4.0.0)" match="compatible"/>

I used the editor to replace “system.bundle” with “org.eclipse.osgi”, and saved the file.

   <requires>
      <import plugin="org.eclipse.osgi"/>
      <import plugin="org.eclipse.ui" version="[3.2.0,4.0.0)" match="compatible"/>

Then I retraced my steps and went to the directory of the other plug-in:

% cd /Applications/EasyEclipse-for-Python-1.3.1.app/Contents/MacOS/
% cd links/EasyEclipse\ Eclipse\ Web\ tools\ editors\ 2.0.1/eclipse/features/org.nexb.easyeclipse.eclipse-wtp-web_2.0.1/
% sudo cp -p feature.xml feature.xml.BAK
% sudo edit feature.xml

Again, I replaced “system.bundle” with “org.eclipse.osgi”, and saved the file.

If all of that command-line directory typing makes you queasy, the following commands also worked on my system.  Maybe they will work on yours, if you are using EasyEclipse version 1.3:

% cd /Library/EasyEclipse/1.3/EasyEclipse\ Eclipse\ Data\ Tools\ 1.5.1/eclipse/features/org.nexb.easyeclipse.eclipse-dtp_1.5.1/
% sudo edit feature.xml
% cd /Library/EasyEclipse/1.3/EasyEclipse\ Eclipse\ Web\ tools\ editors\ 2.0.1/eclipse/features/org.nexb.easyeclipse.eclipse-wtp-web_2.0.1/
% sudo edit feature.xml

Long-term, the best fix is for the EasyEclipse project to update their Eclipse Data Tools 1.5.1 and Web tools editors 2.0.1 to stop asking for system.bundle; or to update EasyEclipse itself to provide system.bundle. Unfortunately, the EasyEclipse project appears to have come on hard times, and there isn’t much maintainer activity there at the moment.  So for now, this workaround may ingratiate itself with the search robots and provide EasyEclipse users a workaround.

I hope this is helpful, and enjoy EasyEclipse!