On 17 August 2015 at 11:33, Patrice Dumas <pertu...@free.fr> wrote: > I checked and unsurprisingly it didn't work. I tried to build the .xs > file from the tp/Makefile.PL, but I did not succeed, and information in > internet and in the MakeMaker documentation is scarce and nobody seems > to build .xs files from subdirectories. I had a bit more success > building recursively XSParagraph after updating the XSParagraph > Makefile.PL. Not complete success, though. > > I then tried to build XSParagraph as a standalone module first, from > within tp/Texinfo/Convert/XSParagraph, with the idea that if this works, > building it as part of tp/Makefile.PL could be possible. The gnulib > files do not build, but I think that they are not mandatory and that we > probably cannot rely on gnulib for a standalone module. ldd on the .so > file do not show anything suspect. The undefined symbols seem to be > either from libc or perl, which I guess are loaded somehow when using xs > files.
As far as I remember the gnulib files were used for asprintf on Windows. I don't think anyone ever got it to work, though. > > > I modified XSParagraph.pm to load the .so file, but it didn't work fully: > > Running Mkbootstrap for XSParagraph () > chmod 644 XSParagraph.bs > PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" > "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, > 'blib/lib', 'blib/arch')" t/*.t > t/XSParagraph.t .. 1/1 > # Failed test 'use XSParagraph;' > # at t/XSParagraph.t line 12. > # Tried to use 'XSParagraph'. > # Error: Invalid version format (non-numeric data) at > # > /home/dumas/src/texinfo/tp/Texinfo/Convert/XSParagraph/blib/lib/XSParagraph.pm > # line 195. I think I've seen something like this error before, due to the version being "6.0dev" instead of "6.0". > # BEGIN failed--compilation aborted at > # > /home/dumas/src/texinfo/tp/Texinfo/Convert/XSParagraph/blib/lib/XSParagraph.pm > # line 215. > # Compilation failed in require at t/XSParagraph.t line 12. > # BEGIN failed--compilation aborted at t/XSParagraph.t line 12. > Perl: here 1 > Undefined subroutine &XSParagraph::set_state called at t/XSParagraph.t > line 23. > # Looks like you failed 1 test of 1. > # Looks like your test exited with 255 just after 1. > t/XSParagraph.t .. Dubious, test returned 255 (wstat 65280, 0xff00) > Failed 1/1 subtests We don't need to worry about that test failure - it hasn't been used for a long time, since I was trying to get XS to work in the first place. > Is this a possibility to build a standalone module worth more investigation? I'll have a look at the patch you posted. I have to say I don't care if building a standalone XS module works. I only care that it can be used from texi2any, which is difficult enough as it is. I've no interest in maintaining two build systems in parallel: just one of them causes enough problems. A standalone pure Perl module is more plausible.