> 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?