pplu / aws-sdk-perl

A community AWS SDK for Perl Programmers
Other
171 stars 94 forks source link

Making Paws goes into infinite loop on Windows / Strawberry Perl #441

Open wjens opened 2 weeks ago

wjens commented 2 weeks ago

I'm using the latest version of Strawberry Perl on Windows 2019.

C:\MOD>perl -v

This is perl 5, version 40, subversion 0 (v5.40.0) built for MSWin32-x64-multi-thread

When making Paws, it gets hung up on Ref::Util::XS. I can't tell if this is a Paws problems or a Ref::Util::XS problem.

cpan> make Paws
Database was generated on Mon, 21 Oct 2024 15:07:08 GMT
Running make for module 'Paws'
Checksum for C:\STRAWB~1\cpan\sources\authors\id\J\JR\JROBINSON\Paws-0.46.tar.gz ok
Scanning cache C:\STRAWB~1\cpan\build for sizes
......................------------------------------------------------------DONE
DEL(1/27): C:\STRAWB~1\cpan\build\MIME-Lite-3.033-0
DEL(2/27): C:\STRAWB~1\cpan\build\MIME-Lite-3.033-0.yml
DEL(3/27): C:\STRAWB~1\cpan\build\Config-IniFiles-3.000003-0
DEL(4/27): C:\STRAWB~1\cpan\build\Config-IniFiles-3.000003-0.yml
DEL(5/27): C:\STRAWB~1\cpan\build\Switch-2.17-0
DEL(6/27): C:\STRAWB~1\cpan\build\Switch-2.17-0.yml
DEL(7/27): C:\STRAWB~1\cpan\build\Win32-IPC-1.11-0
DEL(8/27): C:\STRAWB~1\cpan\build\Win32-IPC-1.11-0.yml
DEL(9/27): C:\STRAWB~1\cpan\build\Crypt-Curve25519-0.07-0
DEL(10/27): C:\STRAWB~1\cpan\build\Crypt-Curve25519-0.07-0.yml
DEL(11/27): C:\STRAWB~1\cpan\build\Crypt-IDEA-1.10-0
DEL(12/27): C:\STRAWB~1\cpan\build\Crypt-IDEA-1.10-0.yml
DEL(13/27): C:\STRAWB~1\cpan\build\CryptX-0.084-0
DEL(14/27): C:\STRAWB~1\cpan\build\CryptX-0.084-0.yml
DEL(15/27): C:\STRAWB~1\cpan\build\Digest-BubbleBabble-0.02-0
DEL(16/27): C:\STRAWB~1\cpan\build\Digest-BubbleBabble-0.02-0.yml
DEL(17/27): C:\STRAWB~1\cpan\build\String-CRC32-2.100-0
DEL(18/27): C:\STRAWB~1\cpan\build\String-CRC32-2.100-0.yml
DEL(19/27): C:\STRAWB~1\cpan\build\Net-SSH-Perl-2.142-0
DEL(20/27): C:\STRAWB~1\cpan\build\Net-SSH-Perl-2.142-0.yml
DEL(21/27): C:\STRAWB~1\cpan\build\Net-SFTP-0.12-0
DEL(22/27): C:\STRAWB~1\cpan\build\Net-SFTP-0.12-0.yml
DEL(23/27): C:\STRAWB~1\cpan\build\IniConf-1.03-0
DEL(24/27): C:\STRAWB~1\cpan\build\IniConf-1.03-0.yml
DEL(25/27): C:\STRAWB~1\cpan\build\Regexp-IPv6-0.03-0
DEL(26/27): C:\STRAWB~1\cpan\build\Regexp-IPv6-0.03-0.yml
DEL(27/27): C:\STRAWB~1\cpan\build\Paws-0.46-0.yml
Configuring J/JR/JROBINSON/Paws-0.46.tar.gz with Build.PL
Creating new 'Build' script for 'Paws' version '0.46'
  JROBINSON/Paws-0.46.tar.gz
  C:\Strawberry\perl\bin\perl.exe Build.PL -- OK
