Difference between revisions of "Dependencies"

From Linuxintro
imported>ThorstenStaerk
imported>ThorstenStaerk
Line 33: Line 33:
  
 
= See also =
 
= See also =
* [[how to resolve build errors]]
 
 
* [[error messages]]
 
* [[error messages]]
 
* [[packages]]
 
* [[packages]]

Revision as of 13:14, 11 December 2011

Software dependencies is if a software needs another software in order to be run, installed or built. To reduce complexity of software that you need to installed, software is grouped into packages like firefox, skype, thunderbird and the like. Dependencies will typically hit you in the following cases:

  • when running a program, a file/package is missing
  • when installing a program, a file/package is missing
  • when compiling a program, file/package is missing

Examples

When running a program, a file is missing

Error message, in this case by umtsmon:

./umtsmon: error while loading shared libraries: libqt-mt.so.3: cannot open shared object file: No such file or directory

Solution, in this case for SUSE 11.3:

yast -i qt3-32bit

When installing a program, files are missing

Here we try to install the rpm package audacity, but we are missing some software it depends on:

# rpm -ivh /mnt/loop/suse/x86_64/audacity-1.3.12-3.6.x86_64.rpm 
error: Failed dependencies:
        libSoundTouch.so.0()(64bit) is needed by audacity-1.3.12-3.6.x86_64
        libid3tag.so.0()(64bit) is needed by audacity-1.3.12-3.6.x86_64
        libvamp-hostsdk.so.3()(64bit) is needed by audacity-1.3.12-3.6.x86_64

The solution here should be that you install the package using your distribution's package manager, in this case

yast -i audacity

However this is not always possible.

When building a program, a package is missing

Error message (in this case from xawtv):

Oops:   jpeg library not found.  You need this one, please install.

Solution (in this case for SUSE 11.3):

yast -i libjpeg-devel

Packages

To reduce complexity, programs and libraries are bundled into packages. Packages can contain all source code files that you need to build or already compiled files, also known as binary packages. There are two major package managers: rpm and deb. Typically, Red Hat and SUSE use rpm, Ubuntu and Debian use deb.

See also