http://www.perlmonks.org?node_id=11105086


in reply to Re^9: Need help debugging Wx on Strawberry Perl 5.26.1
in thread Need help debugging Wx on Strawberry Perl 5.26.1

Splendid!

I've attached a patch to RT #49433, which should fix that build issue when it's applied. At least, that patch works for me on Windows 10 with a sh.exe in a directory listed in $ENV{PATH}. Where, by "works" I mean that the Build.PL bails out with an error message instructing me to edit $ENV{PATH}.

From d64302f8b45901d2b91b9f813f8c4de76cad1714 Mon Sep 17 00:00:00 2001 From: Max Maischein <corion@corion.net> Date: Tue, 27 Aug 2019 00:31:28 +0200 Subject: [PATCH] Bail out of building if sh.exe or cc1.exe are found o +n the path This addresses # RT #49433 , RT #62451 The workaround is to adjust $PATH / $ENV{PATH} to exclude directories in which sh.exe or cc1.exe is found. Another workaround is to set $ENV{WX_IGNOREPATH} to a true value to disable this check. --- Build.PL | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) mode change 100755 => 100644 Build.PL diff --git a/Build.PL b/Build.PL old mode 100755 new mode 100644 index b0728a2..38046e0 --- a/Build.PL +++ b/Build.PL @@ -226,6 +226,33 @@ $build->notes( 'userpatch' => $build->args('wxWid +gets-userpatch') || '' ); $build->notes( 'graphicscontext' => $build->args('wxWidgets-graphicsc +ontext') ); if( $build_wx ) { + # RT #49433 , RT #62451 + if( $^O eq 'MSWin32' ) { + my @problematic = (qw(sh.exe cc1.exe)); + my @problematic_path = map { My::Build::Base->awx_path_search +( $_ ) } @problematic; + My::Build::Base->awx_path_search( 'cc1 +.exe' ), + ; + if( @problematic_path and not $ENV{WX_IGNOREPATH} ) { + local $" = "\n"; + print <<EOT; +The following programs were found in \$ENV{PATH}, and will break the +build: +@problematic_path + +PATH is + +$ENV{PATH} + +Please edit \$ENV{PATH} so these programs are not in it anymore and r +estart the +installation. Alternatively, set \$ENV{WX_IGNOREPATH} to a true value + and +restart the installation: + + set WX_IGNOREPATH=1 + +EOT + exit 1; + } + }; + $wx_version = _askmulti( $build, 'wxWidgets-version', 'Which wxWidgets version?', [ sort keys %VERSIONS ], $DEFAULT_VERSIO +N ); -- 2.22.0.windows.1