Page 1 of 1

"dependency hell" question

PostPosted: Thu Mar 06, 2003 4:55 am
by Ice9
Most of the linux users know this, and at some stage most of us have experienced something similar to "dependency hell".

Now I hear lots of people say "I use Gentoo/Debian/Slackware and I never have dependency problems"!

Is "dependency hell" purely rpm-related and non-existant when you install from source?
How come a Debian user would never have dependency problems?
Does it have to do with static/dynamic linking to the various libraries?

PostPosted: Thu Mar 06, 2003 5:22 am
by Void Main
Debian users don't have the problem for the same reason the Red Hat users don't have the problem when they use apt for Red Hat. You most certainly have dependency issues with source as well but not quite as bad but almost. Source packages usually want to link with certain libraries. If those libraries do not exist then the programs will not link. Source packages may not be quite as strict on versions when it comes to dependencies which isn't necessarily a good thing. You may get something to compile but it doesn't mean it will run, or run for very long without crashing.

So the dependency issue with RPMs isn't necessarily a bad thing. If you "properly" resolve the dependencies then your program should most likely run with no trouble. As I said, "apt" which was developed on Debian resolves dependency issues automatically. It is a very cool tool and I am so happy it was ported to Red Hat. It would be wise for all distros to use it. The whole key is to get dependable and sizable repositories together for each distro.

PostPosted: Thu Mar 06, 2003 6:36 am
by Ice9
Source packages may not be quite as strict on versions when it comes to dependencies which isn't necessarily a good thing


On a few occasions I attempted to build an rpm package from a tarball.
Could this be the reason why they never seemed to install or gave me tons of dependency errors?

I'll try to build some rpm's tonight, see what I can come up with, for some reason I don't like installing from source, don't know why exactly but I'm much more confident when I install rpm's.

PostPosted: Thu Mar 06, 2003 7:33 am
by Void Main
RPM (if built properly) has many advantages over source installs. One is they check that appropriate dependant packages are installed. Two is they are registered in a database so the package can easily be verified or removed at any time (dependency checks willing).

As far as building your own RPMs you need to be aware of what your package requires and put the appropriate information in the "Requires" and "BuildRequires" tags in your spec file. If you do not you may be contributing to dependency hell. :)

Here's a good article by the guy that does freshrpms.net:

http://freshrpms.net/docs/fight/

Near the bottom there is a tiny blurb about dependencies.