Hi Rob,
unfortunately I was suddenly forced to switch back from Stawberry to the other major perl win distro because I discovered there is no support for Windows Script Host (i.e. cscript //E:PerlScript myscript.pl). I have a couple of important applications which make use of it. At least I was unable to find it. I’m going to open another thread and if I find it, I’ll give Strawberry another try and in case, open the issue for this one. Thank you for now, Luigi Da: sisyphus <sisyphus...@gmail.com> Inviato: sabato 6 giugno 2020 03:34 A: Luigi Iotti <lu...@iotti.biz> Cc: win32-vanilla@perl.org Oggetto: Re: Setting gmake command arguments in the Strawberry perl CPAN shell Hi Luigi, Glad you managed to work out a solution. It seems to me that you've struck a rather strange issue that the Strawberry Perl developers might be able to deal with - or at least should be made aware of. If you would like to have it followed up, I think the best thing would be to create a New Issue at https://github.com/StrawberryPerl/Perl-Dist-Strawberry/issues Cheers, Rob On Sat, Jun 6, 2020 at 12:52 AM Luigi Iotti <lu...@iotti.biz <mailto:lu...@iotti.biz> > wrote: Hi sisyphus, Thank you for your answer. You pointed me in the right direction. Setting tet the SHELL env var does not work: it seems that, at least in my case, it does not go through all the way from cpan to make. But instead, it worked just reducing my PATH to just C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Strawberry\c\bin;C:\Strawberry\perl\site\bin;C:\Strawberry\perl\bin , before starting cpan.bat. Thank you very much. As a sidenote: I don’t have any sh.exe, or similar, in C:/Program Files/AdoptOpenJDK/jdk-14.0.1.7-hotspot/bin . There is only jcmd.exe, which can resemble a shell. But I think that make’ find_and_set_shell should set the shell to C:/Program Files/AdoptOpenJDK/jdk-14.0.1.7-hotspot/bin/_something_.exe, not just the folder C:/Program Files/AdoptOpenJDK/jdk-14.0.1.7-hotspot/bin. Regards, Luigi Da: sisyphus <sisyphus...@gmail.com <mailto:sisyphus...@gmail.com> > Inviato: mercoledì 3 giugno 2020 23:48 A: Luigi Iotti <lu...@iotti.biz <mailto:lu...@iotti.biz> > Cc: win32-vanilla@perl.org <mailto:win32-vanilla@perl.org> Oggetto: Re: Setting gmake command arguments in the Strawberry perl CPAN shell Hi, I think this happens because gmake finds a file named sh.exe in the PATH - in your case it's in "C:/Program Files/AdoptOpenJDK/jdk-14.0.1.7-hotspot/bin/". In the perl source, the GNUmakefile in the win32 directory avoids this problem by specifying: SHELL := cmd.exe Is that just a way of setting the SHELL environment variable from inside the makefile ? Does it help if you set the SHELL environment variable to "cmd.exe" before starting the build of Alien::wxWidgets : set SHELL=cmd.exe Cheers, Rob On Wed, Jun 3, 2020 at 11:57 PM Luigi Iotti <lu...@iotti.biz <mailto:lu...@iotti.biz> > wrote: Hi all I'm new to Strawberry perl. I just installed 5.30.2.1 on a Win10 pc. Long story short: in the CPAN shell, how may I add some arguments to gmake command line? I tried o conf make_arg, make_install_arg, makepl_arg, mbuildpl_arg but they seem not to work, at least in my case. Long story long: I'm trying to build Alien::wxWidgets as it is a requirement for wx. But the build fails with: ... if not exist gcc_mswudll mkdir gcc_mswudll process_begin: CreateProcess(NULL, C:/Program Files/AdoptOpenJDK/jdk-14.0.1.7-hotspot/bin/ -c "if not exist gcc_mswudll mkdir gcc_mswudll", ...) failed. make (e=2): Impossibile trovare il file specificato. #(this means unable to find the specified file, in Italian) gmake: [makefile.gcc:5089: gcc_mswudll] Error 2 (ignored) if not exist ..\..\lib\gcc_dll mkdir ..\..\lib\gcc_dll process_begin: CreateProcess(NULL, C:/Program Files/AdoptOpenJDK/jdk-14.0.1.7-hotspot/bin/ -c "if not exist ..\..\lib\gcc_dll mkdir ..\..\lib\gcc_dll", ...) failed. make (e=2): Impossibile trovare il file specificato. #(this means unable to find the specified file, in Italian) gmake: *** [makefile.gcc:5639: ..\..\lib\gcc_dll] Error 2 system: gmake -f makefile.gcc all UNICODE=1 MSLU=0 BUILD=release SHARED=1 DEBUG_INFO=default DEBUG_FLAG=1 LDFLAGS=" -m64" CPPFLAGS="-m64": 512 at inc/My/Build/Win32.pm line 284. I found that " C:/Program Files/AdoptOpenJDK/jdk-14.0.1.7-hotspot/bin/" is the first component of my PATH, and it seems to come from gmake's find_and_set_shell. If I run the gmake command alone, with -d, it calls find_and_set_shell twice. The first time it finds a gnu shell I have somewhere in my PATH, the second time it finds the first directory in PATH, not an executable: >gmake -f makefile.gcc all UNICODE=1 MSLU=0 BUILD=release SHARED=1 DEBUG_INFO=default DEBUG_FLAG=1 LDFLAGS=" -m64" CPPFLAGS="-m64" -d GNU Make 4.2.1 Built for x86_64-w64-mingw32 Copyright (C) 1988-2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. find_and_set_shell() path search set default_shell = C:/Utils/GnuWin32/bin/sh.exe Reading makefiles... Reading makefile 'makefile.gcc'... Reading makefile 'config.gcc' (search path) (no ~ expansion)... find_and_set_shell() path search set default_shell = C:/Program Files/AdoptOpenJDK/jdk-14.0.1.7-hotspot/bin/ Reading makefile 'gcc_mswudll/*.d' (search path) (don't care) (no ~ expansion)... Updating makefiles... But if I add SHELL=cmd.exe on the gmake command line, it works. The working command line is gmake -f makefile.gcc all UNICODE=1 MSLU=0 BUILD=release SHARED=1 DEBUG_INFO=default DEBUG_FLAG=1 LDFLAGS=" -m64" CPPFLAGS="-m64" SHELL=CMD.exe Hence my question about setting SHELL= from the CPAN shell. Other solutions are welcome. Thank you, regards Luigi