Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Setting gmake command arguments in the Strawberry perl CPAN shell

1 view
Skip to first unread message

Luigi Iotti

unread,
Jun 3, 2020, 10:15:02 AM6/3/20
to win32-...@perl.org
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
0 new messages