[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