Bug 377341 (perl-dependency-loop) - Broken rt.jar symlink
Summary: Broken rt.jar symlink
Keywords:
Status: CLOSED ERRATA
Alias: perl-dependency-loop
Product: Fedora
Classification: Fedora
Component: perl
Version: 8
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: Robin Norwood
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 397881 427120 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2007-11-12 09:36 UTC by Mark Wielaard
Modified: 2008-01-05 08:58 UTC (History)
9 users (show)

Fixed In Version: 5.8.8-32.fc8
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2007-12-03 11:46:01 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
install.log (75.58 KB, text/plain)
2007-11-14 18:39 UTC, Mark Wielaard
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Sourceware 5485 0 None None None Never

Description Mark Wielaard 2007-11-12 09:36:37 UTC
Description of problem:

$ ls -lah /usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre/lib/rt.jar
lrwxrwxrwx 1 root root 17 2007-11-09 23:34
/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre/lib/rt.jar -> /libgcj-4.1.2.jar

/libgcj-4.1.2.jar doesn't exist and makes anything using rt.jar to locate core
classes (like gcjh) fail with an error like:

Exception in thread "main" java.io.IOException: can't find class file
java/lang/Thread.class in
java.net.URLClassLoader{urls=[file:/home/mark/src/git/frysk-obj/frysk-imports/tests/./,file:/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre/lib/rt.jar],
parent=gnu.gcj.runtime.SystemClassLoader{urls=[file:./],
parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}}

Version-Release number of selected component (if applicable):

$ rpm -q java-1.5.0-gcj
java-1.5.0-gcj-1.5.0.0-17.fc8

How reproducible:

Always

Steps to Reproduce:
$ ls -lah /usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre/lib/rt.jar
  
Actual results:

lrwxrwxrwx 1 root root 17 2007-11-09 23:34
/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre/lib/rt.jar -> /libgcj-4.1.2.jar


Expected results:

lrwxrwxrwx 1 root root 32 2007-11-12 10:30
/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre/lib/rt.jar ->
/usr/share/java/libgcj-4.1.2.jar


Additional info:

Seems there is a similar issue for libjawt.so and libjvm.so

Comment 1 Thomas Fitzsimmons 2007-11-14 18:11:47 UTC
Can you post /root/install.log?

Comment 2 Mark Wielaard 2007-11-14 18:39:23 UTC
Created attachment 258531 [details]
install.log

There are some suspicious perl errors right after Installing java-1.5.0-gcj -
1.5.0.0-17.fc8.x86_64

Comment 3 Thomas Fitzsimmons 2007-11-14 20:29:28 UTC
Yes, installation order is wrong:

perl
java-1.5.0-gcj
perl-libs

The order doesn't respect these packages' requirements.  Re-filing as an
Anaconda bug.

Comment 4 Mary Ellen Foster 2007-11-16 12:00:16 UTC
So to work around this on a system where this happened as part of the install,
what's the best bet? "yum remove java-1.5.0-gcj" wants to remove a *lot*, so I
did the following instead and this fixed it:

rpm -ev --nodeps java-1.5.0-gcj
yum install java-1.5.0-gcj

Comment 5 Chris Lumens 2007-11-16 15:34:26 UTC
Looks like perl needs to require perl-libs, or other similar problems with
package Requires.

Comment 6 Tom "spot" Callaway 2007-11-16 15:41:49 UTC
perl does require perl-libs. Of course, perl-libs also requires perl. Isn't
multilib fun? :)

Not sure how the ordering is getting broken here, but for once, it isn't perl's
fault. Reassigning to rpm.

Comment 7 Panu Matilainen 2007-11-22 07:28:03 UTC
You have a dependency loop there, those are do good for install-time ordering as
rpm has to break it somehow to install anything at all:

D: ========== tsorting packages (order, #predecessors, #succesors, tree, depth,
breadth)
D: LOOP:
D: removing perl-5.8.8-30.fc8.x86_64 "Requires(auto): /usr/bin/perl" from tsort
relations.
D:     perl-5.8.8-30.fc8.x86_64                 Requires(auto): /usr/bin/perl
D: removing perl-5.8.8-30.fc8.i386 "Requires(auto): libperl.so" from tsort
relations.
D:     perl-5.8.8-30.fc8.i386                   Requires(auto): libperl.so
D: removing perl-libs-5.8.8-30.fc8.i386 "Requires: perl = 4:5.8.8-30.fc8" from
tsort relations.
D:     perl-libs-5.8.8-30.fc8.i386              Requires: perl = 4:5.8.8-30.fc8
D: ========== continuing tsort ...
D:     0    1    1   -1    1    0   +perl-libs-5.8.8-30.fc8.i386
D: LOOP:
D: removing perl-5.8.8-30.fc8.x86_64 "Requires(auto): libperl.so()(64bit)" from
tsort relations.
D:     perl-5.8.8-30.fc8.x86_64                 Requires(auto): libperl.so()(64bit)
D: removing perl-libs-5.8.8-30.fc8.x86_64 "Requires: perl = 4:5.8.8-30.fc8" from
tsort relations.
D:     perl-libs-5.8.8-30.fc8.x86_64            Requires: perl = 4:5.8.8-30.fc8
D: ========== continuing tsort ...

Loose the loop by removing "perl" dependency from perl-libs, or provide
additional hints that perl needs perl-libs to be installed first, eg 
"Requires(post): perl-libs" in perl ought to fix it.

Comment 8 Thomas Fitzsimmons 2007-11-26 18:12:07 UTC
*** Bug 397881 has been marked as a duplicate of this bug. ***

Comment 9 Fedora Update System 2007-11-29 01:39:32 UTC
perl-5.8.8-27.fc7 has been pushed to the Fedora 7 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update perl'

Comment 10 Fedora Update System 2007-11-29 01:41:35 UTC
perl-5.8.8-32.fc8 has been pushed to the Fedora 8 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update perl'

Comment 11 Fedora Update System 2007-12-03 11:46:00 UTC
perl-5.8.8-32.fc8 has been pushed to the Fedora 8 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 12 Fedora Update System 2007-12-03 11:49:06 UTC
perl-5.8.8-27.fc7 has been pushed to the Fedora 7 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 13 Thomas Fitzsimmons 2008-01-04 15:31:21 UTC
*** Bug 427120 has been marked as a duplicate of this bug. ***

Comment 14 Tom "spot" Callaway 2008-01-04 15:34:14 UTC
Is the new report from a vanilla install of F-8, or does the updated perl not
resolve this problem?

Comment 15 Ben Liblit 2008-01-04 20:00:47 UTC
I installed using a vanilla Fedora 8 ISO.  I'm not sure which "updated perl"
you're referring to, but my install was done using whatever was in the initial
Fedora 8 release: I was not using any respins.

Comment 16 Tom "spot" Callaway 2008-01-04 22:11:43 UTC
Mmkay. Unfortunately, unless you're using one of the F-8 respins, there is no
avoiding this one. :/ At least F-9 won't have this issue.

Comment 17 Ben Liblit 2008-01-05 08:58:39 UTC
Oh, hey, that's just fine.  I had no trouble correcting the link by hand.  I
wanted to be sure the bug would be fixed properly at some future date.  Sounds
like it will, so that's good enough for me.  Thanks!


Note You need to log in before you can comment on or make changes to this bug.