Running Build for J/JR/JROBINSON/Paws-0.46.tar.gz
---- Unsatisfied dependencies detected during ----
----        JROBINSON/Paws-0.46.tar.gz        ----
    ARGV::Struct [requires]
    Browser::Open [requires,optional]
    Class::Unload [build_requires]
    Config::AWS [requires]
    Data::Compare [requires]
    DataStruct::Flat [requires]
    DateTime::Format::ISO8601 [requires]
    MooseX::Getopt [requires]
    Net::Amazon::Signature::V4 [requires]
    Test::Timer [build_requires]
    URI::Template [requires]
    URL::Encode [requires]
    URL::Encode::XS [requires]
Running make for module 'ARGV::Struct'
Checksum for C:\STRAWB~1\cpan\sources\authors\id\J\JL\JLMARTIN\ARGV-Struct-0.06.tar.gz ok
Configuring J/JL/JLMARTIN/ARGV-Struct-0.06.tar.gz with Makefile.PL
Generating a gmake-style Makefile
Writing Makefile for ARGV::Struct
Writing MYMETA.yml and MYMETA.json
  JLMARTIN/ARGV-Struct-0.06.tar.gz
  C:\Strawberry\perl\bin\perl.exe Makefile.PL -- OK
Running make for J/JL/JLMARTIN/ARGV-Struct-0.06.tar.gz
cp lib/ARGV/Struct.pm blib\lib\ARGV\Struct.pm
"C:\Strawberry\perl\bin\perl.exe" -MExtUtils::Command -e cp -- bin/argvstruct blib\script\argvstruct
pl2bat.bat blib\script\argvstruct
  JLMARTIN/ARGV-Struct-0.06.tar.gz
  C:\STRAWB~1\c\bin\gmake.exe -- OK
Running test for module 'Class::Unload'
Checksum for C:\STRAWB~1\cpan\sources\authors\id\I\IL\ILMARI\Class-Unload-0.11.tar.gz ok
Configuring I/IL/ILMARI/Class-Unload-0.11.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Generating a gmake-style Makefile
Writing Makefile for Class::Unload
Writing MYMETA.yml and MYMETA.json
  ILMARI/Class-Unload-0.11.tar.gz
  C:\Strawberry\perl\bin\perl.exe Makefile.PL -- OK
Running make for I/IL/ILMARI/Class-Unload-0.11.tar.gz
cp lib/Class/Unload.pm blib\lib\Class\Unload.pm
  ILMARI/Class-Unload-0.11.tar.gz
  C:\STRAWB~1\c\bin\gmake.exe -- OK
Running make test for ILMARI/Class-Unload-0.11.tar.gz
"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-load.t .............. 1/? # Testing Class::Unload 0.11, Perl 5.040000, C:\Strawberry\perl\bin\perl.exe
t/00-load.t .............. ok
t/01-unload.t ............ ok
t/02-inheritance.t ....... ok
t/03-moose.t ............. ok
t/author-eol.t ........... skipped: these tests are for testing by the author
t/author-no-tabs.t ....... skipped: these tests are for testing by the author
t/author-pod-coverage.t .. skipped: these tests are for testing by the author
t/author-pod-syntax.t .... skipped: these tests are for testing by the author
All tests successful.
Files=8, Tests=26,  3 wallclock secs ( 0.06 usr +  0.06 sys =  0.13 CPU)
Result: PASS
Lockfile removed.
  ILMARI/Class-Unload-0.11.tar.gz
  C:\STRAWB~1\c\bin\gmake.exe test -- OK
