Wednesday, March 04, 2009

jpackage voodoo

I was recently trying to install a glite-MON box along with a glite-UI for the development cluster (i386 SL4). However, jpackage seemed to playing up more than ever at the moment.

With the current jpackage repo setup of:

bash-3.00# cat jpackage.repo
[main]
[jpackage17-generic]
name=JPackage 1.7, generic
baseurl=http://mirrors.dotsrc.org/jpackage/1.7/generic/free/
enabled=1
protect=1

[main]
[jpackage5-generic]
name=JPackage 5, generic
baseurl=http://mirrors.dotsrc.org/jpackage/5.0/generic/free/
enabled=1
protect=1

The first install attempt gave these errors:

yum install glite-MON

Error: Missing Dependency: jdk = 2000:1.6.0_12-fcs is needed by package java-1.6.0-sun-compat
Error: Missing Dependency: xml-commons-jaxp-1.2-apis = 0:1.3.04-5.jpp5 is needed by package xml-commons-resolver11
Error: Missing Dependency: jaxp = 1.2 is needed by package dom4j

Argh!
I remembered that jpackage17 was causing all sorts of issues so I decided to remove it for the yum repo temporarily and slot in a non-free jpackage5. Then by updating the repo 'yum clean all; yum update", I was ready to re-run the glite-MON install.

yum install glite-MON
...
Error: Missing Dependency: xml-commons-jaxp-1.2-apis = 0:1.3.04-5.jpp5 is needed by package xml-commons-resolver11
Error: Missing Dependency: jaxp = 1.2 is needed by package dom4j

Woo Hoo, one down.

bash-3.00# yum list xml-commons-jaxp-1.2-apis
...
Installed Packages
xml-commons-jaxp-1.2-apis.noarch 1.3.04-5.jpp5 installed

I was slightly confused as it said it couldn't find that a minute ago! Anyway I did a yum search and found that there was a 1.3 available so I installed that.

yum install xml-commons-jaxp-1.3-apis.noarch
Dependencies Resolved
=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
xml-commons-jaxp-1.3-apis noarch 1.3.04-5.jpp5 jpackage5-generic 224 k

Transaction Summary
=============================================================================
Install 1 Package(s)
Update 0 Package(s)
Remove 0 Package(s)
Total download size: 224 k
Is this ok [y/N]: y
Downloading Packages:
(1/1): xml-commons-jaxp-1 100% |=========================| 224 kB 00:00
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing: xml-commons-jaxp-1.3-apis ######################### [1/2]
Removing : xml-commons-jaxp-1.2-apis ######################### [2/2]

Installed: xml-commons-jaxp-1.3-apis.noarch 0:1.3.04-5.jpp5
Complete!


Okay, now for the biggie, yum install glite-MON and it worked!

2 comments:

Elwell said...

The latest 'official' repo lists are maintained at http://grid-deployment.web.cern.ch/grid-deployment/glite/repos/

wget / curl these into your appropriate /etc/yum.repos.d

(or, for those using fabric management like oooh, cfengine. make sure you have the edited version of them locally pointing to your mirror. Oh, and you probably want to drop the jpackage 1.7 mirror these days...

SteveT said...

The xml-commons-jaxp-1.2-apis item really is a mess.

In particular with what you now have
if xml-commons-jaxp... updates then
the upgrade will try and remove j2sdk.

The real proble is that j2sdk "provides"
in the RPM sense xml-commons-api but in reality it does not. It's a broken package from SUN. On my gLite JPackage page there are some links to the nonsense that it is.

.... Roll on openjdk in the OS. This really should solve a lot and put the packaging in the hands of the distributors.

Steve