On Sun, Jan 18, 2026 at 08:26:41AM +0200, Eli Zaretskii wrote: > > > > So I guess this calls for some Makefile wizardry, to make sure > > > > libtexinfo*.dll libraries end up in lib/texi2any/ instead. > > > > > > Ok. I guess we have to bypass libtool on that. > > > > Is this a new problem? > > Yes. > > > Were the libraries installed in the wrong place with Texinfo 7.2? > > No, they were installed together with the XS DLLs. But Texinfo 7.2 > didn't use libtool for that, did it?
It did. We've always used libtool for the XS modules. I don't know what would have changed. We moved from libtool 2.5.3 to libtool 2.5.4 but the use of "../bin" for library locations is much older than that. You haven't reported whether texi2any can find these installed libraries in "d:/usr/lib/bin". You could check this by setting the TEXINFO_XS environment variable to "debug" when running installed Texinfo. > I have $prefix/lib/texi2any/libtexinfo.la file which says: > > # Directory that this library needs to be installed in: > libdir='d:/usr/lib/texi2any' > > (my $prefix is "d:/usr"). This is okay for finding the *.dll.a import > libraries, as this entry says: > > # Names of this library. > library_names='libtexinfo.dll.a' > > but XSLoader needs to use the entry below, in addition to libdir, to > load the DLL itself: > > # The name that we can dlopen(3). > dlname='../bin/libtexinfo-1.dll' libdir is as expected. texi2any does look for the dlname line in the .la file which should be installed under libdir. (See 'load_libtool_library' in tta/perl/Texinfo/XSLoader.pm.) It's possible that it doesn't deal well with the leading directory components in the dlname (it passes the value to DynaLoader::dl_findfile, which is documented as receiving a "generic" name for the library). > > Eli: can you check the contents of some of the .la files before they > > are installed, to confirm which location the libdir= lines refer to? > > There are two: one in tta/C/, the other in tta/C/.libs. They are > identical, and also identical to the installed file, with one > difference: the dlname entry says > > # The name that we can dlopen(3). > dlname='libtexinfo-1.dll' Yes, that is as expected.
