Hi Gavin, > > Can't locate Texinfo/ModulePath.pm in @INC (you may need to install the > > Texinfo::ModulePath module) (@INC contains: > > \cygdrive\d\a\ci-check\ci-check\texinfo-7.1.0.91-20240901\build\tp > > C:/Strawberry/perl/site/lib C:/Strawberry/perl/vendor/lib > > C:/Strawberry/perl/lib) at ../../../tp/texi2any.pl line 86. > > BEGIN failed--compilation aborted at ../../../tp/texi2any.pl line 115. > > make[4]: *** [Makefile:1906: texi2any_internals.info] Error 2 > > make[4]: Leaving directory > > '/cygdrive/d/a/ci-check/ci-check/texinfo-7.1.0.91-20240901/build/doc/tp_api' > > Could it be an issue with backslashes being used as directory separators > in \cygdrive\d\a\ci-check\ci-check ... ? It is strange that the > path is passed with forward slashes on the command line in the environment > variables top_builddir but is given with backslashes in the error. Is > there any automatic conversion of backslashes on this platform that > could be responsible?
This looks like it is the problem, yes. Texinfo/ModulePath.pm is meant to reside in build/tp/. The line texi2any.pl:84 is meant to add this directory to @INC. We can see that it the value that it adds is \cygdrive\d\a\ci-check\ci-check\texinfo-7.1.0.91-20240901\build\tp but since this is a native Windows perl, it should really be D:\a\ci-check\ci-check\texinfo-7.1.0.91-20240901\build\tp (with slashes or backslahes, doesn't matter). This value comes from texi2any.pl:65..66: ($real_command_name, $command_directory, $command_suffix) = fileparse($0, '.pl'); But $0 should be "../../../tp/texi2any.pl", a relative file name. And an experiment shows that in this case, $command_directory should be "../../../tp/" (cf. the experiment that I did in https://github.com/gnu-gnulib/ci-scratch/actions/runs/10671347822 ). So, like you, I don't understand where this Cygwin-syntax filename comes from. Bruno