Issue installing System::Timeout qw(timeout); - perl

I am trying to install the timeout_system module. I'm on windows. When I try
cpanm System::Timeout
it fails.
When I try
cpan System::Timeout
I get
C:\Windows\System32>cpan System:Timeout
CPAN: LWP::UserAgent loaded ok (v6.03)
Fetching with LWP:
http://cpan.strawberryperl.com/authors/01mailrc.txt.gz
CPAN: YAML loaded ok (v0.77)
CPAN: CPAN::SQLite loaded ok (v0.202)
Fetching with LWP:
http://cpan.strawberryperl.com/modules/02packages.details.txt.gz
Fetching with LWP:
http://cpan.strawberryperl.com/modules/03modlist.data.gz
Database was generated on Mon, 16 Sep 2013 20:14:09 GMT
Updating database file ...
Done!Running install for module 'System::Timeout'
Running make for C/CH/CHENGANG/System-Timeout-0.07.tar.gz
Fetching with LWP:
http://cpan.strawberryperl.com/authors/id/C/CH/CHENGANG/System-Timeout-0.07.tar.gz
CPAN: Digest::SHA loaded ok (v5.63)
Fetching with LWP:
http://cpan.strawberryperl.com/authors/id/C/CH/CHENGANG/CHECKSUMS
CPAN: Compress::Zlib loaded ok (v2.042)
Checksum for C:\Dwimperl\cpan\sources\authors\id\C\CH\CHENGANG\System-Timeout- 0.07.tar.gz ok
CPAN: Archive::Tar loaded ok (v1.80)
CPAN: File::Temp loaded ok (v0.22)
CPAN: Parse::CPAN::Meta loaded ok (v1.4401)
CPAN: CPAN::Meta loaded ok (v2.120351)
CPAN: Module::CoreList loaded ok (v2.57)
CPAN.pm: Building C/CH/CHENGANG/System-Timeout-0.07.tar.gz
Checking if your kit is complete...
Looks good
Writing Makefile for System::Timeout
Writing MYMETA.yml and MYMETA.json
cp lib/System/Timeout.pm blib\lib\System\Timeout.pm
C:\Dwimperl\perl\bin\perl.exe -MExtUtils::Command -e cp -- bin/timeout blib\script\timeout
pl2bat.bat blib\script\timeout
CHENGANG/System-Timeout-0.07.tar.gz
C:\Dwimperl\c\bin\dmake.EXE -- OK
Running make test
C:\Dwimperl\perl\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib\lib', 'blib\arch')" t/*.t
t/00System-Timeout.t .. 1/9 'sleep' is not recognized as an internal or external command,
operable program or batch file.
'sleep' is not recognized as an internal or external command,
operable program or batch file.
Can't find string terminator "'" anywhere before EOF at -e line 1.
# Failed test 'system timeout exit code'
# at t/00System-Timeout.t line 21.
Can't find string terminator "'" anywhere before EOF at -e line 1.
# Failed test 'timeout timeout exit code'
# at t/00System-Timeout.t line 27.
# Looks like you failed 2 tests of 9.
t/00System-Timeout.t .. Dubious, test returned 2 (wstat 512, 0x200)
Failed 2/9 subtests
t/01bin-timeout.t ..... '..' is not recognized as an internal or external command,
operable program or batch file.
t/01bin-timeout.t ..... 1/4 '..' is not recognized as an internal or external command,
operable program or batch file.
# Failed test 'bin-timeout exit code'
# at t/01bin-timeout.t line 15.
# Looks like you failed 1 test of 4.
t/01bin-timeout.t ..... Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/4 subtests
Test Summary Report
-------------------
t/00System-Timeout.t (Wstat: 512 Tests: 9 Failed: 2)
Failed tests: 7, 9
Non-zero exit status: 2
t/01bin-timeout.t (Wstat: 256 Tests: 4 Failed: 1)
Failed test: 4
Non-zero exit status: 1
Files=2, Tests=13, 1 wallclock secs ( 0.09 usr + 0.05 sys = 0.14 CPU)
Result: FAIL
Failed 2/2 test programs. 3/13 subtests failed.
dmake.EXE: Error code 129, while making 'test_dynamic'
CHENGANG/System-Timeout-0.07.tar.gz
C:\Dwimperl\c\bin\dmake.EXE test -- NOT OK
//hint// to see the cpan-testers results for installing this module, try:
reports CHENGANG/System-Timeout-0.07.tar.gz
Running make install
make test had returned bad status, won't install without force
C:\Windows\System32>ppm Par-Packer
If anyone has an idea, that would be helpful. I don't have too much experience installing modules in Perl, and it would be very nice to use timeout_system.
Thx
Update: I ended up going with the following:
my $pid = fork();
if (!$pid) {
exec($command);
}
else {
sleep 100;
system("TASKKILL /F /T /PID $$");
}
which works.

