aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXi Ruoyao <xry111@xry111.site>2023-05-27 19:05:06 +0800
committerXi Ruoyao <xry111@xry111.site>2023-05-27 19:05:06 +0800
commit55a29ccad28fe8bd4ab53d25ed7a96345aa2f94b (patch)
tree60c907f57ca469ae21bf9be87cd7bc6581d825e8
parent0aba9cbb0cf1377f893cd8040bc7dbd06051522e (diff)
pkgmgt: Mention the "dependency hell" issue
-rw-r--r--chapter08/pkgmgt.xml16
1 files changed, 16 insertions, 0 deletions
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.</para>
</listitem>
+ <listitem><para>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
+ <filename class='libraryfile'>libfoo.so.2</filename> and
+ <filename class='libraryfile'>libbar.so.1</filename>, while the latter
+ links to
+ <filename class='libraryfile'>libfoo.so.3</filename> 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.
+ </para></listitem>
+
<listitem> <para>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 <emphasis role="bold">file</emphasis> decreases (for example,