Bug 484332

Summary: yum dependency problem
Product: [Fedora] Fedora Reporter: Donald Cohen <don-redhat-z6y>
Component: pulseaudioAssignee: Lennart Poettering <lpoetter>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 10CC: lkundrak, lpoetter, tdfischer
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-04-18 19:57:50 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:

Description Donald Cohen 2009-02-06 08:09:23 UTC
Description of problem:
yum update 
 =>
 ...pulseaudio-core-libs-0.9.14-1.fc10.x86_64 from updates has depsolving problems
  --> Missing Dependency: libltdl.so.3()(64bit) is needed by package pulseaudio-core-libs-0.9.14-1.fc10.x86_64 (updates)
pulseaudio-module-gconf-0.9.14-1.fc10.x86_64 from updates has depsolving problems
  --> Missing Dependency: libltdl.so.3()(64bit) is needed by package pulseaudio-module-gconf-0.9.14-1.fc10.x86_64 (updates)
pulseaudio-0.9.14-1.fc10.x86_64 from updates has depsolving problems
  --> Missing Dependency: libltdl.so.3()(64bit) is needed by package pulseaudio-0.9.14-1.fc10.x86_64 (updates)
Error: Missing Dependency: libltdl.so.3()(64bit) is needed by package pulseaudio-0.9.14-1.fc10.x86_64 (updates)
Error: Missing Dependency: libltdl.so.3()(64bit) is needed by package pulseaudio-core-libs-0.9.14-1.fc10.x86_64 (updates)
Error: Missing Dependency: libltdl.so.3()(64bit) is needed by package pulseaudio-module-gconf-0.9.14-1.fc10.x86_64 (updates)
[2009-02-02 11:40:53 root@number11 ~]
$ locate libltdl
/usr/lib64/libltdl.so.7
/usr/lib64/libltdl.so.7.2.0
/usr/share/libtool/libltdl
 ...


How reproducible:
do yum update

Steps to Reproduce:
1. do yum update
  
Actual results:
see above

Expected results:
no dependency problems, successful update

Comment 1 Donald Cohen 2009-02-10 00:22:30 UTC
In order to update other software I've now done
 yum remove pulseaudio;  yum remove pulseaudio-core-libs; yum update
Now when I do
 yum install pulseaudio
I get this
$ yum install pulseaudio
Loaded plugins: refresh-packagekit
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package pulseaudio.x86_64 0:0.9.14-1.fc10 set to be updated
--> Processing Dependency: pulseaudio-core-libs = 0.9.14-1.fc10 for package: pulseaudio
--> Processing Dependency: libpulsecore.so.9()(64bit) for package: pulseaudio
--> Processing Dependency: libltdl.so.3()(64bit) for package: pulseaudio
--> Running transaction check
---> Package pulseaudio.x86_64 0:0.9.14-1.fc10 set to be updated
--> Processing Dependency: libltdl.so.3()(64bit) for package: pulseaudio
---> Package pulseaudio-core-libs.x86_64 0:0.9.14-1.fc10 set to be updated
--> Processing Dependency: libltdl.so.3()(64bit) for package: pulseaudio-core-libs
--> Finished Dependency Resolution
pulseaudio-core-libs-0.9.14-1.fc10.x86_64 from updates has depsolving problems
  --> Missing Dependency: libltdl.so.3()(64bit) is needed by package pulseaudio-core-libs-0.9.14-1.fc10.x86_64 (updates)
pulseaudio-0.9.14-1.fc10.x86_64 from updates has depsolving problems
  --> Missing Dependency: libltdl.so.3()(64bit) is needed by package pulseaudio-0.9.14-1.fc10.x86_64 (updates)
Error: Missing Dependency: libltdl.so.3()(64bit) is needed by package pulseaudio-0.9.14-1.fc10.x86_64 (updates)
Error: Missing Dependency: libltdl.so.3()(64bit) is needed by package pulseaudio-core-libs-0.9.14-1.fc10.x86_64 (updates)

Comment 2 Trever Fischer 2009-03-05 01:19:41 UTC
I get this as well on my fedora 10 laptop, running ye olde fashion'd 32 bit. Is there a fix coming soon?

Comment 3 Lennart Poettering 2009-04-13 16:07:42 UTC
Not sure where your libltdl.so.7 comes from. That file is from libtool 2.2. However, on F10 we only ship libtool 1.5.26. Maybe you pulled in RPMs from some other source that now interferes with the dependency solving of yum.

