On Sun, Jan 18, 2026 at 08:15:58AM +0200, Eli Zaretskii wrote: > Oh. Then it means the installation is not "relocatable", i.e. the > absolute file names written in the *.la files must be the places where > the libraries are installed. Or is there some environment variable > that can be set to override that? To be "relocatable", file names > should be relative to some common root, so that the entire > installation tree could be moved to a different location, and the > programs will still work. This is especially important on Windows, > where many people don't build packages for their systems, but instead > download prebuilt binaries and install them according to their local > arrangements of the directory tree. Previous Texinfo releases didn't > impose such restrictions, AFAIR. Of course, in practice this didn't > really matter, because the binary distributions of Texinfo I upload to > my ezwinports site don't include the DLL files, since those are > specific to my version of Perl. And the Perl files in $prefix/lib and > in $prefix/share/texinfo are not loaded using absolute file names, are > they?
The Perl modules are searched for first using absolute file names, or, more precisely, what configure provided as datadir and libdir. If the Texinfo/Parser.pm file is not found there in the expected subdirectory, then relative paths from command_directory/../ are tried, where command_directory is the directory the texi2any command executed is in. So, I think that the installation is "relocatable". Regarding the .la files, they are found in the @INC, in front of which the directory where the .la files (and the Perl modules) can be found has been put. As Gavin said, we add a directory where the .la is as a directory to search for dlopened object by DynaLoader and give the .la dlname as dlopened object name, the DLL should also be found correctly, either below configure $libdir or below command_directory/../lib/. > > > So Texinfo::XSLoader accesses the *.la files? > > > > Yes. > > Maybe this should be documented on some README or in the > Texinfo/texi2any manual, including the logic used by Texinfo::XSLoader > to find the libraries? I couldn't find it in the manuals, maybe I > missed something. This information might be valuable for people who > distribute the binaries and for people who install them. Gavin, any comment about that? -- Pat
