develooper Front page | perl.perl5.porters | Postings from September 2019

[perl #134406] pod2usage and podchecker not being built onWin32/MSVC 2019

Thread Previous
From:
Tony Cook
Date:
September 5, 2019 02:06
Subject:
[perl #134406] pod2usage and podchecker not being built onWin32/MSVC 2019
Message ID:
rt-4.0.24-6323-1567649167-165.134406-75-0@perl.org
# New Ticket Created by  Tony Cook 
# Please include the string:  [perl #134406]
# in the subject line of all future correspondence about this issue. 
# <URL: https://rt.perl.org/Ticket/Display.html?id=134406 >



This is a bug report for perl from tony@develop-help.com,
generated with the help of perlbug 1.41 running under perl 5.31.4.


-----------------------------------------------------------------
[Please describe your issue here]

Ever since I switched to windows 10 and MSVC 2019 I've had a problem
where test_porting would fail, complaining about missing pod2usage
and podchecker:

porting/dual-life.t ....... 1/? # Failed test 11 - Verify -f '../cpan/Pod-Checker/podchecker' at porting/dual-life.t line 70
# Failed test 12 - Verify -f '../cpan/Pod-Usage/pod2usage' at porting/dual-life.t line 70
porting/dual-life.t ....... Failed 2/18 subtests
porting/exec-bit.t ........ skipped: -x on MSWin32 only indicates file has executable suffix. Try Cygwin?
porting/extrefs.t ......... ok
porting/filenames.t ....... ok
porting/FindExt.t ......... ok
porting/globvar.t ......... skipped: Code to read symbols not ported to MSWin32
porting/libperl.t ......... skipped: no libperl.a
porting/maintainers.t ..... ok
porting/manifest.t ........ ok
porting/pending-author.t .. skipped: No pending changes
porting/perlfunc.t ........ ok
porting/pod_rules.t ....... ok
porting/podcheck.t ........ ok
porting/re_context.t ...... ok
porting/readme.t .......... ok
porting/regen.t ........... ok
porting/ss_dup.t .......... ok
porting/test_bootstrap.t .. ok
porting/utils.t ........... Can't open 'cpan/Pod-Usage/blib/script/pod2usage': No such file or directory at porting/utils.t line 66, <$fh> line 39.
porting/utils.t ........... Dubious, test returned 2 (wstat 512, 0x200)
No subtests run

Tracing this it turned out to be glob not returning any files for this part of
generated Makefile.PLs:

foreach (glob('scripts/pod*.PL')) {
    # The various pod*.PL extractors change directory. Doing that with relative

At this point of the build process on Win32/MSVC glob is handled by perlglob.exe,
which links with setargv.obj to enable wildcard expansion of the command-line.

If I run it directly in the directories with the problem:

C:\Users\Tony\dev\perl\git\perl\cpan\Pod-Usage>..\..\perlglob.exe scripts/pod*.PL

C:\Users\Tony\dev\perl\git\perl\cpan\Pod-Usage>

But dir produces the expected files:

C:\Users\Tony\dev\perl\git\perl\cpan\Pod-Usage>dir scripts\pod*.PL
 Volume in drive C has no label.
 Volume Serial Number is B47B-B5E3

 Directory of C:\Users\Tony\dev\perl\git\perl\cpan\Pod-Usage\scripts

25/01/2019  09:34 AM		 5,151 pod2usage.PL
	       1 File(s)	  5,151 bytes
	       0 Dir(s)  266,473,750,528 bytes free

Note that supplying \ instead of / to perlglob makes no difference:

C:\Users\Tony\dev\perl\git\perl\cpan\Pod-Usage>..\..\perlglob.exe scripts\pod*.PL

C:\Users\Tony\dev\perl\git\perl\cpan\Pod-Usage>

perlglob produces strange output in other cases too:

C:\Users\Tony\dev\perl\git\perl\win32>perlglob bin\*.pl
bin\e bin\perlglob.pl bin\pl2bat.pl bin\runperl.pl bin\search.pl
C:\Users\Tony\dev\perl\git\perl\win32>dir bin\*.pl
 Volume in drive C has no label.
 Volume Serial Number is B47B-B5E3

 Directory of C:\Users\Tony\dev\perl\git\perl\win32\bin

25/01/2019  09:34 AM		 2,740 exetype.pl
25/01/2019  09:34 AM		 1,171 perlglob.pl
25/01/2019  09:34 AM		12,798 pl2bat.pl
25/01/2019  09:34 AM		 1,947 runperl.pl
25/01/2019  09:34 AM		54,541 search.pl
	       5 File(s)	 73,197 bytes
	       0 Dir(s)  266,473,295,872 bytes free

Note the truncation of bin\exetype.pl from perlglob.

A side issue: we install win32/bin/perlglob.pl as perlglob.bat and
perlglob.exe, but they shouldn't be used in current installs
(File::Glob does the job.)  Perhaps that can be stopped.


[Please do not change anything below this line]
-----------------------------------------------------------------
---
Flags:
    category=install
    severity=low
---
Site configuration information for perl 5.31.4:

Configured by tony at Thu Sep  5 11:04:15 2019.

Summary of my perl5 (revision 5 version 31 subversion 4) configuration:
   
  Platform:
    osname=MSWin32
    osvers=10.0.17134.984
    archname=MSWin32-x64-multi-thread
    uname=''
    config_args='undef'
    hint=recommended
    useposix=true
    d_sigaction=undef
    useithreads=define
    usemultiplicity=define
    use64bitint=define
    use64bitall=undef
    uselongdouble=undef
    usemymalloc=n
    default_inc_excludes_dot=define
    bincompat5005=undef
  Compiler:
    cc='cl'
    ccflags ='-nologo -GF -W3 -Od -MD -Zi -DDEBUGGING -fp:precise -DWIN32 -D_CONSOLE -DNO_STRICT -DWIN64 -DCONSERVATIVE -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS  -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO'
    optimize='-Od -MD -Zi -DDEBUGGING -fp:precise'
    cppflags='-DWIN32'
    ccversion='19.22.27905'
    gccversion=''
    gccosandvers=''
    intsize=4
    longsize=4
    ptrsize=8
    doublesize=8
    byteorder=12345678
    doublekind=3
    d_longlong=undef
    longlongsize=8
    d_longdbl=define
    longdblsize=8
    longdblkind=0
    ivtype='__int64'
    ivsize=8
    nvtype='double'
    nvsize=8
    Off_t='__int64'
    lseeksize=8
    alignbytes=8
    prototype=define
  Linker and Libraries:
    ld='link'
    ldflags ='-nologo -nodefaultlib -debug -libpath:"c:\perl\lib\CORE" -machine:AMD64 -subsystem:console,"5.02"'
    libpth="C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.22.27905\\lib\x64"
    libs=oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib comctl32.lib msvcrt.lib vcruntime.lib ucrt.lib
    perllibs=oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib comctl32.lib msvcrt.lib vcruntime.lib ucrt.lib
    libc=ucrt.lib
    so=dll
    useshrplib=true
    libperl=perl531.lib
    gnulibc_version=''
  Dynamic Linking:
    dlsrc=dl_win32.xs
    dlext=dll
    d_dlsymun=undef
    ccdlflags=' '
    cccdlflags=' '
    lddlflags='-dll -nologo -nodefaultlib -debug -libpath:"c:\perl\lib\CORE" -machine:AMD64 -subsystem:console,"5.02"'


---
@INC for perl 5.31.4:
    lib
    C:/Users/Tony/dev/perl/git/perl/lib

---
Environment for perl 5.31.4:
    HOME (unset)
    LANG (unset)
    LANGUAGE (unset)
    LD_LIBRARY_PATH (unset)
    LOGDIR (unset)
    PATH=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.22.27905\bin\HostX64\x64;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\VC\VCPackages;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\TestWindow;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\bin\Roslyn;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Team Tools\Performance Tools\x64;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Team Tools\Performance Tools;C:\Program Files (x86)\Microsoft Visual Studio\Shared\Common\VSPerfCollectionTools\vs2019\\x64;C:\Program Files (x86)\Microsoft Visual
Studio\Shared\Common\VSPerfCollectionTools\vs2019\;C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.7.2 Tools\x64\;C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64;C:\Program Files (x86)\Windows Kits\10\bin\x64;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\\MSBuild\Current\Bin;C:\Windows\Microsoft.NET\Framework64\v4.0.30319;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.22.27905\bin\HostX86\x86;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\VC\VCPackages;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\TestWindow;C:\Program Files (x86)\Microsoft Visual
Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\bin\Roslyn;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Team Tools\Performance Tools;C:\Program Files (x86)\Microsoft Visual Studio\Shared\Common\VSPerfCollectionTools\vs2019\;C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.7.2 Tools\;C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x86;C:\Program Files (x86)\Windows Kits\10\bin\x86;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\\MSBuild\Current\Bin;C:\Windows\Microsoft.NET\Framework\v4.0.30319;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\;c:\sperl-5.28.1.1-64bit-portable\c\bin;C:\Program Files (x86)\Microsoft
Visual Studio\2019\Community\VC\Tools\MSVC\14.22.27905\bin\HostX86\x86;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\VC\VCPackages;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\TestWindow;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\bin\Roslyn;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Team Tools\Performance Tools;C:\Program Files (x86)\Microsoft Visual Studio\Shared\Common\VSPerfCollectionTools\vs2019\;C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.7.2 Tools\;C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x86;C:\Program Files (x86)\Windows Kits\10\bin\x86;C:\Program Files (x86)\Microsoft Visual
Studio\2019\Community\\MSBuild\Current\Bin;C:\Windows\Microsoft.NET\Framework\v4.0.30319;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\;C:\Program Files\Microsoft MPI\Bin\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\dotnet\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\;C:\Program Files\Git\cmd;C:\Users\Tony\AppData\Local\Microsoft\WindowsApps;;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin;C:\Program Files (x86)\Microsoft Visual
Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\Ninja;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\Ninja;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\Ninja
    PERL_BADLANG (unset)
    SHELL (unset)


Thread Previous


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About