You can easily check that only libltdl.so.3 is available in F10 by having a peek into our official F10 libtool package:

http://ftp.tu-chemnitz.de/pub/linux/fedora/linux/releases/10/Fedora/x86_64/os/Packages/libtool-ltdl-1.5.26-4.fc10.x86_64.rpm

Comment 4 Donald Cohen 2009-04-14 05:49:32 UTC
I give up.  What am I supposed to do in order to reinstall pulseaudio?

$ yum install pulseaudio
Loaded plugins: refresh-packagekit
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package pulseaudio.x86_64 0:0.9.14-1.fc10 set to be updated
--> Processing Dependency: pulseaudio-core-libs = 0.9.14-1.fc10 for package: pulseaudio
--> Processing Dependency: libpulsecore.so.9()(64bit) for package: pulseaudio
--> Processing Dependency: libltdl.so.3()(64bit) for package: pulseaudio
--> Running transaction check
---> Package pulseaudio.x86_64 0:0.9.14-1.fc10 set to be updated
--> Processing Dependency: libltdl.so.3()(64bit) for package: pulseaudio
---> Package pulseaudio-core-libs.x86_64 0:0.9.14-1.fc10 set to be updated
--> Processing Dependency: libltdl.so.3()(64bit) for package: pulseaudio-core-libs
--> Finished Dependency Resolution
pulseaudio-core-libs-0.9.14-1.fc10.x86_64 from updates has depsolving problems
  --> Missing Dependency: libltdl.so.3()(64bit) is needed by package pulseaudio-core-libs-0.9.14-1.fc10.x86_64 (updates)
pulseaudio-0.9.14-1.fc10.x86_64 from updates has depsolving problems
  --> Missing Dependency: libltdl.so.3()(64bit) is needed by package pulseaudio-0.9.14-1.fc10.x86_64 (updates)
Error: Missing Dependency: libltdl.so.3()(64bit) is needed by package pulseaudio-0.9.14-1.fc10.x86_64 (updates)
Error: Missing Dependency: libltdl.so.3()(64bit) is needed by package pulseaudio-core-libs-0.9.14-1.fc10.x86_64 (updates)

I now remove the offending libltdl.so:
$ ls -l /usr/lib64/libltdl.so*
lrwxrwxrwx 1 root root    12 2009-02-05 10:02 /usr/lib64/libltdl.so.3 -> libltdl.so.7
lrwxrwxrwx 1 root root    16 2009-01-03 00:30 /usr/lib64/libltdl.so.7 -> libltdl.so.7.2.0
-rwxr-xr-x 1 root root 38416 2008-12-06 09:05 /usr/lib64/libltdl.so.7.2.0

$ mv /usr/lib64/libltdl.so.7.2.0 /usr/lib64/libltdl.xxxso.7.2.0 
$ rm /usr/lib64/libltdl.so.*

I don't see that I had any other choice for those.
$ yum whatprovides /usr/lib64/libltdl.so
Loaded plugins: refresh-packagekit
Importing additional filelist information
updates/filelists_db                                     | 1.6 MB     00:32     
http://mirror.liberty.edu/pub/fedora/linux/updates/10/x86_64/repodata/filelists.sqlite.bz2: [Errno 4] Socket Error: timed out
Trying other mirror.
updates/filelists_db                                     | 6.8 MB     00:37     
adobe-linux-i386/filelists                               | 137 kB     00:00     
adobe-linux-i386                                                          17/17
fedora-source/filelists_db                               | 590 kB     00:02     
libtool-ltdl-devel-1.5.26-4.fc10.x86_64 : Tools needed for development using the
                                        : GNU Libtool Dynamic Module Loader