I don't think this will work on Windows without change given that forking on Windows does not work the same as on *NIX systems. Installing and testing the dependency module IPC::Cmd via CPAN and running the sample script in the CPAN docs produces the following result...
c:\Perl>perl TEST_IPC_Cmd.pl
Set up gcc environment - 3.4.5 (mingw-vista special r3)
fetched webpage successfully: Continuing in background, pid 5244.
Output will be written to `wget-log.2'.
this is what the command printed:
Continuing in background, pid 5796.
Output will be written to `wget-log.3'.
run_forked is not available: at TEST_IPC_Cmd.pl line 30.
IPC::Open3 available: 1.12IPC::Run available: Can capture buffer: 1
c:\Perl>
Because System::Timeout is just a very simple wrapper around the IPC::Cmd run method (that also sets the timeout property), the IPC::Cmd module would first need modification to run correctly on Windows before System::Timeout would ever work as expected.
In my case, manually installing System::Timeout after installing IPC::Cmd successfully launched a an executable (a Perl one liner) but failed to kill the process after 3 seconds.
#Perl_AAA.pl
use System::Timeout qw(timeout);
print localtime()."\n";
timeout('perl -e "sleep(9); print \"Done\n\";"'); # invoke CORE::system, will not timeout exit
print localtime()."\n";
timeout("3", 'perl -e "sleep(9); print \"Done\n\";"'); # timeout exit after 3 seconds
print localtime()."\n";
print "Normal exit\n";
exit;
Result...
c:\Perl>
c:\Perl>perl TEST_AAA.pl
Thu Oct 17 12:51:22 2013
Done
Thu Oct 17 12:51:31 2013
Running [perl -e "sleep(9); print \"Done\n\";"]...
Done
Thu Oct 17 12:51:40 2013
Normal exit
c:\Perl>

Related

Perl DBD :: JDBC module issue No suitable driver found for jdbc:hsqldb

