On Thu, Nov 14, 2024 at 01:40:52PM +0200, Eli Zaretskii wrote: > Yes, but which header exactly causes the syntax error? I don't see > vTHX mentioned in any header in the Texinfo tree, except this: > > tp/Texinfo/XS/ppport.h:10353:vTHX|5.006000||Viu > > Could this cause the problem? (I don't understand what ppport.h tries > to do here.)
Not there, it is documentation in comments. I think that it says that vTHX exists since perl 5.006000. > Or maybe this part of ppport.h causes the problem: > > #ifndef aTHX > # define aTHX > #endif My feeling is that aTHX should already be defined by XSUB.h, if needed, which is included before ppport.h. > because Perl's embedvar.h does > > #if defined(MULTIPLICITY) > /* cases 2 and 3 above */ > > # if defined(PERL_IMPLICIT_CONTEXT) > # define vTHX aTHX > # else > # define vTHX PERL_GET_INTERP > # endif > > (I'm obviously stabbing in the dark here.) I have seen that the Perl code is compiled with -DPERL_IMPLICIT_CONTEXT, which, if I understand well is a legacy synonym for MULTIPLICITY and sets the possibility to use multiple interpreters in the same program, which may be incorrect for our code (maybe). However, as we set explicitely PERL_NO_GET_CONTEXT in all the files, and in particular in api_to_perl.c, my understanding is that it negates the effects of MULTIPLICITY, so it should not matter. However, if MULTIPLICITY is indeed set, it could be a reason why there is a failure as we may have to specify an interpreter to use, although I have no idea how we do that. What is your Perl version? Normally configure should have detected if it is not recent enough, so I do not expect it to be very important, but who knows. -- Pat