Repo        : fedora
Matched from:
Filename    : /usr/lib64/libltdl.so
$ yum install libtool-ltdl-devel
Loaded plugins: refresh-packagekit
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package libtool-ltdl-devel.x86_64 0:1.5.26-4.fc10 set to be updated
--> Processing Dependency: libtool-ltdl = 1.5.26-4.fc10 for package: libtool-ltdl-devel
--> Processing Dependency: libltdl.so.3()(64bit) for package: libtool-ltdl-devel
--> Running transaction check
---> Package libtool-ltdl.i386 0:1.5.26-4.fc10 set to be updated
--> Processing Dependency: libdl.so.2(GLIBC_2.1) for package: libtool-ltdl
--> Processing Dependency: libc.so.6(GLIBC_2.4) for package: libtool-ltdl
--> Processing Dependency: libc.so.6(GLIBC_2.3) for package: libtool-ltdl
--> Processing Dependency: libc.so.6(GLIBC_2.3.4) for package: libtool-ltdl
--> Processing Dependency: libc.so.6(GLIBC_2.1.3) for package: libtool-ltdl
--> Processing Dependency: libc.so.6 for package: libtool-ltdl
--> Processing Dependency: libdl.so.2(GLIBC_2.0) for package: libtool-ltdl
--> Processing Dependency: libdl.so.2 for package: libtool-ltdl
--> Processing Dependency: libc.so.6(GLIBC_2.1) for package: libtool-ltdl
--> Processing Dependency: libc.so.6(GLIBC_2.0) for package: libtool-ltdl
---> Package libtool-ltdl-devel.x86_64 0:1.5.26-4.fc10 set to be updated
--> Processing Dependency: libltdl.so.3()(64bit) for package: libtool-ltdl-devel
--> Running transaction check
---> Package glibc.i686 0:2.9-3 set to be updated
---> Package libtool-ltdl-devel.x86_64 0:1.5.26-4.fc10 set to be updated
--> Processing Dependency: libltdl.so.3()(64bit) for package: libtool-ltdl-devel
--> Finished Dependency Resolution
libtool-ltdl-devel-1.5.26-4.fc10.x86_64 from fedora has depsolving problems
  --> Missing Dependency: libltdl.so.3()(64bit) is needed by package libtool-ltdl-devel-1.5.26-4.fc10.x86_64 (fedora)
Error: Missing Dependency: libltdl.so.3()(64bit) is needed by package libtool-ltdl-devel-1.5.26-4.fc10.x86_64 (fedora)

And still
$ yum install pulseaudio
Loaded plugins: refresh-packagekit
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package pulseaudio.x86_64 0:0.9.14-1.fc10 set to be updated
--> Processing Dependency: pulseaudio-core-libs = 0.9.14-1.fc10 for package: pulseaudio
--> Processing Dependency: libpulsecore.so.9()(64bit) for package: pulseaudio
--> Processing Dependency: libltdl.so.3()(64bit) for package: pulseaudio
--> Running transaction check
---> Package pulseaudio.x86_64 0:0.9.14-1.fc10 set to be updated
--> Processing Dependency: libltdl.so.3()(64bit) for package: pulseaudio
---> Package pulseaudio-core-libs.x86_64 0:0.9.14-1.fc10 set to be updated
--> Processing Dependency: libltdl.so.3()(64bit) for package: pulseaudio-core-libs
--> Finished Dependency Resolution
pulseaudio-core-libs-0.9.14-1.fc10.x86_64 from updates has depsolving problems
  --> Missing Dependency: libltdl.so.3()(64bit) is needed by package pulseaudio-core-libs-0.9.14-1.fc10.x86_64 (updates)
pulseaudio-0.9.14-1.fc10.x86_64 from updates has depsolving problems
  --> Missing Dependency: libltdl.so.3()(64bit) is needed by package pulseaudio-0.9.14-1.fc10.x86_64 (updates)
Error: Missing Dependency: libltdl.so.3()(64bit) is needed by package pulseaudio-0.9.14-1.fc10.x86_64 (updates)
Error: Missing Dependency: libltdl.so.3()(64bit) is needed by package pulseaudio-core-libs-0.9.14-1.fc10.x86_64 (updates)

Comment 5 Donald Cohen 2009-04-16 16:47:39 UTC
I just noticed an interesting message from eclipse

Gtk-Message: Failed to load module "canberra-gtk-module": libltdl.so.7: cannot open shared object file: No such file or directory

Evidently that also requires libltdl.
So I should probably reverse the changes from the last comment.

Comment 6 Donald Cohen 2009-04-16 16:49:41 UTC
... let's see whether I can reopen this bug

Comment 7 Lennart Poettering 2009-04-17 21:59:54 UTC
Have you installed RPMs from somewhere else?

F10 only has libtool 1.5. libltdl.so.7 does not exist there. You have mixed RPMS somehow that don't belong together.

