As landry@ has reported, security/gnutls no longer builds on sparc64 and powerpc after the _ISOC11_SOURCE header change that has exposed max_align_t.
The failure cascade is like this: security/gnutls uses ports-gcc (gcc 4.9) on non-clang archs. gcc 4.9 apparently does not accept the "restrict" keyword by default. This causes a configure check to add -std=gnu99 to the compiler flags: checking for cc option to accept ISO C99... -std=gnu99 Since max_align_t is from C11, the -std=gnu99 flag removes it from visibility: checking for max_align_t... no gnutls's copy of gnulib then provides its own replacement definition of max_align_t. So far this is consistent within the C universe. But then gnutls builds its C++ library. Plain c++, no -std flag. This has different visibility rules. The max_align_t from stddef.h reappears and collides with the gnulib replacement: ../../src/gl/stddef.h:106:3: error: conflicting declaration 'typedef union max_align_t max_align_t' } max_align_t; ^ I'm not sure how to fix this. Maybe add -std=c11 (or -std=gnu11?) right away to CFLAGS? -- Christian "naddy" Weisgerber [email protected]
