Bug 240540 - perl-libs not installed on upgrade
Summary: perl-libs not installed on upgrade
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: perl
Version: 7
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jeremy Katz
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 240596 250885 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2007-05-18 12:05 UTC by Michael Young
Modified: 2014-01-21 22:58 UTC (History)
7 users (show)

Fixed In Version: 5.8.8-23.fc7
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2007-09-10 16:52:44 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Michael Young 2007-05-18 12:05:31 UTC
I have just upgraded to perl-5.8.8-17.fc7 and now whenever I try to run perl I
get the error
perl: error while loading shared libraries: libperl.so: cannot open shared
object file: No such file or directory
It seems this build of perl is missing some crucial files.

Comment 1 Robin Norwood 2007-05-18 13:44:38 UTC
That's odd - for -17, we moved libperl.so into perl-libs - I thought perl-libs
would be pulled in...it seemed to on my box.

How did you install -17?  Yum?

Comment 2 Robin Norwood 2007-05-18 13:54:49 UTC
Very strange - the deps seem ok to me...

perl requires libperl.so
perl-libs provide libperl.so
Nothing else provides libperl.so

We're looking into it, thanks.

Comment 3 Robin Norwood 2007-05-18 13:58:24 UTC
Oh, and I should mention that installing perl-libs by hand will work around this
problem.

Comment 4 Michael Young 2007-05-18 14:04:33 UTC
I rolled back to -15 and repeated it, and it worked this time. I think I might
have had two versions of perl installed beforehand due to having to abort an
essentially hung upgrade from FC6, so it might just have been my slightly broken
setup that triggered this.

Comment 5 Michael Young 2007-05-18 14:10:57 UTC
Or yum may have been talking to an only partially upgraded mirror. Either way I
suspect I was seeing a temporary or very rare occurence.

Comment 6 Robin Norwood 2007-05-18 14:33:47 UTC
Weird - I've had at least one other report of this - I could maybe see the
two-perls thing confusing yum, but it really shouldn't let you end up in a state
with deps being left unresolved.  Let me kick this over to skvidal for his input.

Comment 7 Robin Norwood 2007-05-18 14:38:46 UTC
Seth, any idea what the deal is here?  AFAICT, the perl deps are correct for
both versions, so I don't see any problem with the perl package here.  Could yum
be confused?

Comment 8 Robin Norwood 2007-05-18 17:58:25 UTC
*** Bug 240596 has been marked as a duplicate of this bug. ***

Comment 9 Michael Sinz 2007-05-21 02:35:21 UTC
I can say that this also happened to me, just today.  Doing the yum update ended
up leaving the system with a non-functional perl.  It was simple to fix since I
just did a package grep for perl and lib and found the perl-libs package and
installed it manually.

I wonder if the fact that libperl.so was provided by the -15 version and then
was not in -17 somehow messed up the dependency check?

I will see if I can find the time to do a fresh install from FC7test4 and then
update again.  (Maybe sometime this week)

Comment 10 J. Davis 2007-05-21 17:58:36 UTC
Also happened to me last week.
yum install perl-libs solved the issue.

Comment 11 Joshua Wulf 2007-05-21 23:47:19 UTC
+1 on jdaytona's situation.

Comment 12 Robin Norwood 2007-05-22 16:54:32 UTC
With: yum-3.0.6-1.fc6 on an up-to-date fc6 (x86) system:

# yum update perl
Updating:
perl                    i386       4:5.8.8-18.fc7   development        10 M
Installing for dependencies:
...
perl-libs               i386       4:5.8.8-18.fc7   development       571 k
...
Install     18 Package(s)         
Update     137 Package(s)

Lots of snippage, but you get the idea.

If anyone has a reproducer, that would help.

Comment 13 Marius Feraru 2007-05-23 14:03:45 UTC
Wild guess (aside "funky" yum behavior): maybe those folks reporting this issue
are using custom apache/mod_perl 1.x packages, with mod_perl built as DSO.

Anyway, as Robin said, maybe they could double-check it with: "rpm -q
--whatprovides libperl.so" and report back here if something interesting comes up.

Comment 14 George Billios 2007-05-23 14:20:40 UTC
rpm -q --whatprovides libperl.so
perl-libs-5.8.8-18.fc7


nothing custom here -> bug :)



Comment 15 Helmut Leininger 2007-05-23 18:10:59 UTC
libperl.so is still missing in perl-5.8.8-18.fc7.i386.rpm (size 10.696.821)
downloaded from http://fedora.inode.at/development/i386/os/Fedora/

Regards
Helmut

