On Mon, Sep 02, 2024 at 08:02:26PM +0200, Bruno Haible wrote: > 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
I don't know if this is a silly question but why does build say "Build in cygwin" if it is the mingw32 build? mingw32 is not the same platform as cygwin. Is this cross-compiling? Since the texi2any program is used in the build there could be a problem with cross-compiling if the program is built for "host" but is run on the "build" system.
