Given It's Tuesday, so it must be the day for Trouble With Cpan, I am not convinced you have your Strawberry Perl build environment setup correctly yet with the standard cpan client.
When you say you ran the make step, to be clear, did you mean you used some other make like the cygwin make in the other conversation, or are you 100% certain you are using the gmake from Strawberry Perl?
Instead of using the standard client, with Strawberry, I've always used cpanm , because it's always "just worked" for me -- the builds are reliable, and there are no extra steps needed.
To give more details, I will use the cpanm-enabled version of the "standard incantation": cpanm --look Win32::Exe
perl Makefile.PL
gmake
gmake test
The --look puts me into the download-and-build directory, so I can manually run the other steps. Otherwise, cpanm Win32::Exe would have just built and installed the module for me, without any difficulty, and without having to remember which make/dmake/gmake to use (there was some confusion briefly when Strawberry switched from dmake to gmake, but it's been highly consistent since then, and I doubt that will change again anytime soon), or any such thing.
That incantation builds and tests just fine for me, as seen in the spoiler below. Since you chose not to share the other information from your build, which may have given more clues as to your problem, I will just say "make sure your build environment is right and you are using the right executables; especially check to make sure that you are running the Strawberry Perl versions of various executables rather than something in your cygwin setup; where cpan and where cpanm and where gmake and the like are your friend."
c:>cpanm --look Win32::Exe
C:\usr\local\apps\STRAWB~1\data\.cpanm\work\1749071531.14660\Win32-Exe
+-0.17>perl Makefile.PL
Checking if your kit is complete...
Looks good
Writing MYMETA.yml and MYMETA.json
Generating a gmake-style Makefile
Writing Makefile for Win32::Exe
Writing MYMETA.yml and MYMETA.json
C:\usr\local\apps\STRAWB~1\data\.cpanm\work\1749071531.14660\Win32-Exe
+-0.17>gmake
cp lib/Win32/Exe/Resource/Version.pm blib\lib\Win32\Exe\Resource\Versi
+on.pm
cp lib/Win32/Exe/DebugTable.pm blib\lib\Win32\Exe\DebugTable.pm
cp lib/Win32/Exe/InsertResourceSection.pm blib\lib\Win32\Exe\InsertRes
+ourceSection.pm
cp lib/Win32/Exe/DebugDirectory.pm blib\lib\Win32\Exe\DebugDirectory.p
+m
cp lib/Win32/Exe/Manifest/Parser.pm blib\lib\Win32\Exe\Manifest\Parser
+.pm
cp lib/Win32/Exe/PE.pm blib\lib\Win32\Exe\PE.pm
cp lib/Win32/Exe/Resource/Icon.pm blib\lib\Win32\Exe\Resource\Icon.pm
cp lib/Win32/Exe.pm blib\lib\Win32\Exe.pm
cp lib/Win32/Exe/Resource/Manifest.pm blib\lib\Win32\Exe\Resource\Mani
+fest.pm
cp lib/Win32/Exe/PE/Header/PE32.pm blib\lib\Win32\Exe\PE\Header\PE32.p
+m
cp lib/Win32/Exe/Base.pm blib\lib\Win32\Exe\Base.pm
cp lib/Win32/Exe/DataDirectory.pm blib\lib\Win32\Exe\DataDirectory.pm
cp lib/Win32/Exe/Manifest.pm blib\lib\Win32\Exe\Manifest.pm
cp lib/Win32/Exe/ResourceData.pm blib\lib\Win32\Exe\ResourceData.pm
cp lib/Win32/Exe/PE/Header/PE32Plus.pm blib\lib\Win32\Exe\PE\Header\PE
+32Plus.pm
cp lib/Win32/Exe/Resource/GroupIcon.pm blib\lib\Win32\Exe\Resource\Gro
+upIcon.pm
cp lib/Win32/Exe/PE/Header.pm blib\lib\Win32\Exe\PE\Header.pm
cp lib/Win32/Exe/Resource.pm blib\lib\Win32\Exe\Resource.pm
cp lib/Win32/Exe/IconFile.pm blib\lib\Win32\Exe\IconFile.pm
cp lib/Win32/Exe/Section/Debug.pm blib\lib\Win32\Exe\Section\Debug.pm
cp lib/Win32/Exe/Section.pm blib\lib\Win32\Exe\Section.pm
cp lib/Win32/Exe/ResourceTable.pm blib\lib\Win32\Exe\ResourceTable.pm
cp lib/Win32/Exe/ResourceEntry/Name.pm blib\lib\Win32\Exe\ResourceEntr
+y\Name.pm
cp lib/Win32/Exe/ResourceEntry.pm blib\lib\Win32\Exe\ResourceEntry.pm
cp lib/Win32/Exe/ResourceEntry/Id.pm blib\lib\Win32\Exe\ResourceEntry\
+Id.pm
cp lib/Win32/Exe/Section/Resources.pm blib\lib\Win32\Exe\Section\Resou
+rces.pm
cp lib/Win32/Exe/Section/Code.pm blib\lib\Win32\Exe\Section\Code.pm
cp lib/Win32/Exe/Section/Imports.pm blib\lib\Win32\Exe\Section\Imports
+.pm
cp lib/Win32/Exe/Section/Exports.pm blib\lib\Win32\Exe\Section\Exports
+.pm
cp lib/Win32/Exe/Section/Data.pm blib\lib\Win32\Exe\Section\Data.pm
gmake[1]: Entering directory 'C:/usr/local/apps/STRAWB~1/data/.cpanm/w
+ork/1749071531.14660/Win32-Exe-0.17/insert'
Running Mkbootstrap for InsertResourceSection ()
"C:\usr\local\apps\strawberry\perl\bin\perl.exe" -MExtUtils::Command -
+e chmod -- 644 "InsertResourceSection.bs"
"C:\usr\local\apps\strawberry\perl\bin\perl.exe" -MExtUtils::Command::
+MM -e cp_nonempty -- InsertResourceSection.bs ..\blib\arch\auto\Win32
+\Exe\InsertResourceSection\InsertResourceSection.bs 644
"C:\usr\local\apps\strawberry\perl\bin\perl.exe" "C:\usr\local\apps\st
+rawberry\perl\lib\ExtUtils/xsubpp" -typemap C:\usr\local\apps\strawb
+erry\perl\lib\ExtUtils\typemap -typemap C:\usr\local\apps\STRAWB~1\da
+ta\.cpanm\work\1749071531.14660\Win32-Exe-0.17\insert\typemap Insert
+ResourceSection.xs > InsertResourceSection.xsc
"C:\usr\local\apps\strawberry\perl\bin\perl.exe" -MExtUtils::Command -
+e mv -- InsertResourceSection.xsc InsertResourceSection.c
gcc -c -std=c99 -DWIN32 -DWIN64 -DPERL_TEXTMODE_SCRIPTS -DMULTIPLICI
+TY -DPERL_IMPLICIT_SYS -DUSE_PERLIO -D__USE_MINGW_ANSI_STDIO -fwrapv
+-fno-strict-aliasing -mms-bitfields -Os -falign-functions -falign-jum
+ps -falign-labels -falign-loops -freorder-blocks -freorder-blocks-alg
+orithm=stc -freorder-blocks-and-partition -DVERSION=\"0.17\" -DXS_V
+ERSION=\"0.17\" "-IC:\usr\local\apps\strawberry\perl\lib\CORE" Ins
+ertResourceSection.c
"C:\usr\local\apps\strawberry\perl\bin\perl.exe" -MExtUtils::Mksymlist
+s \
-e "Mksymlists('NAME'=>\"Win32::Exe::InsertResourceSection\", 'DL
+BASE' => 'InsertResourceSection', 'DL_FUNCS' => { }, 'FUNCLIST' => [
+], 'IMPORTS' => { }, 'DL_VARS' => []);"
g++.exe InsertResourceSection.def -o ..\blib\arch\auto\Win32\Exe\Inser
+tResourceSection\InsertResourceSection.xs.dll -mdll -s -L"C:\usr\loca
+l\apps\strawberry\perl\lib\CORE" -L"C:\usr\local\apps\strawberry\c\li
+b" InsertResourceSection.o "C:\usr\local\apps\strawberry\perl\lib\C
+ORE\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:\usr\local\apps\strawberry\perl\bin\perl.exe" -MExtUtils::Command -
+e chmod -- 755 ..\blib\arch\auto\Win32\Exe\InsertResourceSection\Inse
+rtResourceSection.xs.dll
gmake[1]: Leaving directory 'C:/usr/local/apps/STRAWB~1/data/.cpanm/wo
+rk/1749071531.14660/Win32-Exe-0.17/insert'
"C:\usr\local\apps\strawberry\perl\bin\perl.exe" -MExtUtils::Command -
+e cp -- script/exe_update.pl blib\script\exe_update.pl
pl2bat.bat blib\script\exe_update.pl
C:\usr\local\apps\STRAWB~1\data\.cpanm\work\1749071531.14660\Win32-Exe
+-0.17>gmake test
gmake[1]: Entering directory 'C:/usr/local/apps/STRAWB~1/data/.cpanm/w
+ork/1749071531.14660/Win32-Exe-0.17/insert'
"C:\usr\local\apps\strawberry\perl\bin\perl.exe" -MExtUtils::Command::
+MM -e cp_nonempty -- InsertResourceSection.bs ..\blib\arch\auto\Win32
+\Exe\InsertResourceSection\InsertResourceSection.bs 644
gmake[1]: Leaving directory 'C:/usr/local/apps/STRAWB~1/data/.cpanm/wo
+rk/1749071531.14660/Win32-Exe-0.17/insert'
gmake[1]: Entering directory 'C:/usr/local/apps/STRAWB~1/data/.cpanm/w
+ork/1749071531.14660/Win32-Exe-0.17/insert'
"C:\usr\local\apps\strawberry\perl\bin\perl.exe" -MExtUtils::Command::
+MM -e cp_nonempty -- InsertResourceSection.bs ..\blib\arch\auto\Win32
+\Exe\InsertResourceSection\InsertResourceSection.bs 644
"C:\usr\local\apps\strawberry\perl\bin\perl.exe" "-MExtUtils::Command:
+:MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_har
+ness(0, '..\blib\lib', '..\blib\arch')" t/*.t
t/0-load.t ... ok
t/1-basic.t .. ok
All tests successful.
Files=2, Tests=2, 3 wallclock secs ( 0.01 usr + 0.00 sys = 0.01 CPU
+)
Result: PASS
gmake[1]: Leaving directory 'C:/usr/local/apps/STRAWB~1/data/.cpanm/wo
+rk/1749071531.14660/Win32-Exe-0.17/insert'
"C:\usr\local\apps\strawberry\perl\bin\perl.exe" "-MExtUtils::Command:
+:MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_har
+ness(0, 'blib\lib', 'blib\arch')" t/*.t
t/0-pod.t ......... ok
t/1-basic.t ....... ok
t/2-icon.t ........ ok
t/3-manifest.t .... ok
t/4-execupdate.t .. ok
All tests successful.
Files=5, Tests=284, 3 wallclock secs ( 0.03 usr + 0.01 sys = 0.05 C
+PU)
Result: PASS
| [reply] [d/l] [select] |
pryrt wrote:
Given It's Tuesday, so it must be the day for Trouble With Cpan, I am not convinced you have your Strawberry Perl build environment setup correctly yet with the standard cpan client. When you say you ran the make step, to be clear, did you mean you used some other make like the cygwin make in the other conversation, or are you 100% certain you are using the gmake from Strawberry Perl?
Instead of using the standard client, with Strawberry, I've always used cpanm , because it's always "just worked" for me -- the builds are reliable, and there are no extra steps needed.
I can assure you all that I have the right 'make' now, after
the debacle with "It's Tuesday, ..." ;-). When I said the make step I was
speaking generically, what I actually typed was gmake. And I went through my
Config.pm for CPAN to see that the options were set right for
portable Strawberry v5.40.2 on my USB drive.
But your instincts were working fine. I ignored the .bat file that comes with
portable Strawberry after taking a brief glance at it, and what I hadn't fixed was
$PATH. I was working in a cygwin bash shell in a
terminal emulator instead of being dropped into a CMD shell,
with appropriate shell variables set, by the bat file. Long story shortened: that was
cygwin's gcc running into trouble, not Strawberry's.
Your reply really helped me out and I successfully built Win32::Exe, 100% tests ok,
and I think I am going to be having some clear sailing now (at least until the next
time I do something foolish).
Jun 05, 2025 at 00:56 UTC
A just machine to make big decisions
Programmed by fellows (and gals) with compassion and vision
We'll be clean when their work is done
We'll be eternally free yes, and eternally young
Donald Fagen —> I.G.Y.
(Slightly modified for inclusiveness)
| [reply] |