Re: RedHat 7.1 + Ximian problems?



I am appalled by the number of people who respond to questions/complaints
about dependency conflicts with answers like "Oh just ignore those
warnings and do a rpm -Uvh blah.rpm --force --nodeps". People, those
warnings _MEAN_ something. The very moment you use either --force
or --nodeps, you are making your rpm database unstable and unpredictable,
because something _IS_ wrong. If you do this once, those warnings you
ignored will pop up again and again in the future, and keep annoying
you.

I must reiterate: Do NOT use --force or --nodeps. The ONLY time one
should do this if one knows _exactly_ what is wrong and knows that
ignoring it will cause _no_ problem. For example one package I
installed was complaining it need libblah.so.3. I had a package that
provided libblah.so.2 and libblah.so.3, but it's provide flags in
the rpm database (--provides) only listed libblah.so.2. So I ignored
the error. But this problem keeps haunting me because many
package managers, in an attempt to keep my rpm database nice, clean
and happy (which is a _GOOD_ thing), complain about this situation.

So, when installing rpm's, if you get a dependency conflict, FIX it.
Find out the exact error message, and post it online (mailing lists
or whatever), or better yet, solve it yourself. And please everyone,
when someone has a question/complaint about a dependency conflict,
then PLEASE DO NOT answer "ignore it". People who could not solve
this problem on their own are probably the ones who'll suffer the
MOST later because of a bad rpm database.

Remember those people complaining "when I had redcarpet/otherpackagemanager
install/update/verify something, it wanted to remove ALL of kde!!" ?
That's cause they probably installed something with --force or --nodeps,
All of kde depends on that package (maybe it doesn't use it very much
at all, which is why they didn't notice problems). And so the rpm database
starts complaining.

Sorry for the long rant, I guess now I'll provide a few rpm usage
hints that might help people resolve future conflicts:

rpm -q --provides foo		Lists what package foo provides
rpm -q --requires foo		Lists what foo requires
rpm -q --whatprovides dep	Lists what package provides dep
rpm -q --whatrequires dep	Lists what package requires dep

If you are trying to install foo and get a complaint that so and so dependency
is missing, then something that foo --requires are not being met by 
the --provides of all existing packages (including the ones you are about to.
install). This can happen because

(a)	You don't have some required package installed. This problem is
	quite straightforward.
(b)	The packages you're installing is removing/upgrading an already
	installed package which provides something that some OTHER package
	requires. For example, I have an old bzip2 that provides libbz.so.0,
	which is used by package foo. I attempt to install scooby and
	bzip2-newer. Bzip2-newer provides libbz.so.1 and upgrades (ie.
	removes) the old bzip2. But in trying to do that, foo will start
	complaining "need libbz.so.0". This error is what trips most people
	because it seems to refer to things that have nothing to do with
	what you are installing.

(a)	Solving (a) is simple. Find the missing package and install it.
	Ximian-Gnome 1.4 doesn't provide "every required package". It has
	requirements outside the packages it provides. And sometimes
	they happen to be missing in someone's computer (either not
	installed or upgraded to a newer incompatible version).

(b)	Two solutions. First, let's identify the sources of the problem.
	Suppose the error is "scooby.so.0 is required by shaggy". Find out
	who provides scooby.so.0 (rpm -q --whatprovides scooby.so.0).
	Suppose it's scooby-2.3. Well then, you are probably installing rpm's
	that update scooby, but shaggy needs the old one. So, either find
	a compat-rpm that includes the old scooby, or remove shaggy completely.
	If no one provides scooby.so.0 and you are installing shaggy, then 
	shaggy needs other packages to get installed correctly. If no one
	provides scooby.so.0 and your are _not_ installing shaggy, (ie. you
	are installing daphne, shaggy is already on your system), then an old
	unresolved conflict just bubbled up.

Now the main problem is to find out "What Package Provides scooby.so.0". Well,
the method I use is pointing my browser to http://www.rpmfind.net. I type in
the required dependency into the search form and send it. RpmFind then lists
me a page of rpm's that provide that rpm. You can then either download the rpm
or get it off your distribution cd. Note that many distributions now have nice
utility commands/gui's that let you specify a dependency to install and it
searchis in a predefined location of RPM's for the right one to install.

Anyway, I hope this helps.

Loban.

> I'm using RedHat 7.1 and yes, I did have problems in getting the 
> installer to complete. It eventually downloaded all of the packages 
> but kept giving me an error about dependency conflict. An easy way 
> to skip past the installer is to cd to /var/cache/redcarpet/packages 
> and install with rpm -Uvh *rpm although this is too easy isn't it? 
> well, the installer was right about complaining about deps, so I 
> went ahead and used rpm -Uvh --force *rpm  and
> everything works fine.

/-------------------------------------------------------------------\
|   Loban Amaan Rahman  <-- anagram of -->  Aha! An Abnormal Man!   |
|  loban earthling net, loban ugcs caltech edu,  http://i.am/loban  |
\-------------------------------------------------------------------/




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]