[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

'make check' fails due to old perl on cygwin

From: Denis Excoffier
Subject: 'make check' fails due to old perl on cygwin
Date: Fri, 15 Nov 2019 07:41:34 +0100


This is not specific to bison-3.4.90.

Today, i experienced 35 failures in ‘make check’ (bison-3.4.90) on Cygwin (all 
within output.at). Other tests (notably in diagnostics.at) would also fail if 
they were not skipped because of the 'locale -a’ issue fixed last week in trunk.

That’s why:
- My usual perl (perl5.30.0, now perl5.30.1) was broken today, therefore, when 
perl was needed (cf "perl -pi -e XX" in test 074 for example), the $path 
selected the standard /usr/bin/perl which is perl5.26.2.
- You must know that perl5.28.0 changed the way they handle the "Editing 
in-place" functionality, in particular when <extension> (given after ‘-i') is 
- This change was mostly transparent for everyone I know, except for Cygwin, 
because in the old (pre 5.28) way of working, "perl -pi -e XX foo" in Cygwin 
used to produce a file called ‘foo.bak’. In the new way of working, the file 
‘foo.bak’ is no longer produced.
- Therefore, an old perl on Cygwin produces foo.y.bak and this 'perl -pi -e XX 
foo.y’ targets a failure because foo.y.bak is an unexpected output of the test.

To ’solve’ the problem, you may skip the tests containing ‘perl -pi -e XX' on 
Cygwin if perl is pre 5.28. Or otherwise.

Feel free to ask more information for clarification.


Denis Excoffier.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]