[SATLUG] Linux pkg dependency... what is it actually

Daniel J. Givens daniel at rugmonster.org
Sun Feb 18 23:05:39 CST 2007


Emon wrote:
> A friend of mine asked me why Linux distros have dependency issues but
> M$-Windows doesn't??

Dependencies are typically a reliance on a shared library. You see them
typically in the form of lib<somefile>.so. In Windows, you see them as .dlls.
Windows apps usually take advantage of either the standard libraries included
with Windows or they package their own in the installer.

In Linux, we typically rely on a single install of a shared library, so you only
have to update it in one place. Most of the time, when you are compiling your
Linux app from source, you can choose to compile the app statically, meaning all
of the required libraries are built into the binary, not requiring any external
libraries. The binary then would not have any library dependencies, but if there
were a problem with the version of the library you compiled against, you would
have to recompile your binary to get the fix. This is the advantage of shared
libraries.

Don't think that dependencies don't exist in Windows. It's just that most
software packagers include all of their dependencies with their installers. This
has its own set of disadvantages, but that is a completely different discussion.

Any good package manager will handle the dependencies for you and if you are
using a distro that lacks a package manager to handle those dependencies, then
your distro sucks, IMHO. Dependency hell is a problem that was solved years ago.
If you are installing something from source, then you might have to get some
development header packages, but to install a binary package, you shouldn't have
to track down .debs or .rpms to meet dependencies. The package managers we have
today make software installation easier than a Windows-based application install
any day of the week.


More information about the SATLUG mailing list