On 04/13/2018 02:20 AM, Steve Hay via perl5-porters wrote: > On 8 March 2018 at 15:57, bulk88 <perlbug-followup@perl.org> wrote: >> # New Ticket Created by bulk88 >> # Please include the string: [perl #132955] >> # in the subject line of all future correspondence about this issue. >> # <URL: https://rt.perl.org/Ticket/Display.html?id=132955 > >> >> >> This is a bug report for perl from bulk88@hotmail.com, >> generated with the help of perlbug 1.41 running under perl 5.27.9. >> >> >> ----------------------------------------------------------------- >> [Please describe your issue here] >> >> 5.26 (maint-5.26) and 5.27 blead both fail with Win32 VC perl compiled >> with USE_CPLUSPLUS=define build option. Solution need backporting to 5.26. >> >> -------------------------------------- >> cl -c -nologo -GF -W3 -TP -EHsc -O1 -MD -Zi -DNDEBUG -GL >> -DWIN32 -D_CO >> NSOLE -DNO_STRICT -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT >> -DPERL_IMPLICI >> T_SYS -DWIN32_NO_REGISTRY -D_USE_32BIT_TIME_T -O1 -MD -Zi -DNDEBUG -GL >> -DVERS >> ION=\"1.76\" -DXS_VERSION=\"1.76\" "-I..\..\lib\CORE" POSIX.c >> POSIX.c >> "..\..\miniperl.exe" "-I..\..\lib" -MExtUtils::Mksymlists \ >> -e "Mksymlists('NAME'=>\"POSIX\", 'DLBASE' => 'POSIX', 'DL_FUNCS' >> => { }, >> 'FUNCLIST' => [], 'IMPORTS' => { }, 'DL_VARS' => []);" >> link -out:..\..\lib\auto\POSIX\POSIX.dll -dll -nologo -nodefaultlib >> -debug -opt: >> ref,icf -ltcg -libpath:"c:\perl\lib\CORE" >> -machine:x86 POS >> IX.obj "..\..\lib\CORE\perl526.lib" oldnames.lib kernel32.lib >> user32.lib gdi32 >> .lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib >> oleaut32.lib n >> etapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib version.lib odbc32.lib >> odbccp3 >> 2.lib comctl32.lib msvcrt.lib -def:POSIX.def >> Creating library ..\..\lib\auto\POSIX\POSIX.lib and object >> ..\..\lib\auto\POS >> IX\POSIX.exp >> POSIX.obj : error LNK2001: unresolved external symbol _PL_nan >> ..\..\lib\auto\POSIX\POSIX.dll : fatal error LNK1120: 1 unresolved externals >> dmake: Error code 224, while making '..\..\lib\auto\POSIX\POSIX.dll' > > I also see this with VC10 and VC12. > > With VC14 and VC141 I the build fails earlier with a problem in vutil.c: What was the latest commit in blead that this was this run on? The first line of the output from ./perl -v would give me the answer > > cl -c -nologo -GF -W3 -TP -EHsc -I..\lib\CORE -I.\include -I. -I.. > -DWIN32 -D_CONSOLE -DNO_STRICT -D_CRT_SECURE_NO_DEPRECATE > -D_CRT_NONSTDC_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS > -DPERLDLL -DPERL_CORE -O1 -MD -Zi -DNDEBUG -GL -DPERL_EXTERNAL_GLOB > -DPERL_IS_MINIPERL -Fo.\mini\util.obj ..\util.c > util.c > c:\dev\git\perl\vutil.c(696): error C3688: invalid literal suffix > 'NVff'; literal operator or literal operator template 'operator > ""NVff' not found > c:\dev\git\perl\vutil.c(696): error C2664: 'void Perl_sv_catpvf(SV > *const ,const char *const ,...)': cannot convert argument 2 from 'NV' > to 'const char *const ' > c:\dev\git\perl\vutil.c(701): error C3688: invalid literal suffix > 'NVff'; literal operator or literal operator template 'operator > ""NVff' not found > c:\dev\git\perl\vutil.c(701): error C2664: 'int Perl_my_snprintf(char > *,const std::size_t,const char *,...)': cannot convert argument 3 from > 'NV' to 'const char *' > c:\dev\git\perl\vutil.c(992): error C3688: invalid literal suffix > 'IVdf'; literal operator or literal operator template 'operator > ""IVdf' not found > c:\dev\git\perl\vutil.c(996): error C3688: invalid literal suffix > 'IVdf'; literal operator or literal operator template 'operator > ""IVdf' not found > c:\dev\git\perl\vutil.c(996): error C2664: 'void Perl_sv_catpvf(SV > *const ,const char *const ,...)': cannot convert argument 2 from 'IV' > to 'const char *const ' > c:\dev\git\perl\vutil.c(996): note: Conversion from integral type to > pointer type requires reinterpret_cast, C-style cast or function-style > cast > NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0 > \VC\BIN\cl.EXE"' : return code '0x2' > Stop. > > (All these versions of VC work fine without USE_CPLUSPLUS=define.) >Thread Previous | Thread Next