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:
Steve Hay via perl5-porters
Date:
April 14, 2018 12:51
Subject:
Re: [perl #132955] USE_CPLUSPLUS build broken in 5.27 blead and all5.26 stables
Message ID:
CADED=K41OAcW_ow4LmSSN8Y2M9e_TAode_cmNTn+_UVkSn84ew@mail.gmail.com
On 14 April 2018 at 05:01, Karl Williamson <public@khwilliamson.com> wrote:
> On 04/13/2018 09:24 AM, Steve Hay wrote:
>>
>> On 13 April 2018 at 16:21, Karl Williamson <public@khwilliamson.com>
>> wrote:
>>>
>>> On 04/13/2018 09:05 AM, Karl Williamson wrote:
>>>>
>>>>
>>>> On 04/13/2018 08:57 AM, Karl Williamson wrote:
>>>>>
>>>>>
>>>>> 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
>>>>
>>>>
>>>>
>>>> Actually, to save email back-and-forths, if you ran it on the very
>>>> latest
>>>> version of blead, as of this moment, with
>>>> d3a5b29c73b5a2fd6524ca1f8c5c779bd8cb0687
>>>> which copied cpan's 'version' onto bleads, that took a step backwards in
>>>> vutil.c, introducing issues of just the sort that your output shows.
>>>>
>>>
>>> And so, if you run it on blead just prior to that commit, we could see if
>>> there are other issues in vutil.c that I don't know about.  The
>>> maintainer
>>> of version, after a hiatus, is currently very involved in fixing it, and
>>> so
>>> would likely act swiftly to fix anything found.
>>
>>
>> The result I reported was on d3a5b29c73b5a2fd6524ca1f8c5c779bd8cb0687,
>> which I'd updated to in the hope that it might fix the build since I'd
>> previously tried with the previous commit
>> (1b30b4a8259a74c5ffaee362bc1d881c40fc5279), which had failed like
>> this:
>>
>> 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\universal.obj ..\universal.c
>> universal.c
>> c:\dev\git\perl\vxs.inc(142): error C3688: invalid literal suffix
>> 'HEKf'; literal operator or literal operator template 'operator
>> ""HEKf' not found
>> NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual
>> Studio 14.0
>> \VC\BIN\cl.EXE"' : return code '0x2'
>> Stop.
>>
>
> Could you please try it on the branch smoke-me/khw-shay and post any
> failures?
>

On that branch, both universal.c and util.c now compile but now we run
into a different (unrelated) problem instead:

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\perlio.obj ..\perlio.c
perlio.c
..\perlio.c(3227): error C2106: '=': left operand must be l-value
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0
\VC\BIN\cl.EXE"' : return code '0x2'
Stop.

I obviously haven't tried a C++ build with VS2015 since adding support
for that compiler :-/

The line it complains about is:

PERLIO_FILE_file(f) = -1;

For VS2015 and higher, win32/win32.h has:

#define PERLIO_FILE_file(f) ((int)(((__crt_stdio_stream_data*)(f))->_file))

which is fine in a C build, but evidently not C++. Sigh...

Your changes to the version distro seem good, though, so it would be
worthwhile getting them taken on board upstream.

Thanks.

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