Bug#982705: openssh: FTBFS: sha2.h:57:16: error: redefinition of ‘struct _SHA2_CTX’

Lucas Nussbaum <[email protected]>
Newsgroups gmane.linux.debian.devel.ssh
Message-ID <20210213170432.GA9028__39120.7425318257$1613237832$gmane$org@xanadu.blop.info>
Source: openssh
Version: 1:8.4p1-3
Severity: serious
Justification: FTBFS on amd64
Tags: bullseye sid ftbfs
Usertags: ftbfs-20210213 ftbfs-bullseye

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.

Relevant part (hopefully):
> cc -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -pipe -Wno-error=format-truncation -Wall -Wextra -Wpointer-arith -Wuninitialized -Wsign-compare -Wformat-security -Wsizeof-pointer-memaccess -Wno-pointer-sign -Wno-unused-parameter -Wno-unused-result -Wimplicit-fallthrough -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -ftrapv -fno-builtin-memset -fstack-protector-strong -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DSSH_EXTRAVERSION=\"Debian-3\"   -I. -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -D_DEFAULT_SOURCE -I/usr/include/editline  -isystem /usr/include/mit-krb5 -isystem /usr/include/mit-krb5  -DSSHDIR=\"/etc/ssh\" -D_PATH_SSH_PROGRAM=\"/usr/bin/ssh\" -D_PATH_SSH_ASKPASS_DEFAULT=\"/usr/bin/ssh-askpass\" -D_PATH_SFTP_SERVER=\"/usr/lib/openssh/sftp-server\" -D_PATH_SSH_KEY_SIGN=\"/usr/lib/openssh/ssh-keysign\" -D_PATH_SSH_PKCS11_HELPER=\"/usr/lib/openssh/ssh-pkcs11-helper\" -D_PATH_SSH_SK_HELPER=\"/usr/lib/openssh/ssh-sk-helper\" -D_PATH_SSH_PIDDIR=\"/run\" -D_PATH_PRIVSEP_CHROOT_DIR=\"/run/sshd\" -DHAVE_CONFIG_H -c ../../sk-usbhid.c -o sk-usbhid.o
> In file included from ../../sk-usbhid.c:30:
> /usr/include/sha2.h:57:16: error: redefinition of ‘struct _SHA2_CTX’
>    57 | typedef struct _SHA2_CTX {
>       |                ^~~~~~~~~
> In file included from ../../openbsd-compat/openbsd-compat.h:46,
>                  from ../../includes.h:174,
>                  from ../../sk-usbhid.c:19:
> ../../openbsd-compat/sha2.h:66:16: note: originally defined here
>    66 | typedef struct _SHA2_CTX {
>       |                ^~~~~~~~~
> In file included from ../../sk-usbhid.c:30:
> /usr/include/sha2.h:64:3: error: conflicting types for ‘SHA2_CTX’
>    64 | } SHA2_CTX;
>       |   ^~~~~~~~
> In file included from ../../openbsd-compat/openbsd-compat.h:46,
>                  from ../../includes.h:174,
>                  from ../../sk-usbhid.c:19:
> ../../openbsd-compat/sha2.h:73:3: note: previous declaration of ‘SHA2_CTX’ was here
>    73 | } SHA2_CTX;
>       |   ^~~~~~~~
> In file included from ../../sk-usbhid.c:30:
> /usr/include/sha2.h:70:6: error: conflicting types for ‘SHA256Init’
>    70 | void SHA256Init(SHA2_CTX *);
>       |      ^~~~~~~~~~
> In file included from ../../openbsd-compat/openbsd-compat.h:46,
>                  from ../../includes.h:174,
>                  from ../../sk-usbhid.c:19:
> ../../openbsd-compat/sha2.h:96:6: note: previous declaration of ‘SHA256Init’ was here
>    96 | void SHA256Init(SHA2_CTX *);
>       |      ^~~~~~~~~~
> In file included from ../../sk-usbhid.c:30:
> /usr/include/sha2.h:72:6: error: conflicting types for ‘SHA256Update’
>    72 | void SHA256Update(SHA2_CTX *, const uint8_t *, size_t);
>       |      ^~~~~~~~~~~~
> In file included from ../../openbsd-compat/openbsd-compat.h:46,
>                  from ../../includes.h:174,
>                  from ../../sk-usbhid.c:19:
> ../../openbsd-compat/sha2.h:98:6: note: previous declaration of ‘SHA256Update’ was here
>    98 | void SHA256Update(SHA2_CTX *, const u_int8_t *, size_t)
>       |      ^~~~~~~~~~~~
> In file included from ../../sk-usbhid.c:30:
> /usr/include/sha2.h:73:6: error: conflicting types for ‘SHA256Pad’
>    73 | void SHA256Pad(SHA2_CTX *);
>       |      ^~~~~~~~~
> In file included from ../../openbsd-compat/openbsd-compat.h:46,
>                  from ../../includes.h:174,
>                  from ../../sk-usbhid.c:19:
> ../../openbsd-compat/sha2.h:100:6: note: previous declaration of ‘SHA256Pad’ was here
>   100 | void SHA256Pad(SHA2_CTX *);
>       |      ^~~~~~~~~
> In file included from ../../sk-usbhid.c:30:
> /usr/include/sha2.h:74:6: error: conflicting types for ‘SHA256Final’
>    74 | void SHA256Final(uint8_t [SHA256_DIGEST_LENGTH], SHA2_CTX *);
>       |      ^~~~~~~~~~~
> In file included from ../../openbsd-compat/openbsd-compat.h:46,
>                  from ../../includes.h:174,
>                  from ../../sk-usbhid.c:19:
> ../../openbsd-compat/sha2.h:101:6: note: previous declaration of ‘SHA256Final’ was here
>   101 | void SHA256Final(u_int8_t [SHA256_DIGEST_LENGTH], SHA2_CTX *)
>       |      ^~~~~~~~~~~
> In file included from ../../sk-usbhid.c:30:
> /usr/include/sha2.h:75:7: error: conflicting types for ‘SHA256End’
>    75 | char *SHA256End(SHA2_CTX *, char *);
>       |       ^~~~~~~~~
> In file included from ../../openbsd-compat/openbsd-compat.h:46,
>                  from ../../includes.h:174,
>                  from ../../sk-usbhid.c:19:
> ../../openbsd-compat/sha2.h:103:7: note: previous declaration of ‘SHA256End’ was here
>   103 | char *SHA256End(SHA2_CTX *, char *)
>       |       ^~~~~~~~~
> In file included from ../../sk-usbhid.c:30:
> /usr/include/sha2.h:80:6: error: conflicting types for ‘SHA384Init’
>    80 | void SHA384Init(SHA2_CTX *);
>       |      ^~~~~~~~~~
> In file included from ../../openbsd-compat/openbsd-compat.h:46,
>                  from ../../includes.h:174,
>                  from ../../sk-usbhid.c:19:
> ../../openbsd-compat/sha2.h:115:6: note: previous declaration of ‘SHA384Init’ was here
>   115 | void SHA384Init(SHA2_CTX *);
>       |      ^~~~~~~~~~
> In file included from ../../sk-usbhid.c:30:
> /usr/include/sha2.h:82:6: error: conflicting types for ‘SHA384Update’
>    82 | void SHA384Update(SHA2_CTX *, const uint8_t *, size_t);
>       |      ^~~~~~~~~~~~
> In file included from ../../openbsd-compat/openbsd-compat.h:46,
>                  from ../../includes.h:174,
>                  from ../../sk-usbhid.c:19:
> ../../openbsd-compat/sha2.h:117:6: note: previous declaration of ‘SHA384Update’ was here
>   117 | void SHA384Update(SHA2_CTX *, const u_int8_t *, size_t)
>       |      ^~~~~~~~~~~~
> In file included from ../../sk-usbhid.c:30:
> /usr/include/sha2.h:83:6: error: conflicting types for ‘SHA384Pad’
>    83 | void SHA384Pad(SHA2_CTX *);
>       |      ^~~~~~~~~
> In file included from ../../openbsd-compat/openbsd-compat.h:46,
>                  from ../../includes.h:174,
>                  from ../../sk-usbhid.c:19:
> ../../openbsd-compat/sha2.h:119:6: note: previous declaration of ‘SHA384Pad’ was here
>   119 | void SHA384Pad(SHA2_CTX *);
>       |      ^~~~~~~~~
> In file included from ../../sk-usbhid.c:30:
> /usr/include/sha2.h:84:6: error: conflicting types for ‘SHA384Final’
>    84 | void SHA384Final(uint8_t [SHA384_DIGEST_LENGTH], SHA2_CTX *);
>       |      ^~~~~~~~~~~
> In file included from ../../openbsd-compat/openbsd-compat.h:46,
>                  from ../../includes.h:174,
>                  from ../../sk-usbhid.c:19:
> ../../openbsd-compat/sha2.h:120:6: note: previous declaration of ‘SHA384Final’ was here
>   120 | void SHA384Final(u_int8_t [SHA384_DIGEST_LENGTH], SHA2_CTX *)
>       |      ^~~~~~~~~~~
> In file included from ../../sk-usbhid.c:30:
> /usr/include/sha2.h:85:7: error: conflicting types for ‘SHA384End’
>    85 | char *SHA384End(SHA2_CTX *, char *);
>       |       ^~~~~~~~~
> In file included from ../../openbsd-compat/openbsd-compat.h:46,
>                  from ../../includes.h:174,
>                  from ../../sk-usbhid.c:19:
> ../../openbsd-compat/sha2.h:122:7: note: previous declaration of ‘SHA384End’ was here
>   122 | char *SHA384End(SHA2_CTX *, char *)
>       |       ^~~~~~~~~
> In file included from ../../sk-usbhid.c:30:
> /usr/include/sha2.h:90:6: error: conflicting types for ‘SHA512Init’
>    90 | void SHA512Init(SHA2_CTX *);
>       |      ^~~~~~~~~~
> In file included from ../../openbsd-compat/openbsd-compat.h:46,
>                  from ../../includes.h:174,
>                  from ../../sk-usbhid.c:19:
> ../../openbsd-compat/sha2.h:134:6: note: previous declaration of ‘SHA512Init’ was here
>   134 | void SHA512Init(SHA2_CTX *);
>       |      ^~~~~~~~~~
> In file included from ../../sk-usbhid.c:30:
> /usr/include/sha2.h:92:6: error: conflicting types for ‘SHA512Update’
>    92 | void SHA512Update(SHA2_CTX *, const uint8_t *, size_t);
>       |      ^~~~~~~~~~~~
> In file included from ../../openbsd-compat/openbsd-compat.h:46,
>                  from ../../includes.h:174,
>                  from ../../sk-usbhid.c:19:
> ../../openbsd-compat/sha2.h:136:6: note: previous declaration of ‘SHA512Update’ was here
>   136 | void SHA512Update(SHA2_CTX *, const u_int8_t *, size_t)
>       |      ^~~~~~~~~~~~
> In file included from ../../sk-usbhid.c:30:
> /usr/include/sha2.h:93:6: error: conflicting types for ‘SHA512Pad’
>    93 | void SHA512Pad(SHA2_CTX *);
>       |      ^~~~~~~~~
> In file included from ../../openbsd-compat/openbsd-compat.h:46,
>                  from ../../includes.h:174,
>                  from ../../sk-usbhid.c:19:
> ../../openbsd-compat/sha2.h:138:6: note: previous declaration of ‘SHA512Pad’ was here
>   138 | void SHA512Pad(SHA2_CTX *);
>       |      ^~~~~~~~~
> In file included from ../../sk-usbhid.c:30:
> /usr/include/sha2.h:94:6: error: conflicting types for ‘SHA512Final’
>    94 | void SHA512Final(uint8_t [SHA512_DIGEST_LENGTH], SHA2_CTX *);
>       |      ^~~~~~~~~~~
> In file included from ../../openbsd-compat/openbsd-compat.h:46,
>                  from ../../includes.h:174,
>                  from ../../sk-usbhid.c:19:
> ../../openbsd-compat/sha2.h:139:6: note: previous declaration of ‘SHA512Final’ was here
>   139 | void SHA512Final(u_int8_t [SHA512_DIGEST_LENGTH], SHA2_CTX *)
>       |      ^~~~~~~~~~~
> In file included from ../../sk-usbhid.c:30:
> /usr/include/sha2.h:95:7: error: conflicting types for ‘SHA512End’
>    95 | char *SHA512End(SHA2_CTX *, char *);
>       |       ^~~~~~~~~
> In file included from ../../openbsd-compat/openbsd-compat.h:46,
>                  from ../../includes.h:174,
>                  from ../../sk-usbhid.c:19:
> ../../openbsd-compat/sha2.h:141:7: note: previous declaration of ‘SHA512End’ was here
>   141 | char *SHA512End(SHA2_CTX *, char *)
>       |       ^~~~~~~~~
> make[2]: *** [Makefile:196: sk-usbhid.o] Error 1

The full build log is available from:
   http://qa-logs.debian.net/2021/02/13/openssh_8.4p1-3_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!

If you reassign this bug to another package, please marking it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with me
so that we can identify if something relevant changed in the meantime.

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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.