| |||||||||
Dependency hell occurs in package-based operating systems - particularly Linux - and is a colloquial term for the circle of frustration encountered by users when installing software packages which have dependencies on specific versions of other packages. This version information is often part of the package management system, which can refuse to install software without the precise versions of its prerequisite packages installed.
Because different pieces of software have different dependencies - the most common being different compiler versions - this often leads to a conflict between the software that is required and the software that is installed. It is possible to get into a vicious circle of dependency requirements, or - possibly worse - an ever-expanding tree of requirements as each new package demands several more be installed.