[Yum-devel] yum-3.0.6 multiarch depsolving issue

Jay Soffian jaysoffian+rpm at gmail.com
Thu Jan 17 21:15:25 UTC 2008


I'm working on a fix for this, but I'm just wondering if this is a known issue.

RHEL AS4 x64_64 server, has cracklib.x86_64 and cracklib-dicts.x86_64 installed:

# rpm -q --qf '%{NAME}:%{EPOCH}-%{VERSION}-%{RELEASE}.%{ARCH}\n'
cracklib cracklib-dicts
cracklib:(none)-2.8.9-1.3.x86_64
cracklib-dicts:(none)-2.8.9-1.3.x86_64

Ask yum to install cracklib.i386:

# yum install cracklib.i386
Yum Version: 3.0.6
COMMAND: yum
Installroot: /
Ext Commands:

   cracklib.i386
Setting up Install Process
Setting up repositories
xxxxxxx                   100% |=========================|  714 B    00:00
Reading repository metadata in from local files
Setting up Package Sacks
Reading Local RPMDB
Parsing package install arguments
Discarding non-comparable pkg cracklib.x86_64
No other cracklib installed, adding to list for potential install
reduced installs :
   cracklib.i386 0:2.8.9-1.3
skipping reposetup, pkgsack exists
skipping reposetup, pkgsack exists
Building updates object
putting comps in simple update
putting atk in complex update
putting elfutils-libelf in complex update
putting ftp in simple update
putting gtk2 in complex update
putting acl in simple update
putting crash in simple update
putting cyrus-sasl in complex update
putting diskdumputils in simple update
putting elfutils in complex update
putting bluez-utils in simple update
putting grub in simple update
putting audit-libs in complex update
putting gmp in complex update
putting dos2unix in simple update
putting freetype in complex update
putting info in simple update
putting cyrus-sasl-plain in complex update
putting audiofile in complex update
putting dbus-glib in complex update
putting grep in simple update
putting gpm in complex update
putting dbus-glib in complex update
putting aspell in complex update
putting dhcpv6_client in simple update
putting audit-libs in complex update
putting e2fsprogs in complex update
putting cups-libs in complex update
putting initscripts in simple update
putting expat in complex update
putting cyrus-sasl in complex update
putting elfutils-libelf in complex update
putting aspell in complex update
putting bind-utils in simple update
putting cups in simple update
putting cracklib in complex update
putting glib2 in complex update
putting GConf2 in complex update
putting dosfstools in simple update
putting apr in complex update
putting hotplug in simple update
putting cyrus-sasl-plain in complex update
putting gnome-vfs2 in complex update
putting gzip in simple update
putting bind-libs in complex update
putting groff in simple update
putting db4 in complex update
putting findutils in simple update
putting device-mapper in complex update
putting fontconfig in complex update
putting binutils in simple update
putting bind-libs in complex update
putting glib in complex update
putting hal in complex update
putting gdbm in complex update
putting gnome-keyring in complex update
putting esound in complex update
putting ethtool in simple update
putting cyrus-sasl-md5 in complex update
putting fontconfig in complex update
putting ismtool in simple update
putting cups-libs in complex update
putting bash in simple update
putting gnome-vfs2 in complex update
putting hesiod in complex update
putting chkconfig in simple update
putting cyrus-sasl-md5 in complex update
putting finger in simple update
putting autofs in simple update
putting apr in complex update
putting iproute in simple update
putting glibc in complex update
putting gnupg in simple update
putting glibc-common in simple update
putting gtk2 in complex update
putting audit in simple update
putting gnome-keyring in complex update
putting gamin in complex update
putting dmraid in simple update
putting hwdata in simple update
putting elfutils in complex update
putting device-mapper in complex update
putting at in simple update
putting kbd in simple update
putting db4 in complex update
putting bzip2-libs in complex update
putting attr in simple update
putting file in simple update
putting glibc in complex update
putting e2fsprogs in complex update
putting gpm in complex update
putting dbus in complex update
putting iputils in simple update
putting cracklib-dicts in complex update
putting bluez-libs in complex update
putting dhclient in simple update
putting beecrypt in complex update
putting GConf2 in complex update
putting desktop-file-utils in simple update
putting gamin in complex update
putting dbus in complex update
putting cpio in simple update
putting freetype in complex update
putting ipsec-tools in simple update
putting authconfig in simple update
putting jpackage-utils in simple update
putting coreutils in simple update
putting hal in complex update
processing atk
processing atk
processing elfutils-libelf
processing elfutils-libelf
processing gtk2
processing gtk2
processing cyrus-sasl
processing cyrus-sasl
processing elfutils
processing elfutils
processing audit-libs
processing audit-libs
processing gmp
processing gmp
processing freetype
processing freetype
processing cyrus-sasl-plain
processing cyrus-sasl-plain
processing audiofile
processing audiofile
processing dbus-glib
processing dbus-glib
processing gpm
processing gpm
processing dbus-glib
processing dbus-glib
processing aspell
processing aspell
processing audit-libs
processing audit-libs
processing e2fsprogs
processing e2fsprogs
processing cups-libs
processing cups-libs
processing expat
processing expat
processing cyrus-sasl
processing cyrus-sasl
processing elfutils-libelf
processing elfutils-libelf
processing aspell
processing aspell
processing cracklib
processing cracklib
processing glib2
processing glib2
processing GConf2
processing GConf2
processing apr
processing apr
processing cyrus-sasl-plain
processing cyrus-sasl-plain
processing gnome-vfs2
processing gnome-vfs2
processing bind-libs
processing bind-libs
processing db4
processing db4
processing device-mapper
processing device-mapper
processing fontconfig
processing fontconfig
processing bind-libs
processing bind-libs
processing glib
processing glib
processing hal
processing hal
processing gdbm
processing gdbm
processing gnome-keyring
processing gnome-keyring
processing esound
processing esound
processing cyrus-sasl-md5
processing cyrus-sasl-md5
processing fontconfig
processing fontconfig
processing cups-libs
processing cups-libs
processing gnome-vfs2
processing gnome-vfs2
processing hesiod
processing hesiod
processing cyrus-sasl-md5
processing cyrus-sasl-md5
processing apr
processing apr
processing glibc.x86_64
processing glibc.i686
processing gtk2
processing gtk2
processing gnome-keyring
processing gnome-keyring
processing gamin
processing gamin
processing elfutils
processing elfutils
processing device-mapper
processing device-mapper
processing db4
processing db4
processing bzip2-libs
processing bzip2-libs
processing glibc.x86_64
processing glibc.i686
processing e2fsprogs
processing e2fsprogs
processing gpm
processing gpm
processing dbus
processing dbus
processing cracklib-dicts
processing cracklib-dicts
processing bluez-libs
processing bluez-libs
processing beecrypt
processing beecrypt
processing GConf2
processing GConf2
processing gamin
processing gamin
processing dbus
processing dbus
processing freetype
processing freetype
processing hal
processing hal
Resolving Dependencies
1200563464.22
--> Populating transaction set with selected packages. Please wait.
Member: cracklib.i386 0-2.8.9-1.3 - u
Adding Package cracklib - 2.8.9-1.3.i386 in mode u
---> Package cracklib.i386 0:2.8.9-1.3 set to be updated
--> Running transaction check
# of Deps = 1

