On 2018-03-11, Uwe Brauer <oub(a)mat.ucm.es> wrote:
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?
I get that too (Ubuntu 16.04 also), both with my own fork and 21.5.34.
On my own fork, I worked round it by adding
--cflags='-std=gnu90 -g -O'
to the configure command; for 21.5.34 you can do
CFLAGS='-std=gnu90 -g -O' bash configure
("-std=gnu90' being the relevant bit)
I suppose this is some interaction of C dialect variation and gcc
changes, but I haven't found what. (Ubuntu is using gcc 5.4.0 as of
now, though I think it was using 4.9.? last time I tried.)
Incidentally, ./configure also fails, because configure says
#! /bin/sh
which these days tells bash to be strictly sh-like, and the sh-like
behaviour doesn't have set -o posix which appears somewhere in
configure.