1.2 Implementation issues
The following issues need to be addressed in any reusable shared library
system, specifically libtool:
- The package installer should be able to control what sort of libraries
- It can be tricky to run dynamically linked programs whose libraries have
not yet been installed.
LD_LIBRARY_PATH must be set properly (if
it is supported), or programs fail to run.
- The system must operate consistently even on hosts that don't support
- The commands required to build shared libraries may differ wildly from
host to host. These need to be determined at configure time in
a consistent way.
- It is not always obvious with what prefix or suffix a shared library
should be installed. This makes it difficult for Makefile rules,
since they generally assume that file names are the same from host to
- The system needs a simple library version number abstraction, so that
shared libraries can be upgraded in place. The programmer should be
informed how to design the interfaces to the library to maximize binary
- The install Makefile target should warn the package installer to set
the proper environment variables (
LD_LIBRARY_PATH or equivalent),
or run ldconfig.