Re: An error on each rpm ??

From: Juhan Leemet (juhan_at_logicognosis.com)
Date: 08/18/04


Date: Wed, 18 Aug 2004 05:58:54 -0200

On Mon, 16 Aug 2004 11:05:37 +0200, Bourrion Daniel wrote:
> Since some weeks, each time i use Yast to install something, at the end
> on the installation, Yast tells me that the packages
> "the_pakage_i_install" returns an error, but yast doesn't give me more
> precision.

I don't use yast for installation. I go directly to rpm (from scripts). I
have noticed that rpm-4.x on SuSE-9.1 seems to have some problems. It
seems to give nonsense error messages: for example, complaining about some
installed package(s) requiring some library that is part of a package
being updated by a later version which also contains that library.

I just saw an example. I was updating jasper-1.700.5-58 to
jasper-1.701.0-1.5 which I rebuilt from .src.rpm downloaded from the SuSE
9.1 update site. The error messages complained about:

error: Failed dependencies:
        libjasper-1.700.so.1 is needed by (installed) LabPlot-1.3.0-1
        libjasper-1.700.so.1 is needed by (installed) gdal-python-1.1.8-1jl
        libjasper-1.700.so.1 is needed by (installed) gdal-1.1.8-1jl
        libjasper-1.700.so.1 is needed by (installed) ImageMagick-5.5.7-220
        libjasper-1.700.so.1 is needed by (installed) libgdal-devel-1.1.8-1jl
        libjasper-1.700.so.1 is needed by (installed) libgdal-1.1.8-1jl

However, when I used "rpm -qlp" to look at the new contents, I saw:

/usr/lib/libjasper-1.700.so.1
/usr/lib/libjasper-1.701.so.1
/usr/lib/libjasper-1.701.so.1.0.0
/usr/lib/libjasper.a
/usr/lib/libjasper.la
/usr/lib/libjasper.so

In other words, the new updated package DOES contain that library that rpm
was complaining about! WTF? So I forced the install with "rpm -U --nodeps"
and I got an "interesting" error message:

/sbin/ldconfig: /usr/lib/libjasper-1.700.so.1 is not a symbolic link

Ah, so it seems that the new updated package contains a softlink to a new
library version 1.701 that replaces the old version 1.700. However, rpm
did not recognize that and/or did not know how to handle that?!? WTF?

My workaround was to manually delete the old library, manually create the
softlink, and then I found the update also (re)installed OK. I guess rpm
had trouble creating a softlink to replace an existing library? Is that an
rpm problem? an rpm script problem? This probably affects yast, too?

I don't know if anyone (at SuSE?) is interested in looking at this?

> After that, the programm i've install, and who returns an error, works
> fine whe i test it !!

That probably depends on what you're testing. In my case, the new library
did get created and any new programs would work OK. Any of the old ones
might have failed, er, maybe... (the old library was still there)

> How can i do to avoid to have this error/message of error ?

I don't know if this is fixable, without working on rpm?
Whose responsibility would that be? SuSE? RedHat (for rpm?)?

-- 
Juhan Leemet
Logicognosis, Inc.