I am using Strawberry Perl 5.28 version and end up getting issues while installing DBD::JDBC module .
Hence the make/gmake , make test,gmake test is consistently failing even if I download the DBC::JDBC module and run perl Makefile.PL . I already have JDK 8 and JRE installed.
Any help would be appreciated .
C:\Users>cpan DBD::JDBC DBI
Loading internal logger. Log::Log4perl recommended for better logging
CPAN: CPAN::SQLite loaded ok (v0.217)
Database was generated on Thu, 20 May 2021 14:53:47 GMT
Running install for module 'DBD::JDBC'
CPAN: Digest::SHA loaded ok (v6.02)
CPAN: Compress::Zlib loaded ok (v2.086)
Checksum for C:\STRAWB~1\cpan\sources\authors\id\V\VI\VIZDOM\DBD-JDBC-0.71.tar.gz ok
CPAN: Archive::Tar loaded ok (v2.32)
CPAN: YAML::XS loaded ok (v0.77)
CPAN: CPAN::Meta::Requirements loaded ok (v2.140)
CPAN: CPAN::Meta loaded ok (v2.150010)
Configuring V/VI/VIZDOM/DBD-JDBC-0.71.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Using DBI 1.643 (for perl 5.028002 on MSWin32-x64-multi-thread) installed in C:/strawberry/perl/site/lib/auto/DBI/
Generating a gmake-style Makefile
Writing Makefile for DBD::JDBC
Writing MYMETA.yml and MYMETA.json
VIZDOM/DBD-JDBC-0.71.tar.gz
C:\strawberry\perl\bin\perl.exe Makefile.PL -- OK
Running make for V/VI/VIZDOM/DBD-JDBC-0.71.tar.gz
CPAN: Module::CoreList loaded ok (v5.20190420)
cp JDBC.pod blib\lib\DBD\JDBC.pod
cp lib/Bundle/DBD/JDBC.pm blib\lib\Bundle\DBD\JDBC.pm
cp JDBC.pm blib\lib\DBD\JDBC.pm
VIZDOM/DBD-JDBC-0.71.tar.gz
C:\STRAWB~1\c\bin\gmake.exe -- OK
Running make test for VIZDOM/DBD-JDBC-0.71.tar.gz
set CLASSPATH=dbd_jdbc.jar;t/hsqldb/hsqldb-1.8.0.2.jar;t/hsqldb/log4j-1.2.13.jar;C:\Users\Downloads\DBD-JDBC-0.71.tar\DBD-JDBC-0.71\log4j.properties;C:\Users\Downloads\SimbaSparkJDBC4-2.6.16.1020\SparkJDBC4.jar;
"C:\strawberry\perl\bin\perl.exe" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib\lib', 'blib\arch')" t/*.t
t/01_env.t ...... ok
t/02_connect.t .. 1/5 DBD::JDBC::dr connect warning: No suitable driver found for jdbc:hsqldb:file:t/hsqldb/testdb at C:/strawberry/perl/site/lib/DBI.pm line 679.
# Failed test 'connected'
# at t/02_connect.t line 40.
t/02_connect.t .. 3/5 # Connection error: No suitable driver found for jdbc:hsqldb:file:t/hsqldb/testdb
# Make sure your CLASSPATH includes your JDBC driver.
# Looks like you failed 1 test of 5.
t/02_connect.t .. Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/5 subtests
(less 2 skipped subtests: 2 okay)
t/03_hsqldb.t ... 1/22 DBD::JDBC::dr connect warning: No suitable driver found for jdbc:hsqldb:file:t/hsqldb/testdb at C:/strawberry/perl/site/lib/DBI.pm line 679.
# Failed test 'connected'
# at t/03_hsqldb.t line 34.
t/03_hsqldb.t ... 2/22 # Connection error: No suitable driver found for jdbc:hsqldb:file:t/hsqldb/testdb
# Looks like your test exited with 1 just after 22.
t/03_hsqldb.t ... Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/22 subtests
(less 20 skipped subtests: 1 okay)
t/basis.t ....... skipped: BASIS URL not defined
t/oracle.t ...... skipped: Oracle URL not defined
Test Summary Report
-------------------
t/02_connect.t (Wstat: 256 Tests: 5 Failed: 1)
Failed test: 3
Non-zero exit status: 1
t/03_hsqldb.t (Wstat: 256 Tests: 22 Failed: 1)
Failed test: 2
Non-zero exit status: 1
Files=5, Tests=32, 7 wallclock secs ( 0.05 usr + 0.02 sys = 0.06 CPU)
Result: FAIL
Failed 2/5 test programs. 2/32 subtests failed.
gmake: *** [Makefile:780: test_dynamic] Error 255
VIZDOM/DBD-JDBC-0.71.tar.gz
C:\STRAWB~1\c\bin\gmake.exe test -- NOT OK
//hint// to see the cpan-testers results for installing this module, try:
reports VIZDOM/DBD-JDBC-0.71.tar.gz
Stopping: 'install' failed for 'DBD::JDBC'.
DBI is up to date (1.643).
After lot of fight I have found easy way to resolve this problem to install DBD::JDBC is to download this module as tar file : DBD-JDBC-0.71.tar from CPAN and navigate to path where Strawberry Perl is installed like C:\Strawberry\perl\vendor\lib\DBD and move all files from extracted tar to here . then JDBC should start working .

Trouble in installing Font::TTF module

