Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

In the traditional release model, all packages in a release are compiled with the same version of the compiler against the same versions of libraries, and the release team carefully pick software versions that play nicely together, to avoid conflicts.

In a rolling-release source distro like Gentoo, you build each package yourself against the library versions installed in your system, and in case two packages depend on different versions of the same library, you can install these different versions into different slots. So you have a reasonable mechanism in place to avoid conflicts.

Recently I have discovered ArchLinux, another distro with a rolling release model, and it's based on binary packages. It also doesn't seem to support slots.

Now I'm puzzled. With ArchLinux, what happens if I try to install a package that depends on a different version of a library than that I have installed? Am I forced to upgrade the library? But then what happens if two packages depend on different versions of a library?

I have looked at various ArchLinux Wiki pages on pacman, but haven't found any behind-the-scenes explanation.

share|improve this question
up vote 3 down vote accepted

Dependencies with an explicit version are rare in Arch; most packages simply expect the latest version of a dependency to be installed. (The user is not supposed to perform selective upgrades, but to keep all installed packages at their latest version.)

In rare cases where two versions with different ABIs are required, the older versions can be provided as differently named packages – for example, libpng (latest), libpng14 (1.4), libpng12 (1.2).

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .