On Sat, Jan 17, 2026 at 11:47:37AM +0000, Gavin Smith wrote:
> On Sat, Jan 17, 2026 at 11:56:20AM +0200, Eli Zaretskii wrote:
> > > From: Gavin Smith <[email protected]>
> > > Date: Thu, 15 Jan 2026 16:58:13 +0000
> > > Cc: [email protected], [email protected]
> > > 
> > > > IOW, this warning was expected, but was missing.  I see that this
> > > > warning comes from texi2any.c:merge_opened_files, but I don't know how
> > > > to investigate the reason(s) -- any hints?
> > > 
> > > It should not come from texi2any.c because that is the alternative
> > > ctexi2any implementation that is not used by default.
> > 
> > Oh, so the "--enable-c-texi2any" configure-time option defaults to
> > "no", not to "detect"?  I thought it defaults to "detect", because
> > "./configure --help" says "Use texi2any program implemented in C if
> > possible", and I see ctexi2any.exe was built as part of the build, so
> > evidently that _was_ possible.  Then why isn't it used by the test
> > suite (and not installed, as I say in my previous message)?
> 
> I don't know why it's built when it's not used.

It is not used nor installed, but the user may still use it from the
build directory.

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

This looks strange, there should be errors if the compiler does not
work?

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

That is not possible if the compiler does not work?

The issue here is probably that the libraries and XS modules that were built
previously are still there and used by Perl simply because they are
there.

Did you run make clean after configure?  If no, do we want to support
such a setting?

-- 
Pat

Reply via email to