Dep Number: 1/1

cracklib requires: cracklib-dicts at i386 = 2.8.9-1.3
--> Processing Dependency: cracklib-dicts at i386 = 2.8.9-1.3 for package: cracklib
Looking for ('cracklib-dicts at i386', 'EQ', ('0', '2.8.9', '1.3')) as a
requirement of cracklib - 2.8.9-1.3.x86_64
Requiring package is from transaction set
Resolving for requiring package: cracklib-2.8.9-1.3 in state u
Resolving for requirement: cracklib-dicts at i386 = 2.8.9-1.3
Searching pkgSack for dep: cracklib-dicts at i386
Potential match for cracklib-dicts at i386 from cracklib-dicts - 2.8.9-1.3.i386
Matched cracklib-dicts - 2.8.9-1.3.i386 to require for cracklib-dicts at i386
TSINFO: Marking cracklib-dicts - 2.8.9-1.3.i386 as install for cracklib
processing dep took: 0.101129
miss = 0
conf = 0
CheckDeps = 1
--> Restarting Dependency Resolution with new changes.
---> Loop Number: 2
Restarting Loop
--> Populating transaction set with selected packages. Please wait.
Member: cracklib-dicts.i386 0-2.8.9-1.3 - u
Adding Package cracklib-dicts - 2.8.9-1.3.i386 in mode u
---> Package cracklib-dicts.i386 0:2.8.9-1.3 set to be updated
Member: cracklib.i386 0-2.8.9-1.3 - u
--> Running transaction check
# of Deps = 1

