New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
perl5 blead fails to build on NetBSD-8.0 with g++ #16950
Comments
From @jkeenanGo to http://perl5.test-smoke.org/search and select 'netbsd', '8.0' and It appears this has been the case ever we since we started to get smoke blead does appear to build on NetBSD-7.2 with g++ (modulo test failures blead does appear to build on NetBSD-8.0 with gcc (same qualification). Thank you very much. perl perl perl |
From @khwilliamsonOn 4/11/19 12:45 PM, James E Keenan (via RT) wrote:
I had noticed that a while back, and just not investigated. There's |
The RT System itself - Status changed from 'new' to 'open' |
From @jkeenanOn Thu, 11 Apr 2019 19:58:50 GMT, public@khwilliamson.com wrote:
Can you elaborate on what you think the problems with this version of g++ are? Should we expect them to show up other OS/version combinations? Thank you very much. -- |
From @khwilliamsonOn 4/29/19 4:32 PM, James E Keenan via RT wrote:
All I know is that's where the logs indicate the failure is: |
From @iabynOn Mon, Apr 29, 2019 at 04:57:09PM -0600, Karl Williamson wrote:
No, this looks like a specific netbsd + g++ issue.
Perl.h has this: #if (defined(static_assert) || (defined(__cplusplus) && __cplusplus >= 201103L)) && (!defined(__IBMC__) || __IBMC__ >= 1210) On my linux platform, /usr/include/assert.h has: #if defined __USE_ISOC11 && !defined __cplusplus and /usr/include/sys/cdefs.h has: #if (!defined _Static_assert && !defined __cplusplus \ I assume NetBSD 8++ has similar-ish header file(s), but something is not -- |
From coypu@sdf.orgyeah, the netbsd headers are wrong for this scenario. The use of -ansi forces us to a really old standard so these are not available. NetBSD should probably supply a fallback definition for _Static_assert like glibc does, or at least restrict the definition for when it is available. I'd like to fix this in NetBSD (and backport it etc.) |
From coypu@sdf.orgOn Wed, 22 May 2019 05:03:18 -0700, coypu@sdf.org wrote:
And by fix I mean, "hack workaround", hence the question :-) |
From @jkeenanOn Wed, 22 May 2019 12:04:13 GMT, coypu@sdf.org wrote:
Yes, a fix is desired. It appears evident to me (note: note a NetBSD user) that the best place to address this problem would be in appropriate .c and .h header files such as those that have already been cited by Karl Williamson in this ticket. For many uses, however, we can get by with changes to the hints/netbsd.sh file included in the Perl 5 core distribution. If you are not already familiar with that file, which is run as part of the configuration process, please take a look at it. Thank you very much. |
From @khwilliamsonOn Wed, 22 May 2019 05:48:07 -0700, jkeenan wrote:
My reply did not make it to this ticket. And I now see that there was already something to the effect of what I was going to say, which is perl already has code to emulate static asserts for systems that don't have it. https://rt-archive.perl.org/perl5/Ticket/Display.html?id=134023#txn-1629956 I'm thinking the definition there could be tweaked so that perl's definition is enabled in this situation. I don't really understand what copypu is proposing, but this option should be considered |
From coypu@sdf.orgthis is the netbsd fix, and will be in netbsd 8.1 when it is released (soon): http://mail-index.netbsd.org/source-changes-hg/2019/05/29/msg057353.html why the code was failing on netbsd: /* from netbsd assert.h */ /* from perl.h */ why the definition was bad: |
I'm going to assume that the correction to Thank you very much. |
Migrated from rt.perl.org#134023 (status was 'open')
Searchable as RT134023$
The text was updated successfully, but these errors were encountered: