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

Re: [perl #132955] USE_CPLUSPLUS build broken in 5.27 blead and all5.26 stables

Thread Previous | Thread Next
From:
Karl Williamson
Date:
April 13, 2018 14:57
Subject:
Re: [perl #132955] USE_CPLUSPLUS build broken in 5.27 blead and all5.26 stables
Message ID:
e8b6f582-6d80-b56b-249b-8284449316b4@khwilliamson.com
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


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