[Pkg-netatalk-devel] Bug#973120: netatalk: FTBFS: bufferevent_openssl.c:106:3: error: invalid use of incomplete typedef ‘BIO’ {aka ‘struct bio_st’}
Lucas Nussbaum
lucas at debian.org
Tue Oct 27 17:00:20 GMT 2020
Source: netatalk
Version: 3.1.12~ds-5
Severity: serious
Justification: FTBFS on amd64
Tags: bullseye sid ftbfs
Usertags: ftbfs-20201027 ftbfs-bullseye
Hi,
During a rebuild of all packages in sid, your package failed to build
on amd64.
Relevant part (hopefully):
> /bin/bash ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I./compat -I./include -I./include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -fno-strict-aliasing -pthread -c -o bufferevent_openssl.lo bufferevent_openssl.c
> libtool: compile: gcc -DHAVE_CONFIG_H -I. -I./compat -I./include -I./include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 "-fdebug-prefix-map=/<<PKGBUILDDIR>>=." -fstack-protector-strong -Wformat -Werror=format-security -Wall -fno-strict-aliasing -pthread -c bufferevent_openssl.c -fPIC -DPIC -o .libs/bufferevent_openssl.o
> bufferevent_openssl.c: In function ‘bio_bufferevent_new’:
> bufferevent_openssl.c:106:3: error: invalid use of incomplete typedef ‘BIO’ {aka ‘struct bio_st’}
> 106 | b->init = 0;
> | ^~
> bufferevent_openssl.c:107:3: error: invalid use of incomplete typedef ‘BIO’ {aka ‘struct bio_st’}
> 107 | b->num = -1;
> | ^~
> bufferevent_openssl.c:108:3: error: invalid use of incomplete typedef ‘BIO’ {aka ‘struct bio_st’}
> 108 | b->ptr = NULL; /* We'll be putting the bufferevent in this field.*/
> | ^~
> bufferevent_openssl.c:109:3: error: invalid use of incomplete typedef ‘BIO’ {aka ‘struct bio_st’}
> 109 | b->flags = 0;
> | ^~
> bufferevent_openssl.c: In function ‘bio_bufferevent_free’:
> bufferevent_openssl.c:119:7: error: invalid use of incomplete typedef ‘BIO’ {aka ‘struct bio_st’}
> 119 | if (b->shutdown) {
> | ^~
> bufferevent_openssl.c:120:8: error: invalid use of incomplete typedef ‘BIO’ {aka ‘struct bio_st’}
> 120 | if (b->init && b->ptr)
> | ^~
> bufferevent_openssl.c:120:19: error: invalid use of incomplete typedef ‘BIO’ {aka ‘struct bio_st’}
> 120 | if (b->init && b->ptr)
> | ^~
> bufferevent_openssl.c:121:22: error: invalid use of incomplete typedef ‘BIO’ {aka ‘struct bio_st’}
> 121 | bufferevent_free(b->ptr);
> | ^~
> bufferevent_openssl.c:122:4: error: invalid use of incomplete typedef ‘BIO’ {aka ‘struct bio_st’}
> 122 | b->init = 0;
> | ^~
> bufferevent_openssl.c:123:4: error: invalid use of incomplete typedef ‘BIO’ {aka ‘struct bio_st’}
> 123 | b->flags = 0;
> | ^~
> bufferevent_openssl.c:124:4: error: invalid use of incomplete typedef ‘BIO’ {aka ‘struct bio_st’}
> 124 | b->ptr = NULL;
> | ^~
> bufferevent_openssl.c: In function ‘bio_bufferevent_read’:
> bufferevent_openssl.c:140:8: error: invalid use of incomplete typedef ‘BIO’ {aka ‘struct bio_st’}
> 140 | if (!b->ptr)
> | ^~
> bufferevent_openssl.c:143:33: error: invalid use of incomplete typedef ‘BIO’ {aka ‘struct bio_st’}
> 143 | input = bufferevent_get_input(b->ptr);
> | ^~
> bufferevent_openssl.c: In function ‘bio_bufferevent_write’:
> bufferevent_openssl.c:159:31: error: invalid use of incomplete typedef ‘BIO’ {aka ‘struct bio_st’}
> 159 | struct bufferevent *bufev = b->ptr;
> | ^~
> bufferevent_openssl.c:165:8: error: invalid use of incomplete typedef ‘BIO’ {aka ‘struct bio_st’}
> 165 | if (!b->ptr)
> | ^~
> bufferevent_openssl.c: In function ‘bio_bufferevent_ctrl’:
> bufferevent_openssl.c:191:31: error: invalid use of incomplete typedef ‘BIO’ {aka ‘struct bio_st’}
> 191 | struct bufferevent *bufev = b->ptr;
> | ^~
> bufferevent_openssl.c:196:10: error: invalid use of incomplete typedef ‘BIO’ {aka ‘struct bio_st’}
> 196 | ret = b->shutdown;
> | ^~
> bufferevent_openssl.c:199:4: error: invalid use of incomplete typedef ‘BIO’ {aka ‘struct bio_st’}
> 199 | b->shutdown = (int)num;
> | ^~
> bufferevent_openssl.c: At top level:
> bufferevent_openssl.c:228:1: error: variable ‘methods_bufferevent’ has initializer but incomplete type
> 228 | static BIO_METHOD methods_bufferevent = {
> | ^~~~~~
> bufferevent_openssl.c:79:27: warning: excess elements in struct initializer
> 79 | #define BIO_TYPE_LIBEVENT 57
> | ^~
> bufferevent_openssl.c:229:2: note: in expansion of macro ‘BIO_TYPE_LIBEVENT’
> 229 | BIO_TYPE_LIBEVENT, "bufferevent",
> | ^~~~~~~~~~~~~~~~~
> bufferevent_openssl.c:79:27: note: (near initialization for ‘methods_bufferevent’)
> 79 | #define BIO_TYPE_LIBEVENT 57
> | ^~
> bufferevent_openssl.c:229:2: note: in expansion of macro ‘BIO_TYPE_LIBEVENT’
> 229 | BIO_TYPE_LIBEVENT, "bufferevent",
> | ^~~~~~~~~~~~~~~~~
> bufferevent_openssl.c:229:21: warning: excess elements in struct initializer
> 229 | BIO_TYPE_LIBEVENT, "bufferevent",
> | ^~~~~~~~~~~~~
> bufferevent_openssl.c:229:21: note: (near initialization for ‘methods_bufferevent’)
> bufferevent_openssl.c:230:2: warning: excess elements in struct initializer
> 230 | bio_bufferevent_write,
> | ^~~~~~~~~~~~~~~~~~~~~
> bufferevent_openssl.c:230:2: note: (near initialization for ‘methods_bufferevent’)
> bufferevent_openssl.c:231:2: warning: excess elements in struct initializer
> 231 | bio_bufferevent_read,
> | ^~~~~~~~~~~~~~~~~~~~
> bufferevent_openssl.c:231:2: note: (near initialization for ‘methods_bufferevent’)
> bufferevent_openssl.c:232:2: warning: excess elements in struct initializer
> 232 | bio_bufferevent_puts,
> | ^~~~~~~~~~~~~~~~~~~~
> bufferevent_openssl.c:232:2: note: (near initialization for ‘methods_bufferevent’)
> bufferevent_openssl.c:233:2: warning: excess elements in struct initializer
> 233 | NULL /* bio_bufferevent_gets */,
> | ^~~~
> bufferevent_openssl.c:233:2: note: (near initialization for ‘methods_bufferevent’)
> bufferevent_openssl.c:234:2: warning: excess elements in struct initializer
> 234 | bio_bufferevent_ctrl,
> | ^~~~~~~~~~~~~~~~~~~~
> bufferevent_openssl.c:234:2: note: (near initialization for ‘methods_bufferevent’)
> bufferevent_openssl.c:235:2: warning: excess elements in struct initializer
> 235 | bio_bufferevent_new,
> | ^~~~~~~~~~~~~~~~~~~
> bufferevent_openssl.c:235:2: note: (near initialization for ‘methods_bufferevent’)
> bufferevent_openssl.c:236:2: warning: excess elements in struct initializer
> 236 | bio_bufferevent_free,
> | ^~~~~~~~~~~~~~~~~~~~
> bufferevent_openssl.c:236:2: note: (near initialization for ‘methods_bufferevent’)
> bufferevent_openssl.c:237:2: warning: excess elements in struct initializer
> 237 | NULL /* callback_ctrl */,
> | ^~~~
> bufferevent_openssl.c:237:2: note: (near initialization for ‘methods_bufferevent’)
> bufferevent_openssl.c: In function ‘BIO_new_bufferevent’:
> bufferevent_openssl.c:257:8: error: invalid use of incomplete typedef ‘BIO’ {aka ‘struct bio_st’}
> 257 | result->init = 1;
> | ^~
> bufferevent_openssl.c:258:8: error: invalid use of incomplete typedef ‘BIO’ {aka ‘struct bio_st’}
> 258 | result->ptr = bufferevent;
> | ^~
> bufferevent_openssl.c:259:8: error: invalid use of incomplete typedef ‘BIO’ {aka ‘struct bio_st’}
> 259 | result->shutdown = close_flag ? 1 : 0;
> | ^~
> bufferevent_openssl.c: At top level:
> bufferevent_openssl.c:228:19: error: storage size of ‘methods_bufferevent’ isn’t known
> 228 | static BIO_METHOD methods_bufferevent = {
> | ^~~~~~~~~~~~~~~~~~~
> make[5]: *** [Makefile:915: bufferevent_openssl.lo] Error 1
The full build log is available from:
http://qa-logs.debian.net/2020/10/27/netatalk_3.1.12~ds-5_unstable.log
A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!
About the archive rebuild: The rebuild was done on EC2 VM instances from
Amazon Web Services, using a clean, minimal and up-to-date chroot. Every
failed build was retried once to eliminate random failures.
More information about the pkg-netatalk-devel
mailing list