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.


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).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.