What are dependencies?

Solution 1:

Sometimes when you install programs, they rely on other programs to work. These other programs are called dependencies.

For example, if I write a messenging application, and I want my messages to be encrypted, instead of creating a way to encrypt the messages myself, I'll use a package that someone else has written, which will do the encryption for me. Now when you want to install my program, you need my program, but you also need the package I used to encrypt the messages. My program depends on the other program.

When Ubuntu installs new programs, it installs them from a big warehouse of programs called a repository or a repo. It's quite clever too, if it notices that a program depends on another program, it will install both at the same time so you don't have to worry about it.

However, problems come up when a program depends on another program, but Ubuntu can't find it in the repositories.

This happens more often when there is a new version of Ubuntu, becase a new version of Ubuntu means a whole new repository, and sometimes not all programs are updated for the new version of Ubuntu and therefore aren't in the repository. Over time, as programs get updated and added to the new repository, this problem should happen less and less.

I hope that helps.

Solution 2:

https://help.ubuntu.com/community/InstallingSoftware#Package_Dependencies

A dependency is a file that something you are trying to install requires.

You can see what dependencies something requires at packages.ubuntu.com

For instance http://packages.ubuntu.com/saucy/firefox

You can see that firefox has dependencies, recommends and suggests.

https://superuser.com/questions/70031/what-is-the-difference-between-recommended-and-suggested-packages-ubuntu

Put simply you need dependencies, you can get away without recommends and suggests.

I use an xfce system - I used to install nautilus - to install that I did so without installing the recommends.

Solution 3:

Dependency is a broad software engineering term used to refer when a piece of software relies on another one.

Coupling (computer programming)

In software engineering, coupling or dependency is the degree to which each program module relies on each one of the other modules.

Program X uses Library Y.

X depends on Y. Y is X's dependency.


But being specific to your scenario, this dependency talk outputted by the OS to you refers to software packages (what you referred as things).

A software package may depend on another software package. The package manager resolves all this for you.

By dependencies are missing the package manager is saying to you that it is attempting to install a software package (probably a program in your case) that depends on another package that he couldn't find.

Dependency solving can be a little complex sometimes, but normally the package manager is able to retrieve everything he needs from repositories.