This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revision | |||
| information-technology:linux [2026/01/07 00:31] – [Dependency Hell] marcos | information-technology:linux [2026/01/07 00:33] (current) – [Dependency Hell] marcos | ||
|---|---|---|---|
| Line 140: | Line 140: | ||
| "In an ideal world, libraries would be fully backward compatible, so that a program that depends on one version of a library, would work with any newer version of that library. Linux wants to be ideal, and take up less hard drive space and resources (like RAM), and therefore use only one version of each library. So sometimes you want to install two programs that both use the same library, but different versions, and this makes for dependency hell. The portable theology, says “lets bundle the library into the program itself, so that it doesn' | "In an ideal world, libraries would be fully backward compatible, so that a program that depends on one version of a library, would work with any newer version of that library. Linux wants to be ideal, and take up less hard drive space and resources (like RAM), and therefore use only one version of each library. So sometimes you want to install two programs that both use the same library, but different versions, and this makes for dependency hell. The portable theology, says “lets bundle the library into the program itself, so that it doesn' | ||
| - | Since the amount of RAM available in current hardware is usually more than sufficient, one solution would be that each program load its own library versions. | + | Since the amount of RAM available in current hardware is usually more than sufficient, one solution would be that each program load its own library versions. Or better yet, the software dev can take from the library only the parts within that are used. |
| Needing additional libraries means that the developer didn't take the time to extract the parts used within a library and add those to the main program, reducing the overall footprint. | Needing additional libraries means that the developer didn't take the time to extract the parts used within a library and add those to the main program, reducing the overall footprint. | ||