Setting gmake command arguments in the Strawberry perl CPAN shell

2020-06-03 Thread Luigi Iotti
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

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


R: Setting gmake command arguments in the Strawberry perl CPAN shell

2020-06-05 Thread Luigi Iotti
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  
Inviato: mercoledì 3 giugno 2020 23:48
A: Luigi Iotti 
Cc: 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 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



R: Setting gmake command arguments in the Strawberry perl CPAN shell

2020-06-12 Thread Luigi Iotti
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  
Inviato: sabato 6 giugno 2020 03:34
A: Luigi Iotti 
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 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 mailto:sisyphus...@gmail.com> > 
Inviato: mercoledì 3 giugno 2020 23:48
A: Luigi Iotti 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 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-201

Windows Script Host support

2020-06-12 Thread Luigi Iotti
Hi all,

somebody know if Strawberry Perl supports Windows Script Host (WSH), aka
ActiveX scripting host (maybe there is a difference between the two terms)? 
I mean, if you may run for example cscript //E:PerlScript myscript.pl, maybe
changing PerlScript with some other string.
This would permit to use Perl as a scripting engine in applications which
make use of WSH scripting engines.

Thanks, regards
Luigi


R: Windows Script Host support

2020-06-13 Thread Luigi Iotti
Hi Rob,

 

there was a reason if I tried to move away from AP… But I did not reckon with 
that scripiting engine thing.

Taking my time, I’m thinking about a possible solution for my needs.

 

Regards, Luigi

 

Da: sisyphus  
Inviato: sabato 13 giugno 2020 15:50
A: Luigi Iotti 
Cc: Olivier Mengué ; Win32 Perl mailing list 

Oggetto: Re: Windows Script Host support

 

Hi Luigi,

As best I can tell, recent versions of ActivePerl (AP) are essentially unusable 
garbage.

You can probably run basic scripts with it, but I found recent AP to be very 
limited in capability and also unextendable - which, in the context of what one 
expects from perl, means that it is rubbish.

 

I know that wasn't always the case, and if you have a build of AP that supports 
your WSH needs, then I would recommend sticking with it.

I don't think Strawberry Perl ever has or ever will provide that support.

 

Cheers,

Rob

 

On Sat, Jun 13, 2020 at 9:30 PM Luigi Iotti mailto:lu...@iotti.biz> > wrote:

Hi Olivier,

 

Yes, ActivePerl still has it, and indeed I use it today. To be precise, 5.26 
still has it, while I remember I tried a 5.28 build, and it did lack.

I need it primary for Vandyke’ SecureCrt scripting, which makes use of the same 
ActiveX scripting engines WSH uses. So, they tell that if cscript 
//E:PerlScript works, then it should work with SecureCRT. And indeed I always 
found this was the case.

 

Just to know, somebody out there on the net instructed how to “steal” the 
feature (a dll, which has to be registered with regsrv32) from AP and use it 
with Strawberry, but I hoped there was some native support. AP can be freely 
downloaded but I don’t know if thir license permits something like this (and I 
bet it is no) and if this is a reliable solution.

 

Thank you, regards

Luigi

 

Da: Olivier Mengué mailto:olivier.men...@gmail.com> 
> 
Inviato: venerdì 12 giugno 2020 16:24
A: Luigi Iotti mailto:lu...@iotti.biz> >
Cc: Win32 Perl mailing list mailto:win32-vanilla@perl.org> >
Oggetto: Re: Windows Script Host support

 

Hi Luigi,

 

I remember that 20 years ago ActivePerl (from ActiveState) had this. 
https://www.activestate.com/products/perl/

I don't think that StrawberryPerl ever had it.

 

But nowadays WSH is just legacy. It still works, but Microsoft has stopped 
making it evolve, favoring PowerShell.

 

I have quite played with WSH in the past (but using, JavaScript) and often 
suffered from its limitations.

Do you have a motivation for wanting to use Perl from CScript.exe instead of 
perl.exe?

 

Olivier.

 

Le ven. 12 juin 2020 à 10:21, Luigi Iotti mailto:lu...@iotti.biz> > a écrit :

Hi all,

somebody know if Strawberry Perl supports Windows Script Host (WSH), aka
ActiveX scripting host (maybe there is a difference between the two terms)? 
I mean, if you may run for example cscript //E:PerlScript myscript.pl 
<http://myscript.pl> , maybe
changing PerlScript with some other string.
This would permit to use Perl as a scripting engine in applications which
make use of WSH scripting engines.

Thanks, regards
Luigi



R: Windows Script Host support

2020-06-13 Thread Luigi Iotti
Hi Olivier,

 

Yes, ActivePerl still has it, and indeed I use it today. To be precise, 5.26 
still has it, while I remember I tried a 5.28 build, and it did lack.

I need it primary for Vandyke’ SecureCrt scripting, which makes use of the same 
ActiveX scripting engines WSH uses. So, they tell that if cscript 
//E:PerlScript works, then it should work with SecureCRT. And indeed I always 
found this was the case.

 

Just to know, somebody out there on the net instructed how to “steal” the 
feature (a dll, which has to be registered with regsrv32) from AP and use it 
with Strawberry, but I hoped there was some native support. AP can be freely 
downloaded but I don’t know if thir license permits something like this (and I 
bet it is no) and if this is a reliable solution.

 

Thank you, regards

Luigi

 

Da: Olivier Mengué  
Inviato: venerdì 12 giugno 2020 16:24
A: Luigi Iotti 
Cc: Win32 Perl mailing list 
Oggetto: Re: Windows Script Host support

 

Hi Luigi,

 

I remember that 20 years ago ActivePerl (from ActiveState) had this. 
https://www.activestate.com/products/perl/

I don't think that StrawberryPerl ever had it.

 

But nowadays WSH is just legacy. It still works, but Microsoft has stopped 
making it evolve, favoring PowerShell.

 

I have quite played with WSH in the past (but using, JavaScript) and often 
suffered from its limitations.

Do you have a motivation for wanting to use Perl from CScript.exe instead of 
perl.exe?

 

Olivier.

 

Le ven. 12 juin 2020 à 10:21, Luigi Iotti mailto:lu...@iotti.biz> > a écrit :

Hi all,

somebody know if Strawberry Perl supports Windows Script Host (WSH), aka
ActiveX scripting host (maybe there is a difference between the two terms)? 
I mean, if you may run for example cscript //E:PerlScript myscript.pl 
<http://myscript.pl> , maybe
changing PerlScript with some other string.
This would permit to use Perl as a scripting engine in applications which
make use of WSH scripting engines.

Thanks, regards
Luigi