Summary: | =app-misc/pax-utils-0.8.1 with sys-libs/musl - elf.h:31:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘typedef’ | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Anthony Basile <blueness> |
Component: | [OLD] Core system | Assignee: | SpanKY <vapier> |
Status: | RESOLVED DUPLICATE | ||
Severity: | normal | CC: | lu_zero |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | Build log of failure |
Description
Anthony Basile
2014-10-20 11:37:01 UTC
Created attachment 387046 [details]
Build log of failure
i have no idea why that's failing -- the error makes no sense. you'll need to debug it as i don't have any musl toolchains. (In reply to SpanKY from comment #2) > i have no idea why that's failing -- the error makes no sense. you'll need > to debug it as i don't have any musl toolchains. I intend to, Jer assigned it to you! I carry my own weight :) (In reply to Anthony Basile from comment #3) > (In reply to SpanKY from comment #2) > > i have no idea why that's failing -- the error makes no sense. you'll need > > to debug it as i don't have any musl toolchains. > > I intend to, Jer assigned it to you! I carry my own weight :) First that comment was meant to be facetious. The problem is __BEGIN_DECLS which I've meant to discuss in detail with Felker. Here's a patch that would fix it. I had the same issue with openrc and a few others: diff -Naur pax-utils-0.8.1.orig/elf.h pax-utils-0.8.1/elf.h --- pax-utils-0.8.1.orig/elf.h 2014-10-20 17:57:02.906664429 +0000 +++ pax-utils-0.8.1/elf.h 2014-10-20 17:57:39.046666562 +0000 @@ -21,7 +21,9 @@ #include <features.h> +#ifdef __cplusplus __BEGIN_DECLS +#endif /* Standard ELF types. */ @@ -3375,6 +3377,8 @@ #define R_TILEGX_NUM 130 +#ifdef __cplusplus __END_DECLS +#endif #endif /* elf.h */ From Felker upstream: <dalias> __BEGIN_DECLS is just part of glibc internals <dalias> it's not going to work on any system except glibc/linux <dalias> the fact that it starts with __ should make it clear that it's not a public interface for use by applications <pikhq> A few other systems have the same macro, but yes. <dalias> shielding it with #ifdef __cplusplus is not the solution <dalias> changing it to extern "C" { inside #ifdef __cplusplus is the right solution So my patch should remove __BEGIN_DECLS and add #ifdef __cplusplus extern "C" { #endif .... stuff #ifdef __cplusplus } #endif oh, i already fixed that earlier this year, and it's in the 0.9.1 version now *** This bug has been marked as a duplicate of bug 507470 *** |