> Date: Fri, 20 Sep 2024 20:14:33 +0200 > From: Patrice Dumas <pertu...@free.fr> > Cc: bug-texinfo@gnu.org > > > $ which prove > > /bin/prove > > > > in the MSYS Bash. So it does find 'prove'. > > > > > Any idea on what should be done? > > > > Do you have the file in your MSYS installation? > > The shell is not MSYS, it is: > shell: C:\cygwin\bin\bash.exe -eo pipefail -o igncr '{0}'
Using the Cygwin tools to build MinGW ports is an uncharted territory for me: I never did that. MSYS was created (as a fork of Cygwin) precisely for this purpose: allow building MinGW ports using native Windows development tools (MinGW GCC and Binutils, native Windows Perl, etc.), and it includes several special tricks up its sleeve to that end. Examples include transparent conversion of /d/foo/bar file names to the Windows D:\foo\bar form, conversion of foo:bar:baz in PATH to Windows-style foo;bar;baz, EOL conversion where possible, conversion of /dev/null to NUL etc. By contrast, Cygwin has a very different purpose. I think the correct way of building MinGW ports using Cygwin Bash and development tools is to use Cygwin-to-MinGW cross-compiler (I think the Cygwin project provides such cross-tools). Using native Windows executables (including MinGW GCC and Binutils, and other MinGW ports) is bound to cause problems such as this one. And I have no idea how to invoke Strawberry Perl from Cygwin in a way that will avoid these problems. I guess you could try removing CR characters, but that could bite you in some other cases, where a lone CR character is produced and is supposed to be kept. If you are lucky, this will never happen in Texinfo, but only if you are lucky. > and the Cygwin Perl is not installed on purpose such that Strawberry > Perl is used. > > > And if not, does the > > Strawberry Perl's bin/ subdirectory appear on your PATH? > > I think so, there is: > Path: C:\cygwin\bin > ...... > C:\Strawberry\c\bin > C:\Strawberry\perl\site\bin > C:\Strawberry\perl\bin > ...... > > Perl is found there by configure: > > checking for perl... /cygdrive/c/Strawberry/perl/bin/perl > > > I will check what a ls on those directories gives, to check if prove is > actually there. I think if you build using a mix of Cygwin tools (Bash etc.) and MinGW GCC/Binutils and native Windows Perl, you will be fighting an up-hill battle due to all those subtle incompatibilities. From my 20 years of experience of building MinGW ports natively, the only reliable way of doing that is by using MSYS Bash, MSYS Make, MSYS Coreutils and other MSYS ports specifically prepared for this purpose.