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�?m�?d�?'
# expected: '1970年01月16日'
# 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�?m�?d�?'
# expected: '1970年01月16日'
# 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