Bug 377341 (perl-dependency-loop)

Summary: Broken rt.jar symlink
Product: [Fedora] Fedora Reporter: Mark Wielaard <mjw>
Component: perlAssignee: Robin Norwood <robin.norwood>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: 8CC: aph, fitzsim, jsacco, kasal, liblit, mefoster, pnasrat, rc040203, tcallawa
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 5.8.8-32.fc8 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-12-03 11:46:01 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
install.log none

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!