Running make for module 'Config::AWS'
Checksum for C:\STRAWB~1\cpan\sources\authors\id\J\JJ\JJATRIA\Config-AWS-0.12.tar.gz ok
Configuring J/JJ/JJATRIA/Config-AWS-0.12.tar.gz with Build.PL
Creating new 'Build' script for 'Config-AWS' version '0.12'
  JJATRIA/Config-AWS-0.12.tar.gz
  C:\Strawberry\perl\bin\perl.exe Build.PL -- OK
Running Build for J/JJ/JJATRIA/Config-AWS-0.12.tar.gz
---- Unsatisfied dependencies detected during ----
----      JJATRIA/Config-AWS-0.12.tar.gz      ----
    Ref::Util [requires]
Running make for module 'Ref::Util'
Checksum for C:\STRAWB~1\cpan\sources\authors\id\A\AR\ARC\Ref-Util-0.204.tar.gz ok
Configuring A/AR/ARC/Ref-Util-0.204.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Warning: prerequisite Ref::Util::XS 0 not found.
Generating a gmake-style Makefile
Writing Makefile for Ref::Util
Writing MYMETA.yml and MYMETA.json
  ARC/Ref-Util-0.204.tar.gz
  C:\Strawberry\perl\bin\perl.exe Makefile.PL -- OK
Running make for A/AR/ARC/Ref-Util-0.204.tar.gz
---- Unsatisfied dependencies detected during ----
----         ARC/Ref-Util-0.204.tar.gz        ----
    Ref::Util::XS [requires]
Running make for module 'Ref::Util::XS'
Checksum for C:\STRAWB~1\cpan\sources\authors\id\X\XS\XSAWYERX\Ref-Util-XS-0.117.tar.gz ok
Configuring X/XS/XSAWYERX/Ref-Util-XS-0.117.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Generating a gmake-style Makefile
Writing Makefile for Ref::Util::XS
Writing MYMETA.yml and MYMETA.json
  XSAWYERX/Ref-Util-XS-0.117.tar.gz
  C:\Strawberry\perl\bin\perl.exe Makefile.PL -- OK
Running make for X/XS/XSAWYERX/Ref-Util-XS-0.117.tar.gz
cp lib/Ref/Util/XS.pm blib\lib\Ref\Util\XS.pm
Running Mkbootstrap for XS ()
"C:\Strawberry\perl\bin\perl.exe" -MExtUtils::Command -e chmod -- 644 "XS.bs"
"C:\Strawberry\perl\bin\perl.exe" -MExtUtils::Command::MM -e cp_nonempty -- XS.bs blib\arch\auto\Ref\Util\XS\XS.bs 644
"C:\Strawberry\perl\bin\perl.exe" "C:\Strawberry\perl\lib\ExtUtils/xsubpp"  -typemap C:\STRAWB~1\perl\lib\ExtUtils\typemap  XS.xs > XS.xsc
"C:\Strawberry\perl\bin\perl.exe" -MExtUtils::Command -e mv -- XS.xsc XS.c
gcc -c   -std=c99 -DWIN32 -DWIN64 -DPERL_TEXTMODE_SCRIPTS -DMULTIPLICITY -DPERL_IMPLICIT_SYS -DUSE_PERLIO -D__USE_MINGW_ANSI_STDIO -fwrapv -fno-strict-aliasing -mms-bitfields -Os -falign-functions -falign-jumps -falign-labels -falign-loops -freorder-blocks -freorder-blocks-algorithm=stc -freorder-blocks-and-partition   -DVERSION=\"0.117\" -DXS_VERSION=\"0.117\"  "-IC:\STRAWB~1\perl\lib\CORE"   XS.c
In file included from XS.xs:7:
ppport.h:4594: warning: "WIDEST_UTYPE" redefined
 4594 | #  define WIDEST_UTYPE U64TYPE
      |
In file included from C:\STRAWB~1\perl\lib\CORE/perl.h:3326,
                 from XS.xs:3:
C:\STRAWB~1\perl\lib\CORE/handy.h:1422: note: this is the location of the previous definition
 1422 | #define WIDEST_UTYPE PERL_UINTMAX_T
      |
