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.

        • ... Eli Zaretskii
        • ... pertusus
        • ... Gavin Smith
        • ... Gavin Smith
        • ... Eli Zaretskii
        • ... Gavin Smith
        • ... Eli Zaretskii
        • ... pertusus
        • ... Bruno Haible via Bug reports for the GNU Texinfo documentation system
        • ... Eli Zaretskii
        • ... Gavin Smith
        • ... Eli Zaretskii
        • ... Eli Zaretskii
        • ... Gavin Smith
        • ... pertusus
        • ... pertusus
        • ... Gavin Smith
      • ... Eli Zaretskii
  • Re: ... Gavin Smith
    • ... pertusus
    • ... Eli Zaretskii

Reply via email to