Re: Texinfo 7.2.90 build with mingw.org's MinGW: testing and installation

Gavin Smith <[email protected]>
Newsgroups gmane.comp.tex.texinfo.bugs
Message-ID <aWy4OKsGrsCfL35K@orangestar>
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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.