autogen 5.18.16 + git build error SPN_COMPACT_NAME_CHARS
Brought to you by:
bkorb
Hello,
autogen 5.18.16 plus 6da941a91e02642feff4a4a14d7614fabf47fc69 from GIT fails to build with the following error:
make[4]: Entering directory '/tmp/AUTOGEN/autogen-5.18.16/getdefs'
exec > gd.c ; \
echo '#undef PKGDATADIR' ; \
echo '#define PKGDATADIR "/usr/share/autogen"' ; \
echo ; echo '#define DEFINING 1' ; \
echo '#include "autoopts/project.h"' ; \
for f in opts.c getdefs.h proto.h gdemit.c gdinit.c getdefs.c ; \
do echo "#include \"$f\"" ; done
top_builddir=".." top_srcdir=".." VERBOSE="" /bin/bash "../build-aux/run-ag.sh" -MFstamp-opts -MTstamp-opts -MP ./opts.def
gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../autoopts -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/tmp/AUTOGEN/autogen-5.18.16=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-format-contains-nul -Wno-format-contains-nul -fno-strict-aliasing -Wall -Werror -Wcast-align -Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -Wwrite-strings -Wstrict-aliasing=3 -Wextra -Wno-cast-qual -g -O2 -fdebug-prefix-map=/tmp/AUTOGEN/autogen-5.18.16=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-format-contains-nul -Wno-format-contains-nul -fno-strict-aliasing -c -o gd.o gd.c
In file included from gd.c:11:
getdefs.c: In function 'buildPreamble':
getdefs.c:208:22: error: implicit declaration of function 'SPN_COMPACT_NAME_CHARS'; did you mean 'SPN_COMPOUND_NAME_CHARS'? [-Werror=implicit-function-declaration]
char * end = SPN_COMPACT_NAME_CHARS(def_scan + 1);
^~~~~~~~~~~~~~~~~~~~~~
SPN_COMPOUND_NAME_CHARS
getdefs.c:208:22: error: initialization of 'char *' from 'int' makes pointer from integer without a cast [-Werror=int-conversion]
cc1: all warnings being treated as errors
cu Andreas
Looks like it ought to be defined to me. I don't see this problem. Does it persist?
Just to be excruciatingly careful, I've added an explicit inclusion of ag-char-map.h in the compile, but it is also directly included in autoopts/project.h. It would be interesting to manually redo the compile with "-c" replaced with "-E" and the output redirected to a getdefs.i file. We can then see why the project.h header did not source in the ag-char-map.h file.
Can this be reproduced with the pre-processing result? All of my {SPN,BRK}_*_CHARS macros return a pointer to a char.
Hello Bruce,
on current GIT ( tag v5.19.94 / 3a9b6e2f67bc09af74d6d184ea4d3ed77a11adce ) I get an almost successful build with
env GNULIBDIR=/tmp/AUTOGEN/gnulib config/bootstrap && ./configure && make && make check. (Locally installed version of autogen on 5.8.16). Building suceeds, but there are two testsuite errors:FAIL: directives.test
FAIL: opts.test
agen5/test/test-suite.log
The opts test failure I know about. I hit it and promise myself to fix it every time I bump the autogen version. :) See bug 207 :). I'll look into the directives thing, but it looks like versioning as well. Weirdly, I don't hit it, but with your failures tarball, I can likely see what caused it and fix it. Anyway, the specific issue raised here isn't happening, so I'm marking it as "pending" the next (5.20.0) release. Oh, there is an alpha.gnu.org version 5.19.95