On Sat, Jan 17, 2026 at 11:47:37AM +0000, Gavin Smith wrote: > > If I run "./configure PERL_EXT_CC=failcc", this completes successfully > and disables XS modules: > > configure: error: in '/home/g/src/texinfo/GIT/tta/perl/CheckXS': > configure: error: C compiler cannot create executables > See 'config.log' for more details > configure: error: ./configure failed for perl/CheckXS > configure: building Perl extension (XS) modules will be disabled > > "make" does appear to complete successully (which it didn't before), > but only after a lot of time building C texi2any code.
I checked tta/configure.ac, and indeed, if XS is not used, PERL_EXT_CC and other PERL_EXT_* are ignored, so the usual CC, CFLAGS... are used. The C texi2any code is built, which seems good to me, it does not need Perl nor XS. If --enable-additional-checks was given to configure, the teximakehtml executable is built, which uses the texi2any C code and can convert Texinfo to HTML, even if it lacks quite a bit of functionalities. > But then "make check" fails badly. > > $ perl -w t/02coverage.t > ok 1 > perl: symbol lookup error: t//../../C/.libs/libtexinfoxs.so.1: undefined > symbol: newSVpv_utf8 > > According to the output of "TEXINFO_XS=debug perl -w t/02coverage.t", a large > amount of C libraries and XS overrides are loaded anyway. I reproduced that too, but it is quite logical, the built XS modules are used if found by Perl, Perl does not know that the libraries have been rebuilt without Perl. After 'make clean', make check succeeds. There is something I would like to investigate, however, which is why texi2any, even configured with enable_xs=no tries to load XS modules. -- Pat