Dep Number: 1/1

cracklib requires: cracklib-dicts at x86_64 = 2.8.9-1.3
--> Processing Dependency: cracklib-dicts at x86_64 = 2.8.9-1.3 for
package: cracklib
Looking for ('cracklib-dicts at x86_64', 'EQ', ('0', '2.8.9', '1.3')) as
a requirement of cracklib - 2.8.9-1.3.x86_64
Requiring package is installed: cracklib - 2.8.9-1.3.x86_64
Resolving for installed requiring package: cracklib - 2.8.9-1.3.x86_64
Resolving for requirement: cracklib-dicts at x86_64 = 2.8.9-1.3
Needed Require is not a package name. Looking up:
cracklib-dicts at x86_64 = 2.8.9-1.3
Potential Provider: cracklib-dicts.x86_64 0:2.8.9-1.3
Mode is u for provider of cracklib-dicts at x86_64 = 2.8.9-1.3:
cracklib-dicts.x86_64 0:2.8.9-1.3
Mode for pkg providing cracklib-dicts at x86_64 = 2.8.9-1.3: u
Cannot find an update path for dep for: cracklib-dicts at x86_64 = 2.8.9-1.3
Searching pkgSack for dep: cracklib-dicts at x86_64
Potential match for cracklib-dicts at x86_64 from cracklib-dicts - 2.8.9-1.3.x86_64
Matched cracklib-dicts - 2.8.9-1.3.x86_64 to require for cracklib-dicts at x86_64
cracklib-dicts - 2.8.9-1.3.x86_64 is in providing packages but it is
already installed, removing.
processing dep took: 0.103808
miss = 1
conf = 0
CheckDeps = 0
--> Finished Dependency Resolution
Dependency Process ending
Error: Missing Dependency: cracklib-dicts at x86_64 = 2.8.9-1.3 is needed
by package cracklib

# yum deplist cracklib.i386 cracklib-dicts.i386
package: cracklib.i386 2.8.9-1.3
  dependency: libc.so.6(GLIBC_2.3)
   provider: glibc.i686 2.3.4-2.39
  dependency: libc.so.6(GLIBC_2.1)
   provider: glibc.i686 2.3.4-2.39
  dependency: libc.so.6(GLIBC_2.1.3)
   provider: glibc.i686 2.3.4-2.39
  dependency: libc.so.6
   provider: glibc.i686 2.3.4-2.39
  dependency: libc.so.6(GLIBC_2.0)
   provider: glibc.i686 2.3.4-2.39
  dependency: libcrack.so.2
   provider: cracklib.i386 2.8.9-1.3
  dependency: /sbin/ldconfig
   provider: glibc.i686 2.3.4-2.39
   provider: glibc.x86_64 2.3.4-2.39
  dependency: /bin/sh
   provider: bash.x86_64 3.0-19.6
  dependency: libc.so.6(GLIBC_2.1.2)
   provider: glibc.i686 2.3.4-2.39
  dependency: cracklib-dicts at i386 = 2.8.9-1.3
   provider: cracklib-dicts.i386 2.8.9-1.3
package: cracklib-dicts.i386 2.8.9-1.3
  dependency: cracklib = 2.8.9-1.3
   provider: cracklib.i386 2.8.9-1.3
   provider: cracklib.x86_64 2.8.9-1.3


I've got yum using librpm-4.4.7, so it's possible that this is caused
by 4.4.7 kicking out a dependency during transaction solving that yum
isn't expecting. Before I attempt testing against the OEM librpm (it
will take me a bit to get that setup), I thought I'd ping the list to
see if this has been seen before. (I didn't find anything via google.)
I need to fix it in any case to work w/this version of librpm.

Thanks,

j.



More information about the Yum-devel mailing list