Comment 16 Tom "spot" Callaway 2007-05-23 18:13:24 UTC
(In reply to comment #15)
> libperl.so is still missing in perl-5.8.8-18.fc7.i386.rpm (size 10.696.821)
> downloaded from http://fedora.inode.at/development/i386/os/Fedora/

That's good. Its not supposed to be in perl. Its in perl-libs now.

~spot

Comment 17 Helmut Leininger 2007-05-23 19:18:35 UTC
Thanks.

So, there is (was) a missing dependency (for yum) when updating from an earlier
version.

Regards
Helmut


Comment 18 Stepan Kasal 2007-07-27 11:01:31 UTC
It looks like a bug in yum dependency resolver.

Summary:
For versions <= 4:5.8.8-15.fc7, perl.rpm both provided and required "libperl.so"
(or "libperl.so()(64bit)" for 64bit platforms).
Since 4:5.8.8-16.5.fc7, perl.rpm requires libperl.so, but does not provide it. 
perl-libs.rpm provides libperl.so, but does not require it.

It seems that this setup can confuse yum.  Could someone please test it?
Or review the code with respect to chnages in self-provided requires?

Comment 19 Seth Vidal 2007-07-27 13:32:11 UTC
When did you test the behavior last?

Do you think I could convince you to test it again with the version of yum from
test1- 3.2.2-3.fc8




Comment 20 Stepan Kasal 2007-07-27 16:11:33 UTC
(In reply to comment #19)
> When did you test the behavior last?

I, personally, have never observed this bug.
I was just willing to solve it and I came to the conclusion that it was not a
bug in perl, since perl-5.8.8-17.fc7 requires libperl.so.

> Do you think I could convince you to test it again with the version of yum from
> test1- 3.2.2-3.fc8

Actually, I do not have the resources for a fresh install currently.
And I do not have a suitable machine for experiments either.

I made some experiments on my oldish Fedora 6 with yum-3.0.6-1.fc6 (yum
--enablerepo=development upgrade perl) and it found out correctly that perl-libs
has to be installed.  (This slightly differs from Comment #12; I was able to
twist yum that is was going to update perl only:
Updating:
 perl                    i386       4:5.8.8-22.fc8   development        10 M
Installing for dependencies:
 perl-libs               i386       4:5.8.8-22.fc8   development       566 k
Transaction Summary:
Install      1 Package(s)
Update       1 Package(s)
Remove       0 Package(s)
)

I'm setting NEEDINFO, in case someone else is able to reproduce this.

Comment 21 Robin Norwood 2007-08-06 02:44:56 UTC
*** Bug 250885 has been marked as a duplicate of this bug. ***

Comment 22 Stepan Kasal 2007-08-07 19:52:44 UTC
I tried to reproduce this again.  This time I downgraded yum and
yum-metadata-resolver to the versions distributed with FC6 and tried again, but
yum has correctly found that perl-libs has to be installed.

Greg, was your FC6 updated?  Or did you started from the original install of FC6?
What were the versions of yum and yum-metatada-parser before the upgrade?

Comment 23 Michael 2007-08-09 09:42:49 UTC
Here's another manifestation (FC6 machine, upgrade to FC7 using yum). 

Let me know if there is any other diagnostic info that I can provide.

[root@delos /]# perl
perl: error while loading shared libraries: libperl.so: cannot open shared
object file: No such file or directory
[root@delos /]# rpm -q --whatprovides libperl.so
perl-libs-5.8.8-18.fc7
[root@delos /]# yum install perl-libs
Loading "installonlyn" plugin
Setting up Install Process
Parsing package install arguments
Nothing to do
[root@delos /]# rpm -e perl-libs-5.8.8-18.fc7 --nodeps
[root@delos /]# yum -y install perl-libs
Loading "installonlyn" plugin
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package perl-libs.i386 4:5.8.8-18.fc7 set to be updated
(snip)
Installed: perl-libs.i386 4:5.8.8-18.fc7
Complete!
[root@delos /]# perl
perl: error while loading shared libraries: libperl.so: cannot open shared
object file: No such file or directory
[root@delos /]# rpm -q --whatprovides libperl.so
perl-libs-5.8.8-18.fc7
[root@delos /]#


Comment 24 Michael 2007-08-09 21:53:45 UTC
By the way,
/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE/libperl.so does exist, and
creating a link on /usr/lib/libperl.so does fix the problem (or at least the
symptom), at least for the short term.



Comment 25 Greg Douglas 2007-08-11 23:45:52 UTC
(In reply to comment #22)
> I tried to reproduce this again.  This time I downgraded yum and
> yum-metadata-resolver to the versions distributed with FC6 and tried again, but
> yum has correctly found that perl-libs has to be installed.
> 
> Greg, was your FC6 updated?  Or did you started from the original install of FC6?
> What were the versions of yum and yum-metatada-parser before the upgrade?

My FC6 was updated just before migrating to FC7 a couple of weeks ago.  Not
certain exact yum versions in FC6, but yum was at the most recent FC6 version as
of the end of July 2007.  I did a network update to FC7, since I do not have a
DVD drive.  

After the upgrade to FC7, I had to replace my old yum.conf and
fedora-updates.repo to newer files with the extension "rpmnew". This opened the
door to many new FC7 updates, but did not resolve the perl dependency problem.

I also tried to remove perl and ignore dependencies (rpm -e --allmatches
--nodeps perl) and then reinstall perl (yum install perl).  But again, the
dependencies were ignored.  Therefore I just manually installed them after
learning they were missing.

Hope this helps.


Comment 26 Stepan Kasal 2007-08-16 15:07:57 UTC
Hello Michael,

(In reply to comment #23)
> Here's another manifestation (FC6 machine, upgrade to FC7 using yum). 

I believe your problem differs from what the rest of this bug report discusses.

First, could you please check the version of glibc (rpm -q glibc)?
If it is 2.6.90-9, you might have hit bug #252146.  Try upgrading to 2.6.90-10.
(If it is not at your mirror yet, use:
https://koji.fedoraproject.org/koji/buildinfo?buildID=13841 .)

If this is not the cause, will you please file a new bug report?

The problem does not seem to be caused by yum, so the new bug should be against
Component: perl.
Please include also the output of the following commands:
rpm -qa 'glibc*'
objdump -p /usr/bin/perl | grep PATH
ldconfig -p | grep perl

Comment 27 Stepan Kasal 2007-08-16 15:35:46 UTC
I'm no longer so sure this is a problem in yum. Perhaps some other package
provides libperl.so. In any case, the unversioned libperl.so provide is
dangerous, so I'll add "Requires: perl-libs = %{version}-%{release}" to
perl.spec; it shouldn't hurt and there are situations where it will help.

Comment 28 Stepan Kasal 2007-08-16 15:41:34 UTC
Could the guys who tripped over this problem post the output of the commands
  rpm -q --whatprovides libperl.so
and
  rpm -q --whatprovides 'libperl.so()(64bit)'
?
Thanks

Comment 29 Greg Douglas 2007-08-16 21:36:39 UTC
(In reply to comment #28)
> Could the guys who tripped over this problem post the output of the commands
>   rpm -q --whatprovides libperl.so
> and
>   rpm -q --whatprovides 'libperl.so()(64bit)'
> ?
> Thanks

Although I have manually added the missing perl libs package, 

Here is the first:
# rpm -q --whatprovides libperl.so
fedora-ds-7.1-2.RHEL4
perl-libs-5.8.8-18.fc7

And the second:

# rpm -q --whatprovides 'libperl.so()(64bit)'
no package provides libperl.so()(64bit)


Thanks





Comment 30 Robin Norwood 2007-08-16 22:07:35 UTC
Fascinating - Greg, any idea what 'fedora-ds' is?  (rpm -qi ?)  The only
fedora-ds I'm aware of is the fedora directory server, and that seems to be at
version 1.04, not 7.1: http://www.directory.fedora.redhat.com/wiki/Download

Anyway, Stepan's solution in comment #27 should work...though I suspect
fedora-ds probably shouldn't Provide: libperl.so


Comment 31 Greg Douglas 2007-08-17 10:49:59 UTC
Hi Robin.

It is indeed the Fedora Directory, but an earlier version.  I installed it
manually a while back when it was released.  

Name        : fedora-ds                    Relocations: /opt/fedora-ds 
Version     : 7.1                               Vendor: (none)
Release     : 2.RHEL4                       Build Date: Thu 26 May 2005 04:33:32
PM EDT
Install Date: Wed 01 Jun 2005 02:33:22 PM EDT      Build Host: earthquake
Group       : System Environment/Daemons    Source RPM:
fedora-ds-7.1-2.RHEL4.src.rpm
Size        : 169747913                        License: GPL plus extensions
Signature   : (none)
URL         : http://fedora.redhat.com
Summary     : Fedora Directory Server
Description :
Fedora Directory Server is an LDAPv3 compliant server.


I want to remove it, but there are hundreds of dependencies, probably because of
the libperl.so. I think that I will force a removal with the rpm and the nodeps
option.

Thanks.

Comment 32 Stepan Kasal 2007-08-17 13:40:09 UTC
(In reply to comment #30)
> [...] I suspect fedora-ds probably shouldn't Provide: libperl.so

I agree.  I was going to file it as a bug, but it seems that recent fedora-ds*
rpms no longer have this problem.
 



Comment 33 Stepan Kasal 2007-08-17 16:05:15 UTC
The problem is fixed by the Jakub's solution I presented in commment #27.
In Fedora Development it's fixed in 5.8.8-23.fc8, in Fedora 7 Updates it is in
version 5.8.8-20.fc7.

Reassigning back to perl, chnaging the summary again; this is not a yum bug.

Comment 34 Fedora Update System 2007-08-19 15:13:21 UTC
perl-5.8.8-22.fc7 has been pushed to the Fedora 7 testing repository.  If problems still persist, please make note of it in this bug report.

Comment 35 Fedora Update System 2007-08-20 16:02:05 UTC
perl-5.8.8-23.fc7 has been pushed to the Fedora 7 testing repository.  If problems still persist, please make note of it in this bug report.

Comment 36 Fedora Update System 2007-09-10 16:52:42 UTC
perl-5.8.8-23.fc7 has been pushed to the Fedora 7 stable repository.  If problems still persist, please make note of it in this bug report.


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