On Sat, Jan 17, 2026 at 09:08:55PM +0000, Gavin Smith wrote:
> On Sat, Jan 17, 2026 at 09:43:44PM +0100, [email protected] wrote:
> > > > > Which brings me to the installation.  I've just run "make install",
> > > > > and I see that various libtexinfo*.dll DLLs are installed in
> > > > > $prefix/lib/bin.
> > > > 
> > > > That is somewhat unexpected.  In tta/C/Makefile.am, there is
> > > > 
> > > > converterlibdir = $(libdir)/$(CONVERTER)
> > > > xsdir = $(converterlibdir)
> > > > 
> > > > and the libraries are in xs_LTLIBRARIES, and therefore should be
> > > > installed in $(libdir)/texi2any, since CONVERTER=texi2any.
> > > > 
> > > > xs_LTLIBRARIES += libtexinfo.la
> > > 
> > > I think the reason is libtool.  It "knows" that shared libraries on
> > > Windows need to be installed in the 'bin' subdirectory, not in the
> > > 'lib' subdirectory as on Posix systems.
> > > 
> > > 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?  Were the libraries installed in the wrong place
> with Texinfo 7.2?
> 

I've read in an email on the libtool mailing list archives that
the path $libdir/../bin is used:

Mike Gran wrote:
> Because when a MinGW DLL is installed by libtool, the libfoo.lib.a
> goes into $libdir and the libfoo.dll goes into $libdir/../bin, which
> happens to be $bindir
https://lists.gnu.org/archive/html/libtool/2022-11/msg00000.html

So e.g.  /usr/lib/texi2any becomes /usr/lib/texi2any/../bin = /usr/lib/bin.

If this is right, then one workaround is to use an extra layer of directories.

If xsdir is instead /usr/lib/texi2any/lib, then this would lead to the
directory /usr/lib/texi2any/bin being used instead, which is not so bad.


Reply via email to