[lfs] branch trunk updated: pkgmgmt: Add the definition of "library name" as a footnote
| Newsgroups | gmane.linux.lfs.book |
|---|---|
| Message-ID | <174178446054.8219.9110259996535740403@rivendell.linuxfromscratch.org> |
This is an automated email from the git hooks/post-receive script.
git pushed a commit to branch trunk
in repository lfs.
The following commit(s) were added to refs/heads/trunk by this push:
new 42eaacedb pkgmgmt: Add the definition of "library name" as a footnote
42eaacedb is described below
commit 42eaacedbc6ab598b0e4b1a86650f630e64195a7
Author: Xi Ruoyao <[email protected]>
AuthorDate: Wed Mar 12 20:55:50 2025 +0800
pkgmgmt: Add the definition of "library name" as a footnote
---
chapter08/pkgmgt.xml | 21 ++++++++++++++++++---
1 file changed, 18 insertions(+), 3 deletions(-)
diff --git a/chapter08/pkgmgt.xml b/chapter08/pkgmgt.xml
index 7cda95755..3640b519d 100644
--- a/chapter08/pkgmgt.xml
+++ b/chapter08/pkgmgt.xml
@@ -69,10 +69,25 @@
</listitem>
<listitem> <para>If a package containing a shared library is updated, and
- if the name of the library changes, then any packages dynamically
+ if the name of the library<footnote><para>The name of a shared library is
+ the string coded in the <constant>DT_SONAME</constant> entry of its
+ ELF dynamic section. You can get it with the
+ <command>readelf -d <replaceable><library file></replaceable>
+ | grep SONAME</command> command. In most cases it's suffixed with
+ <literal>.so.<replaceable><a version
+ number></replaceable></literal>, but there are some cases where
+ it contains multiple numbers for versioning (like
+ <filename>libbz2.so.1.0</filename>), contains the version number
+ before the <filename class='extension'>.so</filename> suffix (like
+ <filename>libbfd-&binutils-version;</filename>), or does not contain
+ any version number at all (for example
+ <filename>libmemusage.so</filename>).
+ Generally there is no correlation between the package version and the
+ version number(s) in the library name.</para></footnote>
+ changes, then any packages dynamically
linked to the library must be recompiled, to link against the
- newer library. (Note that there is no correlation between the package
- version and the name of the library.) For example, consider a package
+ newer library.
+ For example, consider a package
foo-1.2.3 that installs a shared library with the name <filename
class='libraryfile'>libfoo.so.1</filename>. Suppose you upgrade the package to
a newer version foo-1.2.4 that installs a shared library with the name
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
--
http://lists.linuxfromscratch.org/sympa/info/lfs-book
Unsubscribe: See the above information page