Re: ports build failure, max_align_t
> Date: Mon, 9 Jan 2017 12:14:21 +0100 > From: Marc Espie> > On Sun, Jan 08, 2017 at 09:53:50PM +, Stuart Henderson wrote: > > graphics/ttfautohint > > > > c++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I.. -I../lib -I../gnulib/src > > -I../gnulib/src -I/usr/X11R6/include/freetype2 -O2 -pipe -MT info.o -MD > > -MP -MF .deps/info.Tpo -c -o info.o info.cpp > > In file included from ../gnulib/src/stdio.h:53:0, > > from info.cpp:15: > > ../gnulib/src/stddef.h:106:3: error: conflicting declaration 'typedef union > > max_align_t max_align_t' > > } max_align_t; > >^ > > In file included from ../gnulib/src/stddef.h:55:0, > > from ../gnulib/src/stdio.h:53, > > from info.cpp:15: > > /usr/include/stddef.h:80:3: note: previous declaration as 'typedef struct > > max_align_t max_align_t' > > } max_align_t; > >^ > Well, gnu/stddef.h has no business redefining max_align_t > > That said, I don't see any way that our definition can be right. It should be > an union. The definition is carefully chosen to match what both gcc and clang provide. There are apparently a lot of subtleties involved, and possibly compiler bugs that this works around.
Re: ports build failure, max_align_t
> Date: Sun, 8 Jan 2017 21:53:50 + > From: Stuart Henderson> > graphics/ttfautohint > > c++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I.. -I../lib -I../gnulib/src > -I../gnulib/src -I/usr/X11R6/include/freetype2 -O2 -pipe -MT info.o -MD > -MP -MF .deps/info.Tpo -c -o info.o info.cpp > In file included from ../gnulib/src/stdio.h:53:0, > from info.cpp:15: > ../gnulib/src/stddef.h:106:3: error: conflicting declaration 'typedef union > max_align_t max_align_t' > } max_align_t; >^ > In file included from ../gnulib/src/stddef.h:55:0, > from ../gnulib/src/stdio.h:53, > from info.cpp:15: > /usr/include/stddef.h:80:3: note: previous declaration as 'typedef struct > max_align_t max_align_t' > } max_align_t; >^ See the mail I sent to hackers. Nobody replied to that yet...
Re: ports build failure, max_align_t
On Sun, Jan 08, 2017 at 09:53:50PM +, Stuart Henderson wrote: > graphics/ttfautohint > > c++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I.. -I../lib -I../gnulib/src > -I../gnulib/src -I/usr/X11R6/include/freetype2 -O2 -pipe -MT info.o -MD > -MP -MF .deps/info.Tpo -c -o info.o info.cpp > In file included from ../gnulib/src/stdio.h:53:0, > from info.cpp:15: > ../gnulib/src/stddef.h:106:3: error: conflicting declaration 'typedef union > max_align_t max_align_t' > } max_align_t; >^ > In file included from ../gnulib/src/stddef.h:55:0, > from ../gnulib/src/stdio.h:53, > from info.cpp:15: > /usr/include/stddef.h:80:3: note: previous declaration as 'typedef struct > max_align_t max_align_t' > } max_align_t; >^ Well, gnu/stddef.h has no business redefining max_align_t That said, I don't see any way that our definition can be right. It should be an union.
ports build failure, max_align_t
graphics/ttfautohint c++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I.. -I../lib -I../gnulib/src -I../gnulib/src -I/usr/X11R6/include/freetype2 -O2 -pipe -MT info.o -MD -MP -MF .deps/info.Tpo -c -o info.o info.cpp In file included from ../gnulib/src/stdio.h:53:0, from info.cpp:15: ../gnulib/src/stddef.h:106:3: error: conflicting declaration 'typedef union max_align_t max_align_t' } max_align_t; ^ In file included from ../gnulib/src/stddef.h:55:0, from ../gnulib/src/stdio.h:53, from info.cpp:15: /usr/include/stddef.h:80:3: note: previous declaration as 'typedef struct max_align_t max_align_t' } max_align_t; ^