On Sun, Apr 18, 2004 at 11:51:33PM -0400, seth vidal wrote: > On Thu, 2004-04-15 at 10:35 -0600, Charles Curley wrote: > > > I'd like to install yum on Mandrake 10.0. Given that Mandrake 10.0 has > > rpm-4.2.2-7mdk, I figured yum-2.0.6-1 was in order. I get: > > > > [root@taltos root]# yum -C list > > Gathering header information file(s) from server(s) > > Server: Mandrake 10.0 - i386 - Base > > Traceback (most recent call last): > > File "/usr/bin/yum", line 30, in ? > > yummain.main(sys.argv[1:]) > > File "/usr/share/yum/yummain.py", line 237, in main > > clientStuff.rpmdbNevralLoad(rpmDBInfo) > > File "/usr/share/yum/clientStuff.py", line 164, in rpmdbNevralLoad > > if not rpmdbdict.has_key((name, arch)): > > TypeError: list objects are unhashable > > is the mdk python patched in some odd way? > > it's saying rpmdbdict is a list - which is, umm, very unlikely. I have no idea, being enither a python nor a Mandrake guru. Here is what is installed: [root@taltos root]# pre python python-base-2.3.3-2mdk libpython2.3-2.3.3-2mdk python-2.3.3-2mdk libxml2-python-2.6.6-1mdk rpm-python-4.2.2-7mdk Is it possible I'm missing a component. Mandrake seems to slice and dice their RPMs more finely than Red Hat/Fedora. Here is what is available: [root@taltos root]# find /mnt/nfs/Mandrake*/ -iname "*python*rpm" /mnt/nfs/Mandrake/RPMS/libpython2.3-2.3.3-2mdk.i586.rpm /mnt/nfs/Mandrake/RPMS/python-2.3.3-2mdk.i586.rpm /mnt/nfs/Mandrake/RPMS/python-base-2.3.3-2mdk.i586.rpm /mnt/nfs/Mandrake/RPMS/python-fam-1.0.2-4mdk.i586.rpm /mnt/nfs/Mandrake/RPMS/python-numeric-23.1-2mdk.i586.rpm /mnt/nfs/Mandrake/RPMS2/python-imaging-1.1.4-3mdk.i586.rpm /mnt/nfs/Mandrake/RPMS2/rpm-python-4.2.2-7mdk.i586.rpm /mnt/nfs/Mandrake/RPMS3/gnome-python-bonobo-2.0.0-3mdk.i586.rpm /mnt/nfs/Mandrake/RPMS3/gnome-python-canvas-2.0.0-3mdk.i586.rpm /mnt/nfs/Mandrake/RPMS3/gnome-python-2.0.0-3mdk.i586.rpm /mnt/nfs/Mandrake/RPMS3/libpython2.3-devel-2.3.3-2mdk.i586.rpm /mnt/nfs/Mandrake/RPMS3/libwxPythonGTK2.4-2.4.2.4-2mdk.i586.rpm /mnt/nfs/Mandrake/RPMS3/pythonlib-1.28-5mdk.noarch.rpm /mnt/nfs/Mandrake/RPMS3/python-docs-2.3.3-2mdk.i586.rpm /mnt/nfs/Mandrake/RPMS3/wxPythonGTK-2.4.2.4-2mdk.i586.rpm /mnt/nfs/Mandrake/RPMS5/beecrypt-python-3.1.0-2mdk.i586.rpm /mnt/nfs/Mandrake/RPMS5/dbus-python-0.20-7mdk.i586.rpm /mnt/nfs/Mandrake/RPMS5/gnome-python-gnomeprint-2.0.0-3mdk.i586.rpm /mnt/nfs/Mandrake/RPMS5/gnome-python-gconf-2.0.0-3mdk.i586.rpm /mnt/nfs/Mandrake/RPMS5/gnome-python-gnomevfs-2.0.0-3mdk.i586.rpm /mnt/nfs/Mandrake/RPMS5/gnome-python-nautilus-2.0.0-3mdk.i586.rpm /mnt/nfs/Mandrake/RPMS5/gnome-python-gtkhtml2-2.0.0-3mdk.i586.rpm /mnt/nfs/Mandrake/RPMS5/gnome-python-applet-2.0.0-3mdk.i586.rpm /mnt/nfs/Mandrake/RPMS5/libuser-python-0.51.7-8mdk.i586.rpm /mnt/nfs/Mandrake/RPMS5/libwxPythonGTK2.4-devel-2.4.2.4-2mdk.i586.rpm /mnt/nfs/Mandrake/RPMS5/libxml2-python-2.6.6-1mdk.i586.rpm /mnt/nfs/Mandrake/RPMS5/libxslt-python-1.1.2-1mdk.i586.rpm /mnt/nfs/Mandrake/RPMS5/python-numeric-devel-23.1-2mdk.i586.rpm /mnt/nfs/Mandrake/RPMS5/python-utmp-0.7-3mdk.i586.rpm /mnt/nfs/Mandrake/RPMS5/xchat-python-2.0.7-6mdk.i586.rpm /mnt/nfs/Mandrake/RPMS7/drpython-2.2.7-1mdk.noarch.rpm /mnt/nfs/Mandrake/RPMS7/gimp1_3-python-2.0-0.pre3.2mdk.i586.rpm /mnt/nfs/Mandrake/RPMS7/gstreamer-python-0.1.0-2mdk.i586.rpm /mnt/nfs/Mandrake/RPMS7/MySQL-python-0.9.2-2mdk.i586.rpm /mnt/nfs/Mandrake/RPMS7/python-psyco-docs-1.1.1-1mdk.i586.rpm /mnt/nfs/Mandrake/RPMS7/python-glpk-0.3-1mdk.i586.rpm /mnt/nfs/Mandrake/RPMS7/python-psyco-1.1.1-1mdk.i586.rpm /mnt/nfs/Mandrake/RPMS7/python-reportlab-1.17-2mdk.noarch.rpm /mnt/nfs/Mandrake/RPMS7/streamtuner-python-0.0.3-1mdk.i586.rpm It may also be that my copy of the yum rpm is corrupted. def rpmdbNevralLoad(nevral): rpmdbdict = {} serverid = 'db' rpmloc = 'in_rpm_db' hdrs = ts.dbMatch() for hdr in hdrs: (epoch, name, ver, rel, arch) = getENVRA(hdr) # deal with multiple versioned dupes and dupe entries in localdb if not rpmdbdict.has_key((name, arch)): rpmdbdict[(name, arch)] = (epoch, ver, rel) else: (e1, v1, r1) = (rpmdbdict[(name, arch)]) (e2, v2, r2) = (epoch, ver, rel) rc = rpmUtils.compareEVR((e1,v1,r1), (e2,v2,r2)) if (rc <= -1): rpmdbdict[(name, arch)] = (epoch, ver, rel) elif (rc == 0): log(4, 'dupe entry in rpmdb %s %s' % (name, arch)) for value in rpmdbdict.keys(): (name, arch) = value (epoch, ver, rel) = rpmdbdict[value] nevral.add((name, epoch, ver, rel, arch, rpmloc, serverid), 'n') -- Charles Curley /"\ ASCII Ribbon Campaign Looking for fine software \ / Respect for open standards and/or writing? X No HTML/RTF in email http://www.charlescurley.com / \ No M$ Word docs in email Key fingerprint = CE5C 6645 A45A 64E4 94C0 809C FFF6 4C48 4ECD DFDB -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: not available Url : http://lists.dulug.duke.edu/pipermail/yum/attachments/20040419/6f92ddd1/attachment-0001.bin