http://qs321.pair.com?node_id=11105028


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

I had installed other Wx modules (ie. Ailen::wxWidgets) prior to installing this one. I am operating under the assumption that those installed correctly as that was what the CPAN result told me.

  • Comment on Re^6: Need help debugging Wx on Strawberry Perl 5.26.1

Replies are listed 'Best First'.
Re^7: Need help debugging Wx on Strawberry Perl 5.26.1
by swl (Parson) on Aug 26, 2019 at 06:33 UTC

    Is the Makefile.PL file calling the Wx dlls provided by Alien::wxWidgets? Maybe some probing is needed to check what path is being used.

    And FWIW, I cannot get Alien::wxWidgets to compile using Strawberry perl so I cannot test it myself.

    C:\BERRYB~1\526~1.2_6\data\.cpanm\work\1566800678.620\Alien-wxWidgets- +0.69>perl Makefile.PL # running Build.PL Do you want to fetch and build wxWidgets from sources? [yes ] yes Which wxWidgets version? (2.8.10, 2.8.11, 2.8.12, 2.9.0, 2.9.1, 2.9.2, + 2.9.3, 2.9.4, 3.0.0, 3.0.1, 3.0.2) [3.0.2 ] 3.0.2 Which archive type? [tar.bz2 ] tar.bz2 Do you want to include OpenGL support [yes ]no Created MYMETA.yml and MYMETA.json Creating new 'Build' script for 'Alien-wxWidgets' version '0.69' C:\BERRYB~1\526~1.2_6\data\.cpanm\work\1566800678.620\Alien-wxWidgets- +0.69>Build Building Alien-wxWidgets if not exist gcc_mswudll mkdir gcc_mswudll process_begin: CreateProcess(NULL, C:/berrybrew/5.26.2_64_PDL/perl/sit +e/bin/ -c "if not exist gcc_mswudll mkdir gcc_mswudll", ...) failed. make (e=5): Access is denied. gmake: [makefile.gcc:5089: gcc_mswudll] Error 5 (ignored) if not exist ..\..\lib\gcc_dll mkdir ..\..\lib\gcc_dll process_begin: CreateProcess(NULL, C:/berrybrew/5.26.2_64_PDL/perl/sit +e/bin/ -c "if not exist ..\..\lib\gcc_dll mkdir ..\..\lib\gcc_dll", . +..) failed. make (e=5): Access is denied. gmake: *** [makefile.gcc:5639: ..\..\lib\gcc_dll] Error 5 system: gmake -f makefile.gcc all UNICODE=1 MSLU=0 BUILD=release SHAR +ED=1 DEBUG_INFO=default DEBUG_FLAG=1 LDFLAGS=" -m64" CPPFLAGS="-m64" +: 512 at inc/My/Build/Win32.pm line 284.

      Just for further debugging:

      process_begin: CreateProcess(NULL, C:/berrybrew/5.26.2_64_PDL/perl/site/bin/ -c "if not exist gcc_mswudll mkdir gcc_mswudll", ...) failed.

      This suggests that the Module::Build / Alien::Build concoction wants to run what it thinks is a shell script through the shell, except that there is none defined:

      C:/berrybrew/5.26.2_64_PDL/perl/site/bin/ -c

      There is a shell missing after bin/. Of course, cmd.exe is a shell, but it doesn't take a -c command. The snippet passed to that "shell" is clearly cmd.exe syntax, so something goes wrong somewhere there. I don't know where that snippet comes from, so it's hard for me to say. Maybe that snippet is the WxWidgets-supplied Makefile so you have to look into makefile.gcc to see where/how it sets up a shell and how/why that shell thinks it can run commands with a *sh syntax when the commands are cmd.exe syntax.

      Update: Most likely, GNU make examines $ENV{SHELL} and if that is set to some weirdo value (or set at all), it will use that instead of falling back on cmd.exe. My advice is to unset $ENV{SHELL} and try again.

        Thanks for the update. $ENV{SHELL} is not set in my environment.

        However, the rt linked to in 11105055 proved to be pertinent. I have sh.exe and make.exe in my default path from an old bash for windows installation. Removing that dir from the path seems to get things working (it is building now).

        Anonymous monk pointed out an obvious error in the invocation, but running perl Makefile.PL followed by gmake gives the same basic error (see below).

        This is consistent with CPAN testers so is not a new issue. http://www.cpantesters.org/cpan/report/8aa9fbd0-7033-1014-8ba7-ce7f26264a62.

        Thanks for the tip about the makefile. I'm not too worried about getting it to work, though, so won't spend much time looking into it unless I have an idle hour or two.

        C:\BERRYB~1\526~1.2_6\data\.cpanm\work\1566809756.26920\Alien-wxWidget +s-0.69>gmake C:\berrybrew\5.26.2_64_PDL\perl\bin\perl.exe Build --makefile_env_macr +os 1 Building Alien-wxWidgets Argument "0.21_01" isn't numeric in numeric ge (>=) at inc/latest/priv +ate.pm line 32. Fetching wxWidgets... fetching from: http://prdownloads.sourceforge.net/wxwindows/wxWidgets- +3.0.2.tar.bz2 Extracting wxWidgets... Argument "0.21_01" isn't numeric in numeric ge (>=) at inc/latest/priv +ate.pm line 32. Patching wxWidgets... Applying patch: C:\BERRYB~1\526~1.2_6\data\.cpanm\work\1566809756.2692 +0\Alien-wxWidgets-0.69\patches\wxMSW-3.0.0-makefiles.patch perl -pe "" -- "C:\BERRYB~1\526~1.2_6\data\.cpanm\work\1566809756.2692 +0\Alien-wxWidgets-0.69\patches\wxMSW-3.0.0-makefiles.patch" | "..\inc +\bin\patch.exe" -N -p0 -u -b -z .bak patching file build/msw/makefile.gcc Hunk #1 succeeded at 5203 (offset 4 lines). Hunk #2 succeeded at 5219 (offset 4 lines). Hunk #3 succeeded at 5239 (offset 4 lines). Hunk #4 succeeded at 5260 (offset 4 lines). Hunk #5 succeeded at 5286 (offset 4 lines). Hunk #6 succeeded at 5313 (offset 4 lines). Hunk #7 succeeded at 5345 (offset 4 lines). Hunk #8 succeeded at 5375 (offset 4 lines). Hunk #9 succeeded at 5405 (offset 4 lines). Hunk #10 succeeded at 5433 (offset 4 lines). Hunk #11 succeeded at 5454 (offset 4 lines). Hunk #12 succeeded at 5480 (offset 4 lines). Hunk #13 succeeded at 5506 (offset 4 lines). Hunk #14 succeeded at 5532 (offset 4 lines). Hunk #15 succeeded at 5558 (offset 4 lines). Hunk #16 succeeded at 5584 (offset 4 lines). Hunk #17 succeeded at 5610 (offset 4 lines). Applying patch: C:\BERRYB~1\526~1.2_6\data\.cpanm\work\1566809756.2692 +0\Alien-wxWidgets-0.69\patches\wxMSW-3.0.1-defs.patch perl -pe "" -- "C:\BERRYB~1\526~1.2_6\data\.cpanm\work\1566809756.2692 +0\Alien-wxWidgets-0.69\patches\wxMSW-3.0.1-defs.patch" | "..\inc\bin\ +patch.exe" -N -p0 -u -b -z .bak patching file include/wx/defs.h Applying patch: C:\BERRYB~1\526~1.2_6\data\.cpanm\work\1566809756.2692 +0\Alien-wxWidgets-0.69\patches\wxMSW-3.0.1-setup_gctx.patch perl -pe "" -- "C:\BERRYB~1\526~1.2_6\data\.cpanm\work\1566809756.2692 +0\Alien-wxWidgets-0.69\patches\wxMSW-3.0.1-setup_gctx.patch" | "..\in +c\bin\patch.exe" -N -p0 -u -b -z .bak patching file include/wx/msw/setup.h Hunk #1 succeeded at 435 (offset 6 lines). Hunk #2 succeeded at 577 (offset 6 lines). Hunk #3 succeeded at 623 (offset 6 lines). Hunk #4 succeeded at 777 (offset 6 lines). Hunk #5 succeeded at 785 (offset 6 lines). Hunk #6 succeeded at 1383 (offset 16 lines). Hunk #7 succeeded at 1474 (offset 16 lines). Applying patch: C:\BERRYB~1\526~1.2_6\data\.cpanm\work\1566809756.2692 +0\Alien-wxWidgets-0.69\patches\wxWidgets-2.9.0-magic.patch perl -pe "" -- "C:\BERRYB~1\526~1.2_6\data\.cpanm\work\1566809756.2692 +0\Alien-wxWidgets-0.69\patches\wxWidgets-2.9.0-magic.patch" | "..\inc +\bin\patch.exe" -N -p0 -u -b -z .bak patching file src/generic/grid.cpp Hunk #1 succeeded at 6125 (offset 528 lines). Applying patch: C:\BERRYB~1\526~1.2_6\data\.cpanm\work\1566809756.2692 +0\Alien-wxWidgets-0.69\patches\wxWidgets-3.0.2-webkit.patch perl -pe "" -- "C:\BERRYB~1\526~1.2_6\data\.cpanm\work\1566809756.2692 +0\Alien-wxWidgets-0.69\patches\wxWidgets-3.0.2-webkit.patch" | "..\in +c\bin\patch.exe" -N -p0 -u -b -z .bak patching file include/wx/defs.h Hunk #1 succeeded at 3174 (offset 5 lines). patching file include/wx/html/webkit.h patching file include/wx/osx/webview_webkit.h patching file src/osx/webview_webkit.mm gmake[1]: Entering directory 'C:/BERRYB~1/526~1.2_6/data/.cpanm/work/1 +566809756.26920/Alien-wxWidgets-0.69/wxWidgets-3.0.2/build/msw' if not exist gcc_mswudll mkdir gcc_mswudll process_begin: CreateProcess(NULL, C:/berrybrew/5.26.2_64_PDL/perl/sit +e/bin/ -c "if not exist gcc_mswudll mkdir gcc_mswudll", ...) failed. make (e=5): Access is denied. gmake[1]: [makefile.gcc:5089: gcc_mswudll] Error 5 (ignored) if not exist ..\..\lib\gcc_dll mkdir ..\..\lib\gcc_dll process_begin: CreateProcess(NULL, C:/berrybrew/5.26.2_64_PDL/perl/sit +e/bin/ -c "if not exist ..\..\lib\gcc_dll mkdir ..\..\lib\gcc_dll", . +..) failed. make (e=5): Access is denied. gmake[1]: *** [makefile.gcc:5639: ..\..\lib\gcc_dll] Error 5 gmake[1]: Leaving directory 'C:/BERRYB~1/526~1.2_6/data/.cpanm/work/15 +66809756.26920/Alien-wxWidgets-0.69/wxWidgets-3.0.2/build/msw' system: gmake -f makefile.gcc all UNICODE=1 MSLU=0 BUILD=release SHAR +ED=1 DEBUG_INFO=default DEBUG_FLAG=1 LDFLAGS=" -m64" CPPFLAGS="-m64" +: 512 at inc/My/Build/Win32.pm line 284. gmake: *** [Makefile:33: all] Error 2
      If youre running Makefile.Pl do not call build

        I think the Makefile.PL is just a pass-through Makefile.PL that reflects to ./Build.PL...

Re^7: Need help debugging Wx on Strawberry Perl 5.26.1
by jcb (Parson) on Aug 26, 2019 at 04:31 UTC

    The error appears to indicate that your wxWidgets library does not match your Wx XSUB. That is all I can say with certainty.

      Any suggestions on where to look in the sources to see the possible cause of the error? I'm not exactly sure where in Makefile.PL or some other spot where the compiler flags might be assigned.