All Topics
All Topics
Technology
Technology
Design
Design
Programming
Programming
Science
Science
News
News
Gaming
Gaming
Entertainment
Entertainment
Business
Business
Finance
Finance
Sports
Sports
Health
Health
Food
Food
Travel
Travel
Art
Art
Music
Music
Books
Books
Education
Education
Politics
Politics
Personal
Personal
No algorithm. No AI slop. No ads. Just RSS. Pro-human. Indie writers. Real journalism. Open web. Chronological. Hand toasted.

The Package Management Conflict: System vs Language Package Managers and the C Library Problem

By

tanganik

4mo ago· 11 min readenInsight

Summary

The article examines the fundamental conflict between system package managers (like apt, dnf) and language package managers (like npm, pip), highlighting how they evolved to solve different problems but create friction where their responsibilities overlap. The core issue centers on C libraries, which sit at the intersection: needed by language packages but provided by system packages, with neither system understanding the other's needs. The piece explores why developers end up managing packages from one package manager with another, analyzing the historical evolution and technical challenges of this persistent problem in software development.

Key quotes

· 4 pulled
System package managers and language package managers are both called package managers. They both resolve dependencies, download code, and install software. But they evolved to solve different problems, and the overlap is where all the friction lives.
If you drew a venn diagram, C libraries would sit right in the middle: needed by language packages, provided by system packages, understood by neither in a way the other can use.
As Kristoffer Grönlund put it in 2017: 'Why are we trying to manage packages from one package manager with a different package manager?'
System package managers and language package managers are solving different problems that happen to overlap in the middle.
Snippet from the RSS feed
System package managers and language package managers are solving different problems that happen to overlap in the middle.

You might also wanna read