On Sun, Mar 11, 2018 at 3:42 PM, Uwe Brauer <oub(a)mat.ucm.es> wrote:
Hi
I did what I always did.
Sudo apt-get build-dep xemacs 21
Configure
Make
But now I obtain
lisp.h:1165:3: error: conflicting types for 'max_align_t' } max_align_t;
In file included from lisp.h:117:0, from abbrev.c:34:
/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:429:3: note: previous
declaration of 'max_align_t' was here } max_align_t; GNUmakefile:104:
recipe for target 'abbrev.o' failed make[1]: *** [abbrev.o] Error 1 make[1]:
Leaving directory '/home/oub/src/xemacs-21.5.33-xsymbol/src' GNUmakefile:97:
recipe for target 'src' failed make: *** [src] Error 2
Did I forget a specific 64 bit option?
No, this is due to changes in the C standard. The relevant definition
in lisp.h is guarded like this:
#if (!defined (__STDC_VERSION__) || __STDC_VERSION__ < 201112L) && \
(!defined (__cplusplus) || __cplusplus < 201103L)
/* No type has a greater alignment requirement than max_align_t.
(except perhaps for types we don't use, like long double) */
typedef union
{
struct { long l; } l;
struct { void *p; } p;
struct { void (*f)(void); } f;
struct { double d; } d;
} max_align_t;
#endif
Are you building with sources older than the addition of the #if?
--
Jerry James
http://www.jamezone.org/