http://qs321.pair.com?node_id=11109294

xiaoyafeng has asked for the wisdom of the Perl Monks concerning the following question:

I've tried to build perl 5.30 with visual studio 2019. It can be compiled successfully but some tests failed when running nmake test:

../ext/POSIX/t/time.t .............................................. 1 +/19 # Failed test 'strftime() can handle unicode chars in the format str +ing' # at t/time.t line 65. Wide character in print at ../../lib/Test2/Formatter/TAP.pm line 124. # got: '1970&#65533;?m&#65533;?d&#65533;?' # expected: '1970&#24180;01&#26376;16&#26085;' # Failed test 'strftime() can handle unicode chars in the format str +ing' # at t/time.t line 68. Wide character in print at ../../lib/Test2/Formatter/TAP.pm line 124. # got: '1970&#65533;?m&#65533;?d&#65533;?' # expected: '1970&#24180;01&#26376;16&#26085;' # Failed test 'Format string has correct character' # at t/time.t line 74. # got: '63' # expected: '223' # Failed test 'Format string has correct character' # at t/time.t line 76. # got: '63' # expected: '223' # Looks like you failed 4 tests of 19. .... .... ../lib/locale.t .................................................... 1 +/? Use of uninitialized value $Config{"d_has_C_UTF8"} in string eq at + ./loc_tools.pl line 343. Use of uninitialized value $Config{"d_has_C_UTF8"} in string eq at ./l +oc_tools.pl line 343, <DATA> line 47. .... .... Test Summary Report ------------------- op/magic.t (Wsta +t: 0 Tests: 195 Failed: 2) Failed tests: 178, 181 uni/gv.t (Wsta +t: 0 Tests: 206 Failed: 1) Failed test: 78 ../ext/IPC-Open3/t/IPC-Open3.t (Wsta +t: 0 Tests: 45 Failed: 0) TODO passed: 25 ../ext/POSIX/t/time.t (Wsta +t: 1024 Tests: 19 Failed: 4) Failed tests: 9-10, 12-13 Non-zero exit status: 4 Files=2661, Tests=1149180, 1837 wallclock secs (98.95 usr + 7.03 sys += 105.98 CPU) Result: FAIL NMAKE : fatal error U1077: '.\perl.exe' : return code '0x7' Stop.
below is my configuration:
OS Name Microsoft Windows Server 2016 Standard Version 10.0.14393 Build 14393 System Name WIN-4P02OPRJS9H System Type x64-based PC perl -V: C:\perl\perl-5.30.0>perl.exe -V Summary of my perl5 (revision 5 version 30 subversion 0) configuration +: Platform: osname=MSWin32 osvers=10.0.14393 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 -O1 -MD -Zi -DNDEBUG -GL -fp:precise -DW +IN32 -D_CONSOLE -DNO_STRICT -DWIN64 -DCONSERVATIVE -D_CRT_SECURE_NO_D +EPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNING +S -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SY +S' optimize='-O1 -MD -Zi -DNDEBUG -GL -fp:precise' cppflags='-DWIN32' ccversion='19.23.28106.4' 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 -opt:ref,icf -ltcg -libpat +h:"c:\perl\visperl\lib\CORE" -machine:AMD64 -subsystem:console,"5.02 +"' libpth="C:\Program Files (x86)\Microsoft Visual Studio\2019\Commun +ity\VC\Tools\MSVC\14.23.28105\\lib\x64" libs=oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib +comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi3 +2.lib uuid.lib ws2_32.lib mpr.lib winmm.lib version.lib odbc32.lib o +dbccp32.lib comctl32.lib msvcrt.lib vcruntime.lib ucrt.lib perllibs=oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.l +ib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib net +api32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib version.lib odbc32.l +ib odbccp32.lib comctl32.lib msvcrt.lib vcruntime.lib ucrt.lib libc=ucrt.lib so=dll useshrplib=true libperl=perl530.lib gnulibc_version='' Dynamic Linking: dlsrc=dl_win32.xs dlext=dll d_dlsymun=undef ccdlflags=' ' cccdlflags=' ' lddlflags='-dll -nologo -nodefaultlib -debug -opt:ref,icf -ltcg - +libpath:"c:\perl\visperl\lib\CORE" -machine:AMD64 -subsystem:console +,"5.02"' Characteristics of this binary (from libperl): Compile-time options: HAS_TIMES HAVE_INTERP_INTERN MULTIPLICITY PERLIO_LAYERS PERL_COPY_ON_WRITE PERL_DONT_CREATE_GVSV PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS PERL_MALLOC_WRAP PERL_OP_PARENT PERL_PRESERVE_IVUV USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_LOCALE_TIME USE_PERLIO USE_PERL_ATOF USE_THREAD_SAFE_LOCALE Built under MSWin32 Compiled at Nov 26 2019 16:41:19 @INC: C:/perl/perl-5.30.0/lib
Any ideas? Thanks in advance!





I am trying to improve my English skills, if you see a mistake please feel free to reply or /msg me a correction

Replies are listed 'Best First'.
Re: visual 2019 can't build perl 5.30 on windows 2016
by syphilis (Archbishop) on Nov 27, 2019 at 11:19 UTC
    Using a mingw-w64 port of gcc, I get the same 2 warnings on Windows when running lib/locale.t.
    However, I don't get any test failures.

    I think the warnings are harmless as they are inevitable when you compare an undefined value (namely $Config{d_has_C_UTF8}) using the 'eq' operator && warnings are enabled.
    But the test failures are certainly worthy of a perlbug report as Anonymous Monk has suggested.
    Perhaps first try the latest devel release in case it has already been fixed.

    Cheers,
    Rob
      Thanks Rob, I report this to issue of perl on github.




      I am trying to improve my English skills, if you see a mistake please feel free to reply or /msg me a correction

Re: visual 2019 can't build perl 5.30 on windows 2016
by Anonymous Monk on Nov 27, 2019 at 03:24 UTC

    Any ideas? Thanks in advance!

    Try v5.30.1 instead?

    perlbug each individual failing test?