[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