From LQWiki
Problem
A dependency is when one program depends on another program to perform its normal operation. Example: a program such as KDE could rely on GLIBC-2.3.3 to function normally, because it uses some functions from the GLIBC library. On Unix, as a contrast to other operating systems, it is quite normal that installing software or even running software A requires software B to be installed.
Example
In the following example, the user tries to compile vlc without having ffmpeg installed. The configure script fails:
scorpio:~/vlc-0.8.5 # ./configure && make && make install [...] checking ffmpeg/avcodec.h presence... no checking for ffmpeg/avcodec.h... no configure: error: Missing header file ffmpeg/avcodec.h.
In the above example, you should install the missing package as described in installing software. If your distribution also provides development packages, install them as well.
Solution
Logically, dependencies can pose a problem. What if you downloaded KDE, which requires GLIBC, which requires GCC, which requires... etc? This has been solved by automatic dependency resolution. Most modern distributions allow the use of a dependency resolution system to eliminate this particular problem. Some of the more popular:
- Mandrake: urpmi/RPMDrake
- Fedora: yum/up2date
- Red Hat: yum/up2date
- SUSE: yast2
- Gentoo: portage
- Debian: apt-get
- Slackware: swaret/slapt-get (these are not official and use of them is often not reccomended)
However, automatic dependency resolution is not 100% of a solution. If you know you are missing avcodec.h, you still do not know which packAge it is in. Here are some files that can be missing and their packages:
| file | Debian package name |
|---|---|
|
cpufreq.h |
libcpufreq-dev |

This page is available under a