[oe] "krb" fails to build, suspect GCC bug
Mike Looijmans
mike.looijmans at topic.nl
Sat Sep 5 12:39:14 UTC 2015
I got this weird build failure from the "krb" package:
| make[3]: Entering directory
'/TOPDIR/build/tmp/work/mips32el-oe-linux/krb5/1.13.2-r0/krb5-1.13.2/src/lib/krb5/ccache'
| mipsel-oe-linux-gcc -mel -mabi=32 -mhard-float -march=mips32
--sysroot=/TOPDIR/build/tmp/sysroots/formuler1 -fPIC -DSHARED
-DHAVE_CONFIG_H -I../../../include -I../../../include -I./ccapi -I. -I.
-DKRB5_DEPRECATED=1 -DKRB5_PRIVATE -Os -pipe -g
-feliminate-unused-debug-types -DDESTRUCTOR_ATTR_WORKS=1
-I/TOPDIR/build/tmp/sysroots/formuler1/usr/include/et -Wall -Wcast-align
-Wshadow -Wmissing-prototypes -Wno-format-zero-length -Woverflow
-Wstrict-overflow -Wmissing-format-attribute -Wmissing-prototypes
-Wreturn-type -Wmissing-braces -Wparentheses -Wswitch -Wunused-function
-Wunused-label -Wunused-variable -Wunused-value -Wunknown-pragmas
-Wsign-compare -Werror=uninitialized -Werror=pointer-arith
-Werror=declaration-after-statement
-Werror-implicit-function-declaration -pthread -c cc_file.c -o
cc_file.so.o && mv -f cc_file.so.o cc_file.so
| cc_file.c: In function 'fcc_next_cred':
| cc_file.c:368:9: error: 'maxsize' may be used uninitialized in this
function [-Werror=maybe-uninitialized]
| ret = load_data(context, id, maxsize, buf);
| ^
| cc_file.c:1091:12: note: 'maxsize' was declared here
| size_t maxsize;
| ^
| cc1: some warnings being treated as errors
Looking at the source, this doesn't make any sense at all. The
declaration of the variable isn't even in the same method body. And the
line it complains about is about the fifth time it passes that variable
to another method.
And working around it by initializing maxsize=0 just makes the compiler
choke on a similar situation elsewhere:
| packet.c:50:67: error: 'id' may be used uninitialized in this function
I suspect the problem here is GCC and not the krb code. Anyone seen this?
--
Mike Looijmans
More information about the Openembedded-devel
mailing list