"C:\Strawberry\perl\bin\perl.exe" -MExtUtils::Mksymlists \
     -e "Mksymlists('NAME'=>\"Ref::Util::XS\", 'DLBASE' => 'XS', 'DL_FUNCS' => {  }, 'FUNCLIST' => [], 'IMPORTS' => {  }, 'DL_VARS' => []);"
g++ XS.def -o blib\arch\auto\Ref\Util\XS\XS.xs.dll -shared -s -L"C:\STRAWB~1\perl\lib\CORE" -L"C:\STRAWB~1\c\lib" -L"C:\STRAWB~1\c\x86_64-w64-mingw32\lib" -L"C:\STRAWB~1\c\lib\gcc\x86_64-w64-mingw32\13.2.0" XS.o   "C:\STRAWB~1\perl\lib\CORE\libperl540.a" -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 -Wl,--enable-auto-image-base
"C:\Strawberry\perl\bin\perl.exe" -MExtUtils::Command -e chmod -- 755 blib\arch\auto\Ref\Util\XS\XS.xs.dll
  XSAWYERX/Ref-Util-XS-0.117.tar.gz
  C:\STRAWB~1\c\bin\gmake.exe -- OK
  ARC/Ref-Util-0.204.tar.gz
  Has already been unwrapped into directory C:\STRAWB~1\cpan\build\Ref-Util-0.204-1
  ARC/Ref-Util-0.204.tar.gz
  Has already been prepared
Running make for A/AR/ARC/Ref-Util-0.204.tar.gz
---- Unsatisfied dependencies detected during ----
----         ARC/Ref-Util-0.204.tar.gz        ----
    Ref::Util::XS [requires]
Running make for module 'Ref::Util::XS'
  XSAWYERX/Ref-Util-XS-0.117.tar.gz
  Has already been unwrapped into directory C:\STRAWB~1\cpan\build\Ref-Util-XS-0.117-1
  XSAWYERX/Ref-Util-XS-0.117.tar.gz
  Has already been prepared
  XSAWYERX/Ref-Util-XS-0.117.tar.gz
  Has already been made
  ARC/Ref-Util-0.204.tar.gz
  Has already been unwrapped into directory C:\STRAWB~1\cpan\build\Ref-Util-0.204-1
  ARC/Ref-Util-0.204.tar.gz
  Has already been prepared
Running make for A/AR/ARC/Ref-Util-0.204.tar.gz
---- Unsatisfied dependencies detected during ----
----         ARC/Ref-Util-0.204.tar.gz        ----
    Ref::Util::XS [requires]
Running make for module 'Ref::Util::XS'
  XSAWYERX/Ref-Util-XS-0.117.tar.gz
  Has already been unwrapped into directory C:\STRAWB~1\cpan\build\Ref-Util-XS-0.117-1
  XSAWYERX/Ref-Util-XS-0.117.tar.gz
  Has already been prepared
  XSAWYERX/Ref-Util-XS-0.117.tar.gz
  Has already been made
  ARC/Ref-Util-0.204.tar.gz
  Has already been unwrapped into directory C:\STRAWB~1\cpan\build\Ref-Util-0.204-1
  ARC/Ref-Util-0.204.tar.gz
  Has already been prepared
Grinnz commented 2 weeks ago

Neither; it is an installation issue. Ref::Util::XS installation completed successfully, but CPAN.pm does not then detect it to satisfy the dependency of Ref::Util. You may wish to contact a general Perl support channel to debug why the installation is not recognized; the first thing I would try is to install another module and see if CPAN.pm then recognizes it's installed, or if it is specifically an issue recognizing Ref::Util::XS; I suspect it is a more general issue in your case. Another option is to try installing with cpanm, which I believe strawberry perl includes or can otherwise be downloaded in a single script from https://cpanmin.us.