I failed to install the module through cpan Font::TTF.
I'm on strawberry perl 5.24, windows 8 32bit.
C:\Users\user>cpan
Loading internal null logger. Install Log::Log4perl for logging messages
There seems to be running another CPAN process (pid 5860). Contacting...
Other job not responding. Shall I overwrite the lockfile 'C:\STRAWB~1\cpan\.lock
'? (Y/n) [y]
cpan shell -- CPAN exploration and modules installation (v2.11)
Enter 'h' for help.
cpan> o conf build_dir_reuse 0
build_dir_reuse [0]
commit: wrote 'C:\Strawberry\perl\lib/CPAN/Config.pm'
cpan> o conf commit
commit: wrote 'C:\Strawberry\perl\lib/CPAN/Config.pm'
cpan> exit
Lockfile removed.
C:\Users\user>cpan Font::TTF
Loading internal null logger. Install Log::Log4perl for logging messages
CPAN: CPAN::SQLite loaded ok (v0.211)
Database was generated on Fri, 15 Jul 2016 06:47:48 GMT
Running install for module 'Font::TTF'
CPAN: Digest::SHA loaded ok (v5.95)
CPAN: Compress::Zlib loaded ok (v2.069)
Checksum for C:\STRAWB~1\cpan\sources\authors\id\M\MH\MHOSKEN\Font-TTF- 1.05.tar.
gz ok
CPAN: Archive::Tar loaded ok (v2.06)
CPAN: File::Temp loaded ok (v0.2304)
CPAN: YAML::XS loaded ok (v0.62)
CPAN: CPAN::Meta::Requirements loaded ok (v2.140)
CPAN: Parse::CPAN::Meta loaded ok (v1.4417)
CPAN: CPAN::Meta loaded ok (v2.150005)
CPAN: Module::CoreList loaded ok (v5.20160507)
Configuring M/MH/MHOSKEN/Font-TTF-1.05.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Generating a dmake-style Makefile
Writing Makefile for Font::TTF
Writing MYMETA.yml and MYMETA.json
MHOSKEN/Font-TTF-1.05.tar.gz
C:\Strawberry\perl\bin\perl.exe Makefile.PL -- OK
Running make for M/MH/MHOSKEN/Font-TTF-1.05.tar.gz
MHOSKEN/Font-TTF-1.05.tar.gz
C:\STRAWB~1\c\bin\dmake.exe -- OK
Running make test
"C:\Strawberry\perl\bin\perl.exe" "-MExtUtils::Command::MM" "-MTest::Harness" "-
e" "undef *Test::Harness::Switches; test_harness(0, 'blib\lib', 'blib\arch')" t/
*.t
t/tags.t ..... Can't locate Font/TTF/OTTags.pm in #INC (you may need to install
the Font::TTF::OTTags module) (#INC contains: C:\STRAWB~1\cpan\build\Font-TTF-1.
05-8DWSyh\blib\lib C:\STRAWB~1\cpan\build\Font-TTF-1.05-8DWSyh\blib\arch C:/Stra
wberry/perl/site/lib C:/Strawberry/perl/vendor/lib C:/Strawberry/perl/lib .) at
t/tags.t line 5.
BEGIN failed--compilation aborted at t/tags.t line 5.
t/tags.t ..... Dubious, test returned 2 (wstat 512, 0x200)
Failed 6/6 subtests
t/ttfcopy.t .. Can't locate Font/TTF/Font.pm in #INC (you may need to install th
e Font::TTF::Font module) (#INC contains: C:\STRAWB~1\cpan\build\Font-TTF- 1.05-8
DWSyh\blib\lib C:\STRAWB~1\cpan\build\Font-TTF-1.05-8DWSyh\blib\arch C:/Strawber
ry/perl/site/lib C:/Strawberry/perl/vendor/lib C:/Strawberry/perl/lib .) at t/tt
fcopy.t line 5.
BEGIN failed--compilation aborted at t/ttfcopy.t line 5.
t/ttfcopy.t .. Dubious, test returned 2 (wstat 512, 0x200)
Failed 4/4 subtests
Test Summary Report
-------------------
t/tags.t (Wstat: 512 Tests: 0 Failed: 0)
Non-zero exit status: 2
Parse errors: Bad plan. You planned 6 tests but ran 0.
t/ttfcopy.t (Wstat: 512 Tests: 0 Failed: 0)
Non-zero exit status: 2
Parse errors: Bad plan. You planned 4 tests but ran 0.
Files=2, Tests=0, 1 wallclock secs ( 0.05 usr + 0.00 sys = 0.05 CPU)
Result: FAIL
Failed 2/2 test programs. 0/0 subtests failed.
dmake.exe: Error code 130, while making 'test_dynamic'
MHOSKEN/Font-TTF-1.05.tar.gz
C:\STRAWB~1\c\bin\dmake.exe test -- NOT OK
//hint// to see the cpan-testers results for installing this module, try:
reports MHOSKEN/Font-TTF-1.05.tar.gz
Stopping: 'install' failed for 'Font::TTF'.
C:\Users\user>
Jiang Bo, I was also getting the same problem with the latest Strawberry Perl version (5.24.0.1). I downgraded to 5.20.3.3 / 64bit and cpan installations work fine there.

