develooper Front page | perl.perl5.porters | Postings from October 2012

Re: Build failed in Jenkins: perl5 #1825

Thread Previous | Thread Next
From:
Craig A. Berry
Date:
October 10, 2012 12:50
Subject:
Re: Build failed in Jenkins: perl5 #1825
Message ID:
CA+vYcVyRYWduSXjFfTortcoEnaVzj2G4WePrqLw6L8Mb_+09Yg@mail.gmail.com
On Wed, Oct 10, 2012 at 11:41 AM, Steve Hay <Steve.Hay@verosoftware.com> wrote:
> Ricardo Signes wrote on 2012-10-10:
>> * Karl Williamson <public@khwilliamson.com> [2012-10-10T12:30:04]
>>> The email from Jenkins was stuck in the moderation queue.  It had
>>> nothing to do with this commit AFAIK.  If I locally revert
>>> cdc4a17406010fd176cecceef1e025e34a60202f
>>> "have embed.pl add PERL_CALLCONV_NO_RET to noreturn statics"
>>> it builds for me.
>>
>> In fact, Jenkins doesn't mean to imply that it does.  Once *all* the
>> held mail got through, you can see that the earliest failure was the
>> commit you've identified.  Everything else was just, "I tested again
>> and it's still busted."
>>
>
> Yes, the culprit (me :-( ) was already identified by Father C:
>
> http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2012-10/msg00510.
> html

I can't find that message in my inbox to reply to it, but he said:

<quote>

I don’t know enough about C++ to explain the error.

It does not like

PERL_CALLCONV_NO_RET STATIC void	S_missingterm(pTHX_ char *s)
			__attribute__noreturn__;

becoming

extern "C" static void S_missingterm( char *s)
   __attribute__((noreturn));

</quote>

C<extern "C"> is telling the C++ compiler not to mangle symbols that
will be used when linking with external libraries or modules.  But
C<static> is saying the function can only be used within the source
file where it is found and can't even be accessed from other modules
in the same library or program.  So saying something is both extern
"C" and static is a contradiction.  Note also that STATIC was replaced
with static and the upper case macro may have had disappearing
qualities in the right circumstances (that's an unverified guess
though).

>
> I don't know how widespread building with g++ is. If the current failure
> is a problem for people then please revert that commit (or tell me and I
> will) until bulk88 or I have a fix.
>
> Apologies again for the brokenness. I hope to get a C++ build working on
> Win32 in due course, and hopefully avoid this happening again.

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