> Date: Sun, 17 Nov 2024 22:14:37 +0100
> From: Patrice Dumas <pertu...@free.fr>
> 
> On Sun, Nov 17, 2024 at 09:37:23PM +0100, Patrice Dumas wrote:
> > I have added a report for all the platforms tested in the CI.  It
> > appears that cygwin, both 32 and 64 bits and OpenBSD unexpectedly cannot
> > load Parsetexi.so/dll (in addition to macos 12 and macos 13).  MiscXS is
> > loaded in all the platform, so it is not a basic issue with XS, but
> > something else.
> 
> I couldn't find what was going on.  The directories may not be the right
> ones, but otherwise I can't see what's wrong.  For openbsd, for example,
> the link commands looks good:
> 
> libtool: link: cc -shared  -fPIC -DPIC -o .libs/Parsetexi.so  
> parsetexi/.libs/Parsetexi_la-Parsetexi.o   
> -L/home/runner/work/ci-check/ci-check/texinfo-7.1.91.20241117/build/tp/Texinfo/XS/.libs
>  -L/usr/local/lib -L./.libs -ltexinfoxs -ltexinfo  -fstack-protector-strong 
> -O2 -Wl,-R/usr/libdata/perl5/amd64-openbsd/CORE
> 
> But the library is not found by texi2any:
> ./tp/texi2any --html --no-split -o - ..//tp/t/input_files/simplest.texi
> ...
> checking tp/Texinfo/XS/Parsetexi.la
> found tp/Texinfo/XS/Parsetexi.la
> Parsetexi: couldn't load file tp/Texinfo/XS/.libs/Parsetexi.so: Cannot load 
> specified object at ../tp/Texinfo/XSLoader.pm line 182, <$fh> line 8.
> 
> 
> Same for cygwin, here for example cygwin 64, but cygwin 32 looks very
> similar:
> 
> libtool: link: gcc -shared  parsetexi/.libs/Parsetexi_la-Parsetexi.o   
> -L/cygdrive/d/a/ci-check/ci-check/texinfo-7.1.91.20241117/build/tp/Texinfo/XS/.libs
>  ./.libs/libtexinfoxs.dll.a -L/usr/lib/perl5/5.40/x86_64-cygwin-threads/CORE 
> ./.libs/libtexinfo.dll.a -lperl  -ggdb -O2 -fstack-protector-strong -O3   -o 
> .libs/Parsetexi.dll -Wl,--enable-auto-image-base -Xlinker --out-implib 
> -Xlinker .libs/Parsetexi.dll.a
> 
> ./tp/texi2any --html --no-split -o - ..//tp/t/input_files/simplest.texi
> ...
> checking tp/Texinfo/XS/Parsetexi.la
> found tp/Texinfo/XS/Parsetexi.la
> Parsetexi: couldn't load file tp/Texinfo/XS/.libs/Parsetexi.dll: No such file 
> or directory at ../tp/Texinfo/XSLoader.pm line 182, <$fh> line 8.

tp/Texinfo/XS/.libs/Parsetexi.dll is a relative file name.  But
judging by the other file names on the command line, I'm guessing the
link command runs in tp/Texinfo/XS/, is that right?  Then either
adding -L../../.. to the command line or changing the library name
tp/Texinfo/XS/.libs/Parsetexi.dll to remove tp/Texinfo/XS/, should
perhaps solve the problem?

Reply via email to