Comment 8 Donald Cohen 2009-04-17 22:17:11 UTC
Before restoring libltdl.so.7 I saw a similar message from firefox (about missing it).  Since the message above says specifically libltdl.so.7 rather than some other version, or no version, I gather eclipse (and firefox) specifically do uste version 7.  What I don't understand is, if something else requires version 5 or 3 or whatever, why doesn't that cause yum to download and install that version.  What difference does the presence of version 7 make?

I think that both eclipse and firefox came from the same repositories as everything else.  (How can I check?)  It's possible that firefox told me an update was available and I retrieved it, but I don't think I've ever seen that from eclipse.

Comment 9 Lennart Poettering 2009-04-18 16:23:00 UTC
Try 'rpm -qf  /usr/lib64/libltdl*'

That will tell you where those files come from.

Comment 10 Donald Cohen 2009-04-18 17:11:03 UTC
$ rpm -qf  /usr/lib64/libltdl*
libtool-ltdl-2.2.6-5.fc11.x86_64
libtool-ltdl-2.2.6-5.fc11.x86_64

... so why does that line appear twice?
and how about libltdl.so ?

Comment 11 Lennart Poettering 2009-04-18 19:57:50 UTC
Those files are obviously from Fedora 11! The original bug you filed were regarding Fedora 10 packages of PulseAudio!

You should not mix packages from different distributions! Either run F10 or run Rawhide. But don't mix them!

Comment 12 Donald Cohen 2009-04-18 20:29:38 UTC
Please give me an idea of how to see which fedora version I'm using and how
to change it.  I was unaware that I had ever used anything other than 10 on this machine.

