On Tue, Jul 29, 2025 at 07:04:27PM +0300, Eli Zaretskii wrote:
> > Date: Tue, 29 Jul 2025 14:53:19 +0200
> > From: Patrice Dumas <pertu...@free.fr>
> > 
> > Hello,
> > 
> > There is a new SWIG interface in Texinfo, in tta/swig, and some tests
> > for the Perl interface in tta/swig/perl.  In the CI
> > https://github.com/gnu-texinfo/ci-check/actions/runs/16592419646/job/46931708709
> > the tta/swig/perl tests fail for cygwin with the SWIG interface
> > extension not found:  
> > Can't load '../../swig/perl/.libs/Texinfo.dll' for module Texinfo: No such 
> > file or directory at 
> > /usr/lib/perl5/5.40/x86_64-cygwin-threads/DynaLoader.pm line 206.
> > or
> > Can't load '../../swig/perl/.libs/auto/Texinfo/Texinfo.dll' for module 
> > Texinfo: No such file or directory at 
> > /usr/lib/perl5/5.40/x86_64-cygwin-threads/DynaLoader.pm line 206.
> > 
> > The build log shows that the Texinfo.dll file seems to be created in
> > ../../swig/perl/.libs/Texinfo.dll without error.  (If the
> > .libs/Texinfo.dll was there, the .libs/auto/Texinfo/Texinfo.dll should
> > also be there as the code helping with finding the extensions should
> > create a symlink from .libs/auto/Texinfo to .libs).
> > 
> > I do not think that I can debug this issue further without access to a
> > Cygwin system.  Could somebody with access to cygwin please try to see
> > what's going on?  make check on a build of the texinfo git master should
> > trigger the issue.  Regarding the prerequisites, in the CI we install
> > (swig is needed too): gcc-core make perl perl-Data-Compare
> > perl-Test-Deep libncurses-devel libcrypt-devel libnsl-devel
> > libiconv-devel libintl-devel
> 
> It's very simple: you need to make sure the directory where the DLL
> lives is on PATH or in the same directory from where you invoke the
> program which needs the DLL.

Are you sure that what you describe is valid for Perl extensions?  We
often load objects (through Perl Dynaloader) that are in different
locations that seems to be loaded (through something like dlopen) as
long as the filename is available. 

Looking a Dynaloader code, it seems that the function actually used on
win32 (which I assume to be used for cygwin) is Win_GetModuleHandle,
which could actually be GetModuleHandle (since I can't find anything on
internet about Win_GetModuleHandle).

-- 
Pat

Reply via email to