From 55a29ccad28fe8bd4ab53d25ed7a96345aa2f94b Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sat, 27 May 2023 19:05:06 +0800 Subject: pkgmgt: Mention the "dependency hell" issue --- chapter08/pkgmgt.xml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'chapter08/pkgmgt.xml') diff --git a/chapter08/pkgmgt.xml b/chapter08/pkgmgt.xml index 8bf8dfdaa..a5c64f3f6 100644 --- a/chapter08/pkgmgt.xml +++ b/chapter08/pkgmgt.xml @@ -85,6 +85,22 @@ libraries until all the dependent packages have been recompiled. + If a package is (directly or indirectly) linked to + both the old and new names of one shared library (for example, the + package links to both + libfoo.so.2 and + libbar.so.1, while the latter + links to + libfoo.so.3 in turn), the + package may malfunction because the different names of the shared + library provide incompatible functions with same symbol names. This + can be caused by recompiling some (but not all) packages linked to the + old shared library name after the package providing the shared library + is upgraded. To avoid the issue, it's recommended to recompile every + package linked to a shared library of which the name has been changed + during an upgrade as soon as possible, in their dependency order. + + If a package containing a shared library is updated, and the name of the library doesn't change, but the version number of the library file decreases (for example, -- cgit v1.2.3-54-g00ecf