develooper Front page | perl.perl5.porters | Postings from February 2018

[perl #128438] [Win32] 5.25.2 fails to build in ListUtil.xs

bulk88 via RT
February 18, 2018 17:13
[perl #128438] [Win32] 5.25.2 fails to build in ListUtil.xs
Message ID:
On Wed, 27 Jul 2016 21:47:22 -0700, tonyc wrote:
> I've applied my original patch that re-instates building ppport.h as
> 8657e86b4fb3c8cf23a0c23b7093dda2e79b462b.
> Tony

In june 2016/july 2016 was commited which added back making a real ppport.h for win32 Perl. Around that time, I submitted but it took 6 months before the maintainer merged it (Dec 2016). That new SLU with the -DUSE_PPPORT_H was merged to blead in June 2017 so commit "(perl #128438) build ppport.h instead of using a dummy file" which was made as an emergency fix can now be reverted now . My problem with reinstating full ppport.h is now perl52*.dll is rebuilt/recompiled every time make is called on that dep.

I ran "C:\perl521\src\win32>dmake -P2  CCTYPE=MSVC70 ..\perl527.dll" once then ran it again.
C:\perl521\src\win32>dmake -P2  CCTYPE=MSVC70 ..\perl527.dll
..\miniperl.exe -I..\lib ..\mkppport
running "C:\perl521\src\miniperl.exe" -I..\..\lib PPPort_pm.PL
including ppphdoc
including ppphbin
including version
including threads
including limits
including uv
including memory
including magic
including misc
including format
including mess
including variables
including mPUSH
including call
including newRV
including newCONSTSUB
including MY_CXT
including SvREFCNT
including newSV_type
including newSVpv
including SvPV
including Sv_set
including sv_xpvf
including shared_pv
including HvNAME
including gv
including warn
including pvs
including cop
including grok
including snprintf
including sprintf
including exception
including strlfuncs
including pv_tools
running "C:\perl521\src\miniperl.exe" -I..\..\lib ppport_h.PL
ppport.h in cpan/DB_File is up-to-date
ppport.h in cpan/IPC-SysV is up-to-date
ppport.h in cpan/Scalar-List-Utils is up-to-date
ppport.h in cpan/Win32API-File is up-to-date
ppport.h in dist/PathTools is up-to-date
ppport.h in dist/Time-HiRes is up-to-date
removing temporary file
removing temporary file ppport.h
..\miniperl.exe -I..\lib ..\ "MAKE=dmake" --dir=..\cpan --dir=..\dist
 --dir=..\ext --static
..\miniperl.exe -I..\lib > Extensions_static
link -dll -out:..\perl527.dll -subsystem:console -nologo -nodefaultlib -debug -o
pt:ref,icf -ltcg                -libpath:"c:\perl\lib\CORE"             -machine
:x86 \
            @Extensions_static \
if exist ..\perl527.dll.manifest mt -nologo -manifest ..\perl527.dll.manifest -o
utputresource:..\perl527.dll;2 &&                 if exist ..\perl527.dll.manife
st del ..\perl527.dll.manifest
Generating code
Finished generating code


So working on core takes more time on rebuilds. If I revert "(perl #128438) build ppport.h instead of using a dummy file" perl52*.dll isn't rebuilt.
C:\perl521\src\win32>gmake   CCTYPE=MSVC70 ..\perl527.dll
..\miniperl.exe -I..\lib ..\ "MAKE=gmake" --dir=..\ext --dir=..\dist
--dynaloader lib
gmake[1]: Entering directory 'C:/perl521/src/dist/lib'
gmake[1]: Leaving directory 'C:/perl521/src/dist/lib'
gmake[1]: Entering directory 'C:/perl521/src/ext/DynaLoader'
gmake[1]: Leaving directory 'C:/perl521/src/ext/DynaLoader'


Problem is that psuedo target "MakePPPort" can't be satisfied on disk which means all dependents will reexecute/rebuild every time. The old way I had it with a fake ppport.h made libperl satisfiable on disk.

I think this ticket should be reopened. Or do I just submit a revert patch now that an updated SLU is in blead?

bulk88 ~ bulk88 at

via perlbug:  queue: perl5 status: resolved Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About