Severe glibc upgrade problem

Ville Herva vherva at viasys.com
Sun Mar 28 18:53:48 UTC 2004


This is a longish story, and I'm not sure where I should report this bug...
Anyway, I was upgrading my Fedora Core Development installation with yum
command

  yum --exclude=xorg\* --exclude=anaconda --exclude=gdm --exclude=kdebase --exclude=kde\* --exclude=chkfontpath --exclude=XFree86\* --exclude=epiphany --exclude=gkrellm --exclude=rpmdb-fedora update

in preparation to move from XFree86 to x-org. At the time, I only had Fedora
Devel base path in my yum.conf. yum downloaded the rpms slowly, but hell
broke loose when rpm begun installing the first packages. Basically,
glibc-common and glibc didn't install properly:

  glibc-common 100 % done 4/208
  error: unpacking of archive failed on file /usr/lib/locale/zh_CN/LC_PAPER: cpio link exists
  warning: /etc/ld.so.conf created as /etc/ld.so.conf.rpmnew

  glibc 100 % done 5/208
  error: unpacking of archive failed on file /lib/ld-2.3.3.so: cpio: open

and after that, most of the rpm installs were fubar, because rpm could not
execute anything due to missing ls-linux.so.2:

  pango 100 % done 7/208
  error: %post(pango-1.4.0-1) scriptlet failed, exit status 255

I had left yum running by itself (as the upgrade took about 5 hours), so it
kept on going these fubared installs for about 100 rpm's before it
mis-upgraded python and sigbus'ed:

  zsh: bus error yum --exclude=xorg\* --exclude=anaconda --exclude=gdm --excl

I found out that /lib/ld-linux.so.2, /lib/ld-2.2.3.so and /lib/tls/libc.so.6
were missing. Through various LD_LIBRARY_PATH, LD_PRELOAD,
"/backup/lib/ld-linux.so.2 /bin/cp ..." and ash.static hacks I was able to
restore so much glibc libraries that I could try to reinstall the rpm's.

I verified the glibc rpm signatures, and md5 sums were ok. Installing
glibc-utils-2.3.3-18, glibc-headers-2.3.3-18, glibc-2.3.3-18,
glibc-devel-2.3.3-18, glibc-common-2.3.3-18 didn't prove easy, though. I got
the same errors and lost the libraries again. The same story when trying to
the previous glibc-2.3.3-16.

This is using rpm-4.3-0.22 and rpm-4.3-0.20 (it was upgraded in the
process.) I reinstalled rpm-4.3-0.22 with rpm -Uvh --force before retrying.)

Basically it, appeared that rpm had become completely unable to handle cases
where it should replace a file with a link, replace a running
binary/library, or anything non-trivial. After I did rm -rf /usr/lib/locale
and some other offending files, I was able to install glibc*. However, the
same problems continued when I reinstalled the misinstalled rpm's:

  python 100 % done 18/208
  error: unpacking of archive failed on file /usr/bin/python: cpio: link
  gcc-c++ 100 % done 82/208
  error: unpacking of archive failed on file /usr/bin/c++: cpio: link
  e2fsprogs-devel 100 % done 69/208
  error: unpacking of archive failed on file /usr/share/man/man3/uuid_generate.3.gz
  emacs 100 % done 96/208
  error: unpacking of archive failed on file /usr/bin/emacs: cpio: link

and reinstalling SysVinit complained that /sbin/init textfile was busy.
Well, duh!

(Sorry for the possibly inexact error messages, the rxvt where I
cut'n'pasted these from was a bit garbled.)

I opened up a bugzilla entry for rpm
(https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=119122), but I'm not
sure if this is a bug in the rpm packages, rpm itself, yum, or perhaps in
cpio. I would suspect rpm. But is quite serious.

There is a more complete yum install log attached to the bugzilla entry.


-- v -- 

v at iki.fi





More information about the fedora-test-list mailing list