View the Most Wanted LQ Wiki articles.
LinuxQuestions.org > Linux Wiki > Dependency

From LQWiki

Jump to: navigation, search

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:

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


Personal tools