Comment 13 Lubomir Rintel 2009-04-18 21:31:13 UTC
(In reply to comment #12)
> Please give me an idea of how to see which fedora version I'm using and how
> to change it.  I was unaware that I had ever used anything other than 10 on
> this machine.  

Basically you should find out your fedora version by looking at /etc/fedora-release file:

# cat /etc/fedora-release
Fedora release 10.92 (Rawhide)

(I'm using Rawhide targetting Fedora 11 here.)

You should not have installed libtool packages other than ones from Fedora 10 if you only have used Fedora 10 repositories. You may have installed the newer (Fedora 11) packages after being instructed to click on the link to package in the build system, or done "yum --enablerepo=rawhide update <something dependant that would drag in the newer libtool>" or something like that.

(In reply to comment #10)
> $ rpm -qf  /usr/lib64/libltdl*
> libtool-ltdl-2.2.6-5.fc11.x86_64
> libtool-ltdl-2.2.6-5.fc11.x86_64
> 
> ... so why does that line appear twice?

See "echo /usr/lib64/libltdl*". You'll get two files. RPM looks up which packages do they belong to.

Do the following to get back the libtool-ltdl version from repository that matches your distribution:

# yum shell <<EOF
> remove libtool-ltdl
> install libtool-ltdl
> EOF

Good luck!

Comment 14 Donald Cohen 2009-04-18 21:55:02 UTC
$ cat /etc/fedora-release
Fedora release 10 (Cambridge)

I guess above instructions mean the same as this:
$ yum remove libtool-ltdl
 ...
Removing:
 libtool-ltdl            x86_64  2.2.6-5.fc11                  installed   63 k
Removing for dependencies:
 ImageMagick             x86_64  6.4.5.5-5.fc11                installed  6.2 M
 ImageMagick-perl        x86_64  6.4.5.5-5.fc11                installed  670 k
 a2ps                    x86_64  4.14-6.fc10                   installed  3.9 M
 compiz-gnome            x86_64  0.7.8-7.fc10                  installed  489 k
 control-center          x86_64  1:2.24.0.1-13.fc10            installed  7.2 M
 gdm                     x86_64  1:2.24.1-4.fc10               installed  3.4 M
 gdm-user-switch-applet  x86_64  1:2.24.1-4.fc10               installed   98 k
 gnome-applets           x86_64  1:2.24.3.1-1.fc10             installed   14 M
 gnome-games             x86_64  1:2.24.3-2.fc10               installed   19 M
 gnome-games-help        x86_64  1:2.24.3-2.fc10               installed   16 M
 gnome-panel             x86_64  2.24.3-2.fc10                 installed  9.3 M
 gnome-session           x86_64  2.24.3-1.fc10                 installed  1.9 M
 gnome-session-xsession  x86_64  2.24.3-1.fc10                 installed  4.6 k
 gthumb                  x86_64  2.10.10-3.fc10                installed  7.1 M
 guile                   x86_64  5:1.8.6-1.fc11                installed  3.2 M
 gvfs-gphoto2            x86_64  1.0.3-7.fc10                  installed  199 k
 hpijs                   x86_64  1:2.8.12-6.fc10               installed  4.4 M
 hplip                   x86_64  2.8.12-6.fc10                 installed   10 M
 hplip-libs              x86_64  2.8.12-6.fc10                 installed  328 k
 html2ps                 noarch  1.0-0.1.b5.fc10               installed  226 k
 libcanberra             x86_64  0.10-4.fc11                   installed  175 k
 libcanberra-gtk2        x86_64  0.10-4.fc11                   installed   43 k
 libgphoto2              x86_64  2.4.3-2.fc11                  installed  3.9 M
 libsane-hpaio           x86_64  2.8.12-6.fc10                 installed  113 k
 nautilus                x86_64  2.24.2-3.fc10                 installed   13 M
 orca                    x86_64  2.24.3-1.fc10                 installed  9.3 M
 pavucontrol             x86_64  0.9.7-3.fc10                  installed  278 k
 plymouth-gdm-hooks      x86_64  0.6.0-0.2008.11.17.3.fc10     installed   171 
 sane-backends           x86_64  1.0.19-12.fc10                installed  4.1 M
 sane-backends-libs      x86_64  1.0.19-12.fc10                installed  6.3 M
 sox                     x86_64  14.2.0-1.fc11                 installed  1.1 M
 xsane                   x86_64  0.996-3.fc10                  installed  4.9 M
 xsane-gimp              x86_64  0.996-3.fc10                  installed  638 k

Transaction Summary
================================================================================
Install      0 Package(s)         
Update       0 Package(s)         
Remove      34 Package(s)         
Is this ok [y/N]: y
 ...
Complete!

$ yum install libtool-ltdl
 ...
Installing:
 libtool-ltdl         x86_64         1.5.26-4.fc10         fedora          41 k

Transaction Summary
================================================================================
Install      1 Package(s)         
Update       0 Package(s)         
Remove       0 Package(s)         

Total download size: 41 k
Is this ok [y/N]: y
 ...
Complete!

$ yum install pulseaudio
...
Installing:
 pulseaudio                x86_64      0.9.14-1.fc10         updates      470 k
Installing for dependencies:
 pulseaudio-core-libs      x86_64      0.9.14-1.fc10         updates      246 k

Transaction Summary
================================================================================
Install      2 Package(s)         
Update       0 Package(s)         
Remove       0 Package(s)         

Total download size: 716 k
Is this ok [y/N]: y
...
Complete!


===
So it worked.  Thanks.  I wonder about the 34 packages deleted.
What if anything is it that I've lost and should reinstall?

Comment 15 Lubomir Rintel 2009-04-19 07:08:53 UTC
(In reply to comment #14)
> $ cat /etc/fedora-release
> Fedora release 10 (Cambridge)
> 
> I guess above instructions mean the same as this:
> $ yum remove libtool-ltdl

Umm, not. I intentionally used yum shell, so that the dependencies are not removed.

What's interesting there is that you had f11 ImageMagick. Probably it dragged the f11 ltdl?

> So it worked.  Thanks.  I wonder about the 34 packages deleted.
> What if anything is it that I've lost and should reinstall?  

As you can see, you just removed a handful of useful packages, such as most of gnome, the login manager, etc.

You may want to install it back (just run "awk '{print $1}' |xargs yum -y install" and paste the lines beginning with package names to the terminal followed with ^D).

Comment 16 Donald Cohen 2009-04-19 18:29:16 UTC
I guess (hope) your awk... is equivalent to this:
$ yum install hplip libcanberra gnome-session-xsession sane-backends-libs gnome-session gdm gnome-panel libtool-ltdl pavucontrol gnome-games sane-backends control-center html2ps ImageMagick-perl ImageMagick gthumb hpijs gvfs-gphoto2 gdm-user-switch-applet sox compiz-gnome libgphoto2 libcanberra-gtk2 guile gnome-games-help libsane-hpaio a2ps orca xsane gnome-applets nautilus hplip-libs xsane-gimp plymouth-gdm-hooks 

That's what I did and it seems to have worked.  I got the package names from the yum log lines containing "Erased".