cannot install Catalyst 5.9 on Windows 10

This is another attempt to be more direct with my question. I am having extreme difficult getting Strawberry Perl 5.22 64bit on Windows 10 ready for simple web development.
I first started with cpanm Catalyst::Devel and that failed to install a group of dependencies:
==> Found dependencies: Plack::Test, Plack::Builder, Plack::Middleware, Plack::Util
! Installing the dependencies failed: Module 'Plack::Test' is not installed, Module 'Plack::Middleware' is not installed, Module 'Plack::Builder' is not installed, Module 'Plack::Util' is not installed
! Bailing out the installation for Plack-Middleware-RemoveRedundantBody-0.05.
! Installing the dependencies failed: Module 'Plack::Middleware::IIS6ScriptNameFix' is not installed, Module 'Plack::Middleware::ContentLength' is not installed, Module 'Plack::Test::ExternalServer' is not installed, Module 'Plack::Middleware::HTTPExceptions' is not installed, Module 'Plack::Middleware::ReverseProxy' is not installed, Module 'Plack::Middleware::MethodOverride' is not installed, Module 'Plack::Request::Upload' is not installed, Module 'Plack::Middleware::FixMissingBodyInRedirect' is not installed, Module 'Plack::Middleware::LighttpdScriptNameFix' is not installed, Module 'Plack::Middleware::RemoveRedundantBody' is not installed, Module 'Plack::Middleware::Conditional' is not installed, Module 'Plack::Middleware::Head' is not installed, Module 'Plack' is not installed, Module 'Plack::Middleware::IIS7KeepAliveFix' is not installed
! Bailing out the installation for Catalyst-Runtime-5.90103.
And since Plack seemed to be a culprit I ran cpan Plack which led to this error report:
t/01_simple.t (Wstat: 65280 Tests: 2 Failed: 1)
Failed test: 2
Non-zero exit status: 255
Parse errors: No plan found in TAP output
t/11_net_empty_port.t (Wstat: 256 Tests: 4 Failed: 1)
Failed test: 4
Non-zero exit status: 1
Files=14, Tests=117, 87 wallclock secs ( 0.08 usr + 0.05 sys = 0.12 CPU)
Result: FAIL
Failed 2/14 test programs. 2/117 subtests failed.
dmake.exe: Error code 255, while making 'test_dynamic'
TOKUHIROM/Test-TCP-2.14.tar.gz
C:\STRAWB~1\c\bin\dmake.exe test -- NOT OK
//hint// to see the cpan-testers results for installing this module, try:
reports TOKUHIROM/Test-TCP-2.14.tar.gz
Stopping: 'install' failed for 'Test::TCP'.
This is output for cpan Test::TCP:
C:\Strawberry>cpan Test::TCP
Loading internal null logger. Install Log::Log4perl for logging messages
CPAN: CPAN::SQLite loaded ok (v0.211)
Database was generated on Thu, 14 Jan 2016 18:19:06 GMT
Running install for module 'Test::TCP'
CPAN: Digest::SHA loaded ok (v5.95)
CPAN: Compress::Zlib loaded ok (v2.069)
Checksum for C:\STRAWB~1\cpan\sources\authors\id\T\TO\TOKUHIROM\Test-TCP-2.14.tar.gz ok
CPAN: Archive::Tar loaded ok (v2.04)
CPAN: File::Temp loaded ok (v0.2304)
CPAN: YAML::XS loaded ok (v0.59)
CPAN: CPAN::Meta::Requirements loaded ok (v2.140)
CPAN: Parse::CPAN::Meta loaded ok (v1.4417)
CPAN: CPAN::Meta loaded ok (v2.150005)
CPAN: Module::CoreList loaded ok (v5.20151220)
Configuring T/TO/TOKUHIROM/Test-TCP-2.14.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Generating a dmake-style Makefile
Writing Makefile for Test::TCP
Writing MYMETA.yml and MYMETA.json
TOKUHIROM/Test-TCP-2.14.tar.gz
C:\Strawberry\perl\bin\perl.exe Makefile.PL -- OK
Running make for T/TO/TOKUHIROM/Test-TCP-2.14.tar.gz
cp lib/Test/TCP.pm blib\lib\Test\TCP.pm
cp lib/Test/TCP/CheckPort.pm blib\lib\Test\TCP\CheckPort.pm
cp lib/Net/EmptyPort.pm blib\lib\Net\EmptyPort.pm
TOKUHIROM/Test-TCP-2.14.tar.gz
C:\STRAWB~1\c\bin\dmake.exe -- OK
Running make test
"C:\Strawberry\perl\bin\perl.exe" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib\lib', 'blib\arch')" t/*.t
t/00_compile.t ................. 1/1 # Test::More: 1.001014
t/00_compile.t ................. ok
t/01_simple.t .................. 1/? cannot open port: ::1:51108 at C:\STRAWB~1\cpan\build\Test-TCP-2.14-tzPh8E\blib\lib/Test/TCP.pm line 54.
# Child (v6) exited without calling finalize()
# Failed test 'v6'
t/01_simple.t .................. 2/? # at C:/Strawberry/perl/lib/Test/Builder.pm line 279.
# Tests were run but no plan was declared and done_testing() was not seen.
# Looks like your test exited with 255 just after 2.
t/01_simple.t .................. Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 1/2 subtests
t/02_abrt.t .................... skipped: win32 doesn't support embedded function named dump()
t/03_return_when_sigterm.t ..... ok
t/04_die.t ..................... ok
t/05_sigint.t .................. skipped: this test requires SIGUSR1
t/06_nest.t .................... ok
t/07_optional.t ................ ok
t/08_exit.t .................... ok
t/09_fork.t .................... ok
t/10_oo.t ...................... ok
t/11_net_empty_port.t .......... 3/?
# Failed test 'port is open'
# at t/11_net_empty_port.t line 22.
# Looks like you failed 1 test of 4.
# Failed test 'v6'
t/11_net_empty_port.t .......... 4/? # at t/11_net_empty_port.t line 37.
# Looks like you failed 1 test of 4.
t/11_net_empty_port.t .......... Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/4 subtests
t/12_pass_wait_port_options.t .. ok
t/13_undef_port.t .............. ok
Test Summary Report
t/01_simple.t (Wstat: 65280 Tests: 2 Failed: 1)
Failed test: 2
Non-zero exit status: 255
Parse errors: No plan found in TAP output
t/11_net_empty_port.t (Wstat: 256 Tests: 4 Failed: 1)
Failed test: 4
Non-zero exit status: 1
Files=14, Tests=117, 88 wallclock secs ( 0.05 usr + 0.02 sys = 0.06 CPU)
Result: FAIL
Failed 2/14 test programs. 2/117 subtests failed.
dmake.exe: Error code 255, while making 'test_dynamic'
TOKUHIROM/Test-TCP-2.14.tar.gz
C:\STRAWB~1\c\bin\dmake.exe test -- NOT OK
//hint// to see the cpan-testers results for installing this module, try:
reports TOKUHIROM/Test-TCP-2.14.tar.gz
Stopping: 'install' failed for 'Test::TCP'.

