still kicking around eclipse problems [resolved?]

I don’t know what I did to deserve this :-) I think installing jpackage RPMs on my system was a mistake.

Java people seem to be perfectly happy to download a zip for eclipse, tomcat, etc. and just use that. So every user on a system gets their own copy? That’s just not how i’m used to doing application installs. (Anyway I tried it and had even weirder problems.)

I like to do things “the right way” with Fedora. I try to use yum to resolve all of my dependencies rather than go around installing things from source. Because if you have a package manager, you kind of need to let it be in charge, or the dependencies will bite your ass later. Right?

Jpackage is a valiant effort to bundle java dependencies into something that yum can consume. In particular it provides a compatibility RPM that sets up alternatives properly for the sun jdk rpm. It also has tomcat and other java notables. I don’t know much about the project other than that. I don’t remember why I added the repo initially, perhaps I was just hoping to get the compat RPM that way since I can’t seem to find one to match the current sun jdk on the site (still can’t – had to set up alternatives manually). but as jpackage seems to provide bleeding-edge stuff it’s replaced standard fedora rpms and won’t budge without a whole slew of updates being performed. i turned off the repo entirely after some of the scary suggestions and conflicts yum made with it.

So, fast forward to my eclipse/android problems. i kept getting an error about dependencies when i tried to install the eclipse ADT plugin – and not matter what software sites i enabled or RPMs I installed, it persisted. it was complaining about lucene (why this should be a dependency for what i’m doing? don’t know, but that’s the nature of these things). so eventually i thought maybe the real problem was that there was a conflict with RPMs i’d installed for dependencies blocking what eclipse was actually looking for. i found that i had lucene RPMs installed from jpackage which fedora itself offered, so i wanted to see what happened when i used the fedora versions.

This is where yum gave me problems.

Setting up Yum Shell
> remove lucene
Setting up Remove Process
> run
--> Running transaction check
---> Package lucene.noarch 0:2.4.1-5.jpp6 set to be erased
--> Processing Dependency: lucene for package:
--> Processing Dependency: lucene >= 2.3.1-3.4 for package: 1:eclipse-platform-3.5.1-22.fc12.i686
--> Processing Dependency: lucene = 2.4.1-5.jpp6 for package: lucene-contrib-2.4.1-5.jpp6.noarch
--> Running transaction check
---> Package eclipse-platform.i686 1:3.5.1-22.fc12 set to be erased
--> Finished Dependency Resolution
 Package                           Arch     Version                         Repository   Size
 lucene                            noarch   2.4.1-5.jpp6                    installed   1.7 M
Removing for dependencies:
 eclipse-dltk                      noarch   1.0.0-3.fc12                    installed   6.8 M
 eclipse-dltk-ruby                 noarch   1.0.0-3.fc12                    installed   1.7 M
 eclipse-gef                       noarch   3.5.1-2.fc12                    installed   1.7 M
 eclipse-jdt                       i686     1:3.5.1-22.fc12                 installed    25 M
 eclipse-jgit                      noarch   0.6.0-0.1.git20091029.fc12      installed   741 k
 eclipse-platform                  i686     1:3.5.1-22.fc12                 installed    31 M
 lucene-contrib                    noarch   2.4.1-5.jpp6                    installed   864 k              i686     1:3.1.1-19.14.fc12              installed   1.3 M               i686     1:3.1.1-19.14.fc12              installed    61 k          i686     1:3.1.1-19.14.fc12              installed    22 M               i686     1:3.1.1-19.14.fc12              installed   220 M            i686     1:3.1.1-19.14.fc12              installed    58 k       i686     1:3.1.1-19.14.fc12              installed   3.8 M   i686     1:3.1.1-19.14.fc12              installed   3.7 M             i686     1:3.1.1-19.14.fc12              installed    73 k        i686     1:3.1.1-19.14.fc12              installed    17 M
Transaction Summary
Remove       17 Package(s)
Reinstall     0 Package(s)
Downgrade     0 Package(s)
Is this ok [y/N]:

Evidently lucene is a dependency for a multitude of eclipse and openoffice RPMs, so I didn’t want to just remove them – it would take me a long time to re-download and re-install all the RPMs once I’d updated lucene. And it shouldn’t be necessary.

To do things “the yum way” I would need to remove and replace them in one transaction. The Fedora versions are lower than the JPP versions so I tried a downgrade (I think this is new in F12).

> downgrade lucene lucene-contrib
> run
[nothing happens]
> Leaving Shell

I tried creating a transaction with a remove and install.

> remove lucene lucene-contrib
Setting up Remove Process
> install lucene lucene-contrib
Loading mirror speeds from cached hostfile
 * fedora:
 * rpmfusion-free:
 * rpmfusion-free-updates:
 * rpmfusion-nonfree:
 * rpmfusion-nonfree-updates:
 * updates:
Setting up Install Process
> run
--> Running transaction check
---> Package lucene.i686 0:2.3.1-5.5.fc12 set to be updated
---> Package lucene.noarch 0:2.4.1-5.jpp6 set to be erased
---> Package lucene-contrib.i686 0:2.3.1-5.5.fc12 set to be updated
---> Package lucene-contrib.noarch 0:2.4.1-5.jpp6 set to be erased
--> Finished Dependency Resolution
 Package                  Arch             Version                  Repository           Size
 lucene                   i686             2.3.1-5.5.fc12           fedora              1.7 M
 lucene-contrib           i686             2.3.1-5.5.fc12           fedora              763 k
 lucene                   noarch           2.4.1-5.jpp6             installed           1.7 M
 lucene-contrib           noarch           2.4.1-5.jpp6             installed           864 k
Transaction Summary
Install       2 Package(s)
Upgrade       0 Package(s)
Remove        2 Package(s)
Reinstall     0 Package(s)
Downgrade     0 Package(s)
Total size: 2.4 M
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Error: Transaction Check Error:
  package lucene-contrib-0:2.4.1-5.jpp6.noarch (which is newer than lucene-contrib-0:2.3.1-5.5.fc12.i686) is already installed
  package lucene-0:2.4.1-5.jpp6.noarch (which is newer than lucene-0:2.3.1-5.5.fc12.i686) is already installed

I think finally I tried “the RPM way” and removed them –nodeps and reinstalled them with yum (which of course complained about the RPM DB changing underneath it). Yum is intended to take over all system package management and do everything that RPM could do before, so what’s the way to serve this case?

Anyway, I eventually gave up on that installation – something else was still wrong after that – and moved over to my current installation which has no jpackage whatsoever. It seems to be working fine. Sorry jpackage folks, I don’t know what you’re doing but it doesn’t seem to work for me and I never want to mix repos like that again. I got so frustrated with the kinds of problems I saw I must have taken a year off my life. Have you ever clicked on a button to proceed and had NO response? No progress, no freezing up, no error, just… nothing, as if the button had no listener? Well I don’t know how it’s possible for normally functional software to be broken like that because of dependencies but I’ve had enough of it.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: