> From: Gavin Smith <[email protected]> > Date: Sun, 5 Nov 2023 18:12:45 +0000 > Cc: [email protected], [email protected] > > So you know what a dynamically loaded library is; this contains a collection > of functions and potentially data structures that can be loaded by running > code and run as part of a computer program. > > Usually, when such a library is installed on a system, this is for use > generally by any program. For example, if there is a library file > libz.so.1, this could be linked by passing the -lz flag to the C compiler > when building the program. The program would be able to call functions > in the library and so on. > > The program using this library would likely be written by a different > person, and as part of a different project, to the persons and projects > responsible for the creation of the library. There is an assumption that > the library has a stable interface, and the library and programs using > the library are worked on completely independently. > > The dynamically loaded libraries used by texi2any (XS modules) are > completely different. Technically, they are loaded in the same way, > by the running Perl interpreter. But they are an integral part of the > texi2any program. They are intended for the use of the texi2any program > only, not any other.
The XS modules are installed in a directory which is usually not looked into by the dynamic linker. Is that what you are talking about? If so, we have been using "non-public libraries" since long ago, no? Or what am I missing? > The file was being installed under /usr/local/lib/libtexinfo.so.1, as > if to imply that a user could link it against their programs with -ltexinfo, > or load it with dlopen, which would be completely inappropriate. I don't have any libtexinfo shared library here, and I don't see one being built, let alone installed, as part of Texinfo. is this something new in the development sources? If so, what code is linked into libtexinfo?