Undefined subroutine Win32::MSgBox when trying to install Win32::Watir on Strawberry Perl

I am trying to install Win32::Watir on to a 64 bit machine via strawberry perl. I'm getting an error. This is a windows automation tool - so it should have be to be able to be installed on a windows machine via strawberry perl.
reports SHIMI/Win32-Watir-0.06-withoutworldwritebles.tar.gz
cpan> install Win32::Watir
Fetching with LWP:
http://cpan.strawberryperl.com/authors/01mailrc.txt.gz
Fetching with LWP:
http://cpan.strawberryperl.com/modules/02packages.details.txt.gz
Fetching with LWP:
http://cpan.strawberryperl.com/modules/03modlist.data.gz
Database was generated on Wed, 29 Jul 2015 22:17:00 GMT
Updating database file ...
Done!
Running install for module 'Win32::Watir'
Fetching with LWP:
http://cpan.strawberryperl.com/authors/id/S/SH/SHIMI/Win32-Watir-0.06-withoutworldwriteables.tar.gz
Fetching with LWP:
http://cpan.strawberryperl.com/authors/id/S/SH/SHIMI/CHECKSUMS
Checksum for C:\UBS\DEV\STRAWB~1\cpan\sources\authors\id\S\SH\SHIMI\Win32-Watir-0.06-withoutworldwriteables.tar.gz ok
Scanning cache C:\UBS\DEV\STRAWB~1\cpan\build for sizes
............................................................................DONE
Configuring S/SH/SHIMI/Win32-Watir-0.06-withoutworldwriteables.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Generating a dmake-style Makefile
Writing Makefile for Win32::Watir
Writing MYMETA.yml and MYMETA.json
SHIMI/Win32-Watir-0.06-withoutworldwriteables.tar.gz
C:\UBS\DEV\Strawberry\perl\bin\perl.exe Makefile.PL -- OK
Running make for S/SH/SHIMI/Win32-Watir-0.06-withoutworldwriteables.tar.gz
cp lib/Win32/Watir/Table.pm blib\lib\Win32\Watir\Table.pm
cp lib/Win32/Watir/AutoItX3.dll blib\lib\Win32\Watir\AutoItX3.dll
cp lib/Win32/Watir.pm blib\lib\Win32\Watir.pm
cp lib/Win32/Watir/AutoItX.chm blib\lib\Win32\Watir\AutoItX.chm
cp lib/Win32/Watir/AutoItX3_x64.dll blib\lib\Win32\Watir\AutoItX3_x64.dll
cp lib/Win32/Watir/Element.pm blib\lib\Win32\Watir\Element.pm
SHIMI/Win32-Watir-0.06-withoutworldwriteables.tar.gz
C:\UBS\DEV\STRAWB~1\c\bin\dmake.exe -- OK
Running make test
"C:\UBS\DEV\Strawberry\perl\bin\perl.exe" "-MExtUtils::Command::MM" "-MTest: :Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib\lib', 'blib\arch')" t/*.tt/01.IE_default.t .. 1/? DEBUG:_check_os_name(): Win7
Undefined subroutine &Win32::MSgBox called at
C:\UBS\DEV\STRAWB~\cpan\build\Win32-Watir-0.062RxegT\blib\lib/Win32/Watir.pm line 1370.
# Looks like your test exited with 255 just after 1.
t/01.IE_default.t .. Dubious, test returned 255 (wstat 65280, 0xff00)
All 1 subtests passed
Test Summary Report
-------------------
t/01.IE_default.t (Wstat: 65280 Tests: 1 Failed: 0)
Non-zero exit status: 255
Files=1, Tests=1, 2 wallclock secs ( 0.02 usr + 0.11 sys = 0.13 CPU)
Result: FAIL
Failed 1/1 test programs. 0/1 subtests failed.
dmake.exe: Error code 255, while making 'test_dynamic'
SHIMI/Win32-Watir-0.06-withoutworldwriteables.tar.gz
C:\UBS\DEV\STRAWB~1\c\bin\dmake.exe test -- NOT OK
//hint// to see the cpan-testers results for installing this module, try:
reports SHIMI/Win32-Watir-0.06-withoutworldwriteables.tar.gz
Stopping: 'install' failed for 'Win32::Watir'.
Failed during this command:
SHIMI/Win32-Watir-0.06-withoutworldwriteables.tar.gz: make_test NO
cpan> sudo install Win32::Watir
Unknown shell command 'sudo'. Type ? for help.
cpan>
The module calls Win32::MSgBox when it should have called Win32::MsgBox.

Installing perl switch using CPAN is failing

I pasted the output below (originally posted to http://pastebin.com/Sh7a8tHK)
cpan[1]> install Switch
Reading '/.cpan/Metadata'
Database was generated on Tue, 11 Dec 2012 05:55:05 GMT
Running install for module 'Switch'
Running make for R/RG/RGARCIA/Switch-2.16.tar.gz
Checksum for /.cpan/sources/authors/id/R/RG/RGARCIA/Switch-2.16.tar.gz ok
Scanning cache /.cpan/build for sizes
............................................................................DONE
CPAN.pm: Building R/RG/RGARCIA/Switch-2.16.tar.gz
Checking if your kit is complete...
Looks good
Writing Makefile for Switch
Writing MYMETA.yml and MYMETA.json
cp Switch.pm blib/lib/Switch.pm
Manifying blib/man3/Switch.3
RGARCIA/Switch-2.16.tar.gz
/usr/ccs/bin/make -- OK
Running make test
PERL_DL_NONLAZY=1 /opt/perl/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/given.t ... Useless use of numeric gt (>) in void context at t/given.t line 19.
t/given.t ... Failed 2/293 subtests
t/nested.t .. ok
t/switch.t .. ok
Test Summary Report
-------------------
t/given.t (Wstat: 0 Tests: 293 Failed: 2)
Failed tests: 2-3
Files=3, Tests=590, 1 wallclock secs ( 0.07 usr 0.01 sys + 0.47 cusr 0.00 csys = 0.55 CPU)
Result: FAIL
Failed 1/3 test programs. 2/590 subtests failed.
*** Error code 255
make: Fatal error: Command failed for target `test_dynamic'
RGARCIA/Switch-2.16.tar.gz
/usr/ccs/bin/make test -- NOT OK
//hint// to see the cpan-testers results for installing this module, try:
reports RGARCIA/Switch-2.16.tar.gz
Running make install
make test had returned bad status, won't install without force
Failed during this command:
RGARCIA/Switch-2.16.tar.gz : make_test NO
cpan[2]>
There seems to be a problem with the module as evidenced by "Useless use of numeric gt.....", however I installed this module fine on a different machine using CPAN. This is the only module CPAN is complaining about when installing.
I am using the latest version of perl 5.16:
This is perl 5, version 16, subversion 2 (v5.16.2) built for i86pc-solaris
How can I install this module?
NOTE: Please do not tell me Switch is deprecated. I understand that.
Try doing this :
use feature qw/switch/;
See
perldoc -q switch
Refer to The Effective Perler article Use for() instead of given() if you're OK to use Perl v5.10 or later.
Patch:
--- Switch-2.16-wjgfvU/Switch.pm 2009-10-23 00:52:51.000000000 -0700
+++ Switch-2.16-wjgfvUcopy/Switch.pm 2010-08-15 17:41:38.000000000 -0700
## -146,7 +146,7 ## sub filter_blocks
die "Bad $keyword statement (problem in the code block?) near $Switch::file line ", line(substr($source,0, pos $source), $line), "\n";
};
my $code = filter_blocks(substr($source,$pos[0],$pos[4]-$pos[0]),line(substr($source,0,$pos[0]),$line));
- $code =~ s/{/{ local \$::_S_W_I_T_C_H; Switch::switch $arg;/;
+ $code =~ s/{/{ local \$::_S_W_I_T_C_H; Switch::switch($arg);/;
$text .= $code . 'continue {last}';
next component;
}