Dependency hell, the Glossary
Dependency hell is a colloquial term for the frustration of some software users who have installed software packages which have dependencies on specific versions of other software packages.[1]
Table of Contents
64 relations: Apache Maven, Application directory, APT (software), C standard library, Catch-22 (logic), CentOS, Circular dependency, Classic Mac OS, Code refactoring, Colloquialism, Computer network, Computing platform, Configuration management, Containerization (computing), Coupling (computer programming), Dead-code elimination, Debian, Directory (computing), DLL Hell, Docker (software), Dpkg, Extension conflict, File Transfer Protocol, FreeBSD, Gedit, Gentoo Linux, GIMP, Glibc, Global Assembly Cache, GTK, HexChat, Java (software platform), Java virtual machine, Library (computing), Linux, Maintenance release, Microsoft Windows, Nix (package manager), Npm left-pad incident, Package manager, Portable application, Portage (software), Red Hat, Red Hat Enterprise Linux, Requirement, RISC OS, ROX Desktop, RPM Package Manager, Software appliance, Software repository, ... Expand index (14 more) »
- Package management systems
- Software engineering folklore
- Version control systems
Apache Maven
Maven is a build automation tool used primarily for Java projects.
See Dependency hell and Apache Maven
Application directory
An application directory is a grouping of software code, help files and resources that together comprise a complete software package but are presented to the user as a single object.
See Dependency hell and Application directory
APT (software)
Advanced package tool, or APT, is a free-software user interface that works with core libraries to handle the installation and removal of software on Debian and Debian-based Linux distributions.
See Dependency hell and APT (software)
C standard library
The C standard library or libc is the standard library for the C programming language, as specified in the ISO C standard.
See Dependency hell and C standard library
Catch-22 (logic)
A catch-22 is a paradoxical situation from which an individual cannot escape because of contradictory rules or limitations.
See Dependency hell and Catch-22 (logic)
CentOS
CentOS (from Community Enterprise Operating System; also known as CentOS Linux) is a discontinued Linux distribution that provided a free and open-source community-supported computing platform, functionally compatible with its upstream source, Red Hat Enterprise Linux (RHEL).
See Dependency hell and CentOS
Circular dependency
In software engineering, a circular dependency is a relation between two or more modules which either directly or indirectly depend on each other to function properly.
See Dependency hell and Circular dependency
Classic Mac OS
Mac OS (originally System Software; retronym: Classic Mac OS) is the series of operating systems developed for the Macintosh family of personal computers by Apple Computer, Inc. from 1984 to 2001, starting with System 1 and ending with Mac OS 9.
See Dependency hell and Classic Mac OS
Code refactoring
In computer programming and software design, code refactoring is the process of restructuring existing source code—changing the factoring—without changing its external behavior.
See Dependency hell and Code refactoring
Colloquialism
Colloquialism (also called colloquial language, everyday language, or general parlance) is the linguistic style used for casual (informal) communication.
See Dependency hell and Colloquialism
Computer network
A computer network is a set of computers sharing resources located on or provided by network nodes.
See Dependency hell and Computer network
Computing platform
A computing platform, digital platform, or software platform is the infrastructure on which software is executed.
See Dependency hell and Computing platform
Configuration management
Configuration management (CM) is a management process for establishing and maintaining consistency of a product's performance, functional, and physical attributes with its requirements, design, and operational information throughout its life. Dependency hell and Configuration management are version control systems.
See Dependency hell and Configuration management
Containerization (computing)
In software engineering, containerization is operating system-level virtualization or application-level virtualization over multiple network resources so that software applications can run in isolated user spaces called containers in any cloud or non-cloud environment, regardless of type or vendor.
See Dependency hell and Containerization (computing)
Coupling (computer programming)
In software engineering, coupling is the degree of interdependence between software modules; a measure of how closely connected two routines or modules are; the strength of the relationships between modules.
See Dependency hell and Coupling (computer programming)
Dead-code elimination
In compiler theory, dead-code elimination (DCE, dead-code removal, dead-code stripping, or dead-code strip) is a compiler optimization to remove dead code (code that does not affect the program results).
See Dependency hell and Dead-code elimination
Debian
Debian, also known as Debian GNU/Linux, is a Linux distribution composed of free and open-source software and optionally non-free firmware or software developed by the community-supported Debian Project, which was established by Ian Murdock on August 16, 1993.
See Dependency hell and Debian
Directory (computing)
In computing, a directory is a file system cataloging structure which contains references to other computer files, and possibly other directories.
See Dependency hell and Directory (computing)
DLL Hell
In computing, DLL Hell is a term for the complications that arise when one works with dynamic-link libraries (DLLs) used with Microsoft Windows operating systems, particularly legacy 16-bit editions, which all run in a single memory space.
See Dependency hell and DLL Hell
Docker (software)
Docker is a set of platform as a service (PaaS) products that use OS-level virtualization to deliver software in packages called containers.
See Dependency hell and Docker (software)
Dpkg
dpkg is the software at the base of the package management system in the free operating system Debian and its numerous derivatives.
Extension conflict
Extension conflicts were sometimes a common nuisance on Apple Macintosh computers running the classic Mac OS, especially System 7.
See Dependency hell and Extension conflict
File Transfer Protocol
The File Transfer Protocol (FTP) is a standard communication protocol used for the transfer of computer files from a server to a client on a computer network.
See Dependency hell and File Transfer Protocol
FreeBSD
FreeBSD is a free and open-source Unix-like operating system descended from the Berkeley Software Distribution (BSD).
See Dependency hell and FreeBSD
Gedit
gedit is a text editor designed for the GNOME desktop environment.
Gentoo Linux
Gentoo Linux (pronounced) is a Linux distribution built using the Portage package management system.
See Dependency hell and Gentoo Linux
GIMP
GNU Image Manipulation Program, commonly known by its acronym GIMP, is a free and open-source raster graphics editor used for image manipulation (retouching) and image editing, free-form drawing, transcoding between different image file formats, and more specialized tasks.
Glibc
The GNU C Library, commonly known as glibc, is the GNU Project implementation of the C standard library.
Global Assembly Cache
The Global Assembly Cache (GAC) is a machine-wide CLI assembly cache for the Common Language Infrastructure (CLI) in Microsoft's.NET Framework.
See Dependency hell and Global Assembly Cache
GTK
GTK (formerly GIMP ToolKit and GTK+) is a free software cross-platform widget toolkit for creating graphical user interfaces (GUIs).
HexChat
HexChat is a discontinued Internet Relay Chat client and is a fork of XChat.
See Dependency hell and HexChat
Java (software platform)
Java is a set of computer software and specifications that provides a software platform for developing application software and deploying it in a cross-platform computing environment.
See Dependency hell and Java (software platform)
Java virtual machine
A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode.
See Dependency hell and Java virtual machine
Library (computing)
In computer science, a library is a collection of read-only resources that is leveraged during software development to implement a computer program.
See Dependency hell and Library (computing)
Linux
Linux is both an open-source Unix-like kernel and a generic name for a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds.
Maintenance release
A maintenance release (also minor release or Maintenance Pack or MP) is a release of a product that does not add new features or content.
See Dependency hell and Maintenance release
Microsoft Windows
Microsoft Windows is a product line of proprietary graphical operating systems developed and marketed by Microsoft.
See Dependency hell and Microsoft Windows
Nix (package manager)
Nix is a cross-platform package manager for Unix-like systems, invented in 2003 by Eelco Dolstra.
See Dependency hell and Nix (package manager)
Npm left-pad incident
On March 22, 2016, software engineer Azer Koçulu took down the left-pad package that he had published to npm (a JavaScript package manager).
See Dependency hell and Npm left-pad incident
Package manager
A package manager or package-management system is a collection of software tools that automates the process of installing, upgrading, configuring, and removing computer programs for a computer in a consistent manner. Dependency hell and package manager are package management systems.
See Dependency hell and Package manager
Portable application
A portable application (portable app), sometimes also called standalone software, is a computer program designed to operate without changing other files or requiring other software to be installed.
See Dependency hell and Portable application
Portage (software)
Portage is a package management system originally created for and used by Gentoo Linux and also by ChromeOS, Calculate, Sabayon, and Funtoo Linux among others.
See Dependency hell and Portage (software)
Red Hat
Red Hat, Inc. (formerly Red Hat Software, Inc.) is an American software company that provides open source software products to enterprises and is a subsidiary of IBM.
See Dependency hell and Red Hat
Red Hat Enterprise Linux
Red Hat Enterprise Linux (RHEL) is a commercial open-source Linux distribution developed by Red Hat for the commercial market.
See Dependency hell and Red Hat Enterprise Linux
Requirement
In engineering, a requirement is a condition that must be satisfied for the output of a work effort to be acceptable.
See Dependency hell and Requirement
RISC OS
RISC OS is a computer operating system originally designed by Acorn Computers Ltd in Cambridge, England.
See Dependency hell and RISC OS
ROX Desktop
The ROX Desktop is a discontinued graphical desktop environment for the X Window System.
See Dependency hell and ROX Desktop
RPM Package Manager
RPM Package Manager (RPM) (originally Red Hat Package Manager, now a recursive acronym) is a free and open-source package management system.
See Dependency hell and RPM Package Manager
Software appliance
A software appliance is a software application combined with just enough operating system (JeOS) to run optimally on industry-standard hardware (typically a server) or in a virtual machine.
See Dependency hell and Software appliance
Software repository
A software repository, or repo for short, is a storage location for software packages.
See Dependency hell and Software repository
Software versioning
Software versioning is the process of assigning either unique version names or unique version numbers to unique states of computer software.
See Dependency hell and Software versioning
Static library
In computer science, a static library or statically linked library is a set of routines, external functions and variables which are resolved in a caller at compile-time and copied into a target application by a compiler, linker, or binder, producing an object file and a stand-alone executable.
See Dependency hell and Static library
Supply chain attack
A supply chain attack is a cyber-attack that seeks to damage an organization by targeting less secure elements in the supply chain.
See Dependency hell and Supply chain attack
Tree structure
A tree structure, tree diagram, or tree model is a way of representing the hierarchical nature of a structure in a graphical form.
See Dependency hell and Tree structure
TrueOS
TrueOS (formerly PC-BSD or PCBSD) is a discontinued Unix-like, server-oriented operating system built upon the most recent releases of FreeBSD-CURRENT.
See Dependency hell and TrueOS
Ubuntu
Ubuntu is a Linux distribution derived from Debian and composed mostly of free and open-source software.
See Dependency hell and Ubuntu
Urpmi
urpmi is a package management tool for installing, removing, updating and querying software packages of local or remote (networked) media.
Version control
Version control (also known as revision control, source control, and source code management) is the software engineering practice of controlling computer files and versions of files; primarily source code text files, but generally any type of file. Dependency hell and version control are version control systems.
See Dependency hell and Version control
Vicious circle
A vicious circle (or cycle) is a complex chain of events that reinforces itself through a feedback loop, with detrimental results.
See Dependency hell and Vicious circle
Whac-A-Mole
Whac-A-Mole is an arcade game.
See Dependency hell and Whac-A-Mole
Windows 2000
Windows 2000 is a major release of the Windows NT operating system developed by Microsoft and oriented towards businesses.
See Dependency hell and Windows 2000
Windows File Protection
Windows File Protection (WFP), a sub-system included in Microsoft Windows operating systems of the Windows 2000 and Windows XP era, aims to prevent programs from replacing critical Windows system files.
See Dependency hell and Windows File Protection
Yum (software)
The Yellowdog Updater Modified (YUM) is a free and open-source command-line package-management utility for computers running the Linux operating system using the RPM Package Manager.
See Dependency hell and Yum (software)
ZYpp
ZYpp (or libzypp; "Zen / YaST Packages Patches Patterns Products") is a package manager engine that powers Linux applications like YaST, Zypper and the implementation of PackageKit for openSUSE and SUSE Linux Enterprise.
See also
Package management systems
- Anaconda (Python distribution)
- Application Packaging Standard
- CPAN
- Chocolatey
- Deno (software)
- Dependency hell
- Helm (package manager)
- Installation (computer programs)
- List of software package management systems
- Mozilla Archive Format
- Package format
- Package manager
- ProGet
- SMP/E
- Uninstaller
- XPInstall
Software engineering folklore
- Benevolent dictator for life
- Boilerplate code
- Cargo cult programming
- Code bloat
- Code smell
- Cowboy coding
- Dependency hell
- Design smell
- Deutsch limit
- Don't repeat yourself
- Experimental software engineering
- Fundamental theorem of software engineering
- Greenspun's tenth rule
- Heisenbug
- Interface bloat
- Jargon File
- Law of conservation of complexity
- Leaning toothpick syndrome
- Magic (programming)
- Magic number (programming)
- Ousterhout's dichotomy
- Programming in the large and programming in the small
- Reinventing the wheel
- Rule of least power
- Rule of three (C++ programming)
- Software rot
- Spaghetti code
- Turing tarpit
- Write once, compile anywhere
- Write once, run anywhere
- Zero one infinity rule
Version control systems
- Atomic commit
- Autodesk Vault
- Baseline (configuration management)
- Bisection (software engineering)
- BitKeeper
- BookStack
- CADES
- CVSNT
- Changeset
- Code Co-op
- Commit (version control)
- Comparison of version-control software
- Concurrent Versions System
- Configuration management
- Data version control
- Dependency hell
- FishEye (software)
- Fossil (software)
- GNU Bazaar
- Git
- Git (software)
- History of software configuration management
- Interleaved deltas
- List of version-control software
- MediaWiki
- Mercurial
- PTC Integrity
- PVCS
- Rational Synergy
- Razor (configuration management)
- Revision tag
- Source Code Control System
- Version Control by Example
- Version control
- Wikis
References
[1] https://en.wikipedia.org/wiki/Dependency_hell
Also known as Dependancy Hell, Dependency tree explosion, RPM hell.
, Software versioning, Static library, Supply chain attack, Tree structure, TrueOS, Ubuntu, Urpmi, Version control, Vicious circle, Whac-A-Mole, Windows 2000, Windows File Protection, Yum (software), ZYpp.