branch: master
commit fee0464231f36576836bd892fb9dc1d785012c05
Author: Ileana Dumitrescu <[email protected]>
AuthorDate: Fri May 16 19:08:18 2025 +0300
libtool: Update documentation
For many GNU/Linux systems, the shared library cache is not updated
after a "make install". Some reasoning is outlined in the
documentation now for users with instruction for how to update
the shared library cache if desired.
Reported: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=78321
* build-aux/ltmain.in: Add informational note during build.
* doc/notes.texi: Update.
---
build-aux/ltmain.in | 8 ++++++++
doc/notes.texi | 24 ++++++++++++++++++++++++
2 files changed, 32 insertions(+)
diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
index aaf48f14..a948158e 100644
--- a/build-aux/ltmain.in
+++ b/build-aux/ltmain.in
@@ -2322,6 +2322,14 @@ func_mode_finish ()
fi
echo
+ echo "After a 'make install' for many GNU/Linux systems, 'ldconfig
LIBDIR'"
+ echo "may need to be executed to help locate newly installed libraries,"
+ echo "but you should consult with a system administrator before updating"
+ echo "the shared library cache as this should be done with great care"
+ echo "and consideration. (See the 'Platform-specific configuration
notes'"
+ echo "section of the documentation for more information.)"
+ echo
+
echo "See any operating system documentation about shared libraries for"
case $host in
solaris2.[6789]|solaris2.1[0-9])
diff --git a/doc/notes.texi b/doc/notes.texi
index 7b6ade8d..712f09ee 100644
--- a/doc/notes.texi
+++ b/doc/notes.texi
@@ -82,4 +82,28 @@ default. If this occurs for the dynamic library path, you
may use the
@command{autoconf} cache variables @code{lt_cv_sys_lib_search_path_spec} and
@code{lt_cv_sys_lib_dlsearch_path_spec} respectively.
+@item
+For many GNU/Linux systems, the shared library cache is not updated after a
+@command{make install}. Instead, the user will need to manually execute
+@command{ldconfig 'LIBDIR'} to locate newly installed libraries. Users
+should consult a system administrator as this should be done with great
+care. Here are some considerations:
+
+@itemize
+@item
+Libtool is designed to be portable to many different operating systems, and
+these OSs behave in various ways. Some OSs will find a new library
+automatically if it is installed in the existing configured library paths.
+
+@item
+The library installed might not ever be intended to be used by the currently
+executing OS because it is part of new distribution builds.
+
+@item
+Sometimes libraries are installed privately, using hard-coded run-paths in
+their dependent binaries. This is very common when a different version of
+the software is to be run than the OS is designed to support.
+
+@end itemize
+
@end itemize