[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: finding prove with mingw on cygwin?
From: |
Eli Zaretskii |
Subject: |
Re: finding prove with mingw on cygwin? |
Date: |
Fri, 20 Sep 2024 22:05:57 +0300 |
> Date: Fri, 20 Sep 2024 20:14:33 +0200
> From: Patrice Dumas <pertusus@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.