Bug#897714: bzrtp: ftbfs with GCC-8

Matthias Klose doko at debian.org
Fri May 4 13:20:56 BST 2018


Package: src:bzrtp
Version: 1.0.6-2
Severity: normal
Tags: sid buster
User: debian-gcc at lists.debian.org
Usertags: ftbfs-gcc-8

Please keep this issue open in the bug tracker for the package it
was filed for.  If a fix in another package is required, please
file a bug for the other package (or clone), and add a block in this
package. Please keep the issue open until the package can be built in
a follow-up test rebuild.

The package fails to build in a test rebuild on at least amd64 with
gcc-8/g++-8, but succeeds to build with gcc-7/g++-7. The
severity of this report will be raised before the buster release.

The full build log can be found at:
http://aws-logs.debian.net/2018/05/01/gcc8/bzrtp_1.0.6-2_unstable_gcc8.log.gz
The last lines of the build log are at the end of this report.

To build with GCC 8, either set CC=gcc-8 CXX=g++-8 explicitly,
or install the gcc, g++, gfortran, ... packages from experimental.

  apt-get -t=experimental install g++ 

Common build failures are new warnings resulting in build failures with
-Werror turned on, or new/dropped symbols in Debian symbols files.
For other C/C++ related build failures see the porting guide at
http://gcc.gnu.org/gcc-8/porting_to.html

[...]
   ^
/<<PKGBUILDDIR>>/src/stateMachine.c: In function 'bzrtp_deriveKeysFromS0':
/<<PKGBUILDDIR>>/src/stateMachine.c:2057:234: error: cast between incompatible function types from 'void (*)(const uint8_t *, size_t,  const uint8_t *, size_t,  uint8_t,  uint8_t *)' {aka 'void (*)(const unsigned char *, long unsigned int,  const unsigned char *, long unsigned int,  unsigned char,  unsigned char *)'} to 'void (*)(uint8_t *, uint8_t,  uint8_t *, uint32_t,  uint8_t,  uint8_t *)' {aka 'void (*)(unsigned char *, unsigned char,  unsigned char *, unsigned int,  unsigned char,  unsigned char *)'} [-Werror=cast-function-type]
  retval = bzrtp_keyDerivationFunction(zrtpChannelContext->s0, zrtpChannelContext->hashLength, (uint8_t *)"Initiator HMAC key", 18, zrtpChannelContext->KDFContext, zrtpChannelContext->KDFContextLength, zrtpChannelContext->hashLength, (void (*)(uint8_t *, uint8_t,  uint8_t *, uint32_t,  uint8_t,  uint8_t *))zrtpChannelContext->hmacFunction, zrtpChannelContext->mackeyi);
                                                                                                                                                                                                                                          ^
/<<PKGBUILDDIR>>/src/stateMachine.c:2059:235: error: cast between incompatible function types from 'void (*)(const uint8_t *, size_t,  const uint8_t *, size_t,  uint8_t,  uint8_t *)' {aka 'void (*)(const unsigned char *, long unsigned int,  const unsigned char *, long unsigned int,  unsigned char,  unsigned char *)'} to 'void (*)(uint8_t *, uint8_t,  uint8_t *, uint32_t,  uint8_t,  uint8_t *)' {aka 'void (*)(unsigned char *, unsigned char,  unsigned char *, unsigned int,  unsigned char,  unsigned char *)'} [-Werror=cast-function-type]
  retval += bzrtp_keyDerivationFunction(zrtpChannelContext->s0, zrtpChannelContext->hashLength, (uint8_t *)"Responder HMAC key", 18, zrtpChannelContext->KDFContext, zrtpChannelContext->KDFContextLength, zrtpChannelContext->hashLength, (void (*)(uint8_t *, uint8_t,  uint8_t *, uint32_t,  uint8_t,  uint8_t *))zrtpChannelContext->hmacFunction, zrtpChannelContext->mackeyr);
                                                                                                                                                                                                                                           ^
/<<PKGBUILDDIR>>/src/stateMachine.c:2061:240: error: cast between incompatible function types from 'void (*)(const uint8_t *, size_t,  const uint8_t *, size_t,  uint8_t,  uint8_t *)' {aka 'void (*)(const unsigned char *, long unsigned int,  const unsigned char *, long unsigned int,  unsigned char,  unsigned char *)'} to 'void (*)(uint8_t *, uint8_t,  uint8_t *, uint32_t,  uint8_t,  uint8_t *)' {aka 'void (*)(unsigned char *, unsigned char,  unsigned char *, unsigned int,  unsigned char,  unsigned char *)'} [-Werror=cast-function-type]
  retval += bzrtp_keyDerivationFunction(zrtpChannelContext->s0, zrtpChannelContext->hashLength, (uint8_t *)"Initiator ZRTP key", 18, zrtpChannelContext->KDFContext, zrtpChannelContext->KDFContextLength, zrtpChannelContext->cipherKeyLength, (void (*)(uint8_t *, uint8_t,  uint8_t *, uint32_t,  uint8_t,  uint8_t *))zrtpChannelContext->hmacFunction, zrtpChannelContext->zrtpkeyi);
                                                                                                                                                                                                                                                ^
/<<PKGBUILDDIR>>/src/stateMachine.c:2063:240: error: cast between incompatible function types from 'void (*)(const uint8_t *, size_t,  const uint8_t *, size_t,  uint8_t,  uint8_t *)' {aka 'void (*)(const unsigned char *, long unsigned int,  const unsigned char *, long unsigned int,  unsigned char,  unsigned char *)'} to 'void (*)(uint8_t *, uint8_t,  uint8_t *, uint32_t,  uint8_t,  uint8_t *)' {aka 'void (*)(unsigned char *, unsigned char,  unsigned char *, unsigned int,  unsigned char,  unsigned char *)'} [-Werror=cast-function-type]
  retval += bzrtp_keyDerivationFunction(zrtpChannelContext->s0, zrtpChannelContext->hashLength, (uint8_t *)"Responder ZRTP key", 18, zrtpChannelContext->KDFContext, zrtpChannelContext->KDFContextLength, zrtpChannelContext->cipherKeyLength, (void (*)(uint8_t *, uint8_t,  uint8_t *, uint32_t,  uint8_t,  uint8_t *))zrtpChannelContext->hmacFunction, zrtpChannelContext->zrtpkeyr);
                                                                                                                                                                                                                                                ^
/<<PKGBUILDDIR>>/src/stateMachine.c: In function 'bzrtp_deriveSrtpKeysFromS0':
/<<PKGBUILDDIR>>/src/stateMachine.c:2088:246: error: cast between incompatible function types from 'void (*)(const uint8_t *, size_t,  const uint8_t *, size_t,  uint8_t,  uint8_t *)' {aka 'void (*)(const unsigned char *, long unsigned int,  const unsigned char *, long unsigned int,  unsigned char,  unsigned char *)'} to 'void (*)(uint8_t *, uint8_t,  uint8_t *, uint32_t,  uint8_t,  uint8_t *)' {aka 'void (*)(unsigned char *, unsigned char,  unsigned char *, unsigned int,  unsigned char,  unsigned char *)'} [-Werror=cast-function-type]
  retval = bzrtp_keyDerivationFunction(zrtpChannelContext->s0, zrtpChannelContext->hashLength, (uint8_t *)"Initiator SRTP master key", 25, zrtpChannelContext->KDFContext, zrtpChannelContext->KDFContextLength, zrtpChannelContext->cipherKeyLength, (void (*)(uint8_t *, uint8_t,  uint8_t *, uint32_t,  uint8_t,  uint8_t *))zrtpChannelContext->hmacFunction, srtpkeyi);
                                                                                                                                                                                                                                                      ^
/<<PKGBUILDDIR>>/src/stateMachine.c:2090:215: error: cast between incompatible function types from 'void (*)(const uint8_t *, size_t,  const uint8_t *, size_t,  uint8_t,  uint8_t *)' {aka 'void (*)(const unsigned char *, long unsigned int,  const unsigned char *, long unsigned int,  unsigned char,  unsigned char *)'} to 'void (*)(uint8_t *, uint8_t,  uint8_t *, uint32_t,  uint8_t,  uint8_t *)' {aka 'void (*)(unsigned char *, unsigned char,  unsigned char *, unsigned int,  unsigned char,  unsigned char *)'} [-Werror=cast-function-type]
  retval += bzrtp_keyDerivationFunction(zrtpChannelContext->s0, zrtpChannelContext->hashLength, (uint8_t *)"Initiator SRTP master salt", 26, zrtpChannelContext->KDFContext, zrtpChannelContext->KDFContextLength, 14, (void (*)(uint8_t *, uint8_t,  uint8_t *, uint32_t,  uint8_t,  uint8_t *))zrtpChannelContext->hmacFunction, srtpsalti);
                                                                                                                                                                                                                       ^
/<<PKGBUILDDIR>>/src/stateMachine.c:2093:247: error: cast between incompatible function types from 'void (*)(const uint8_t *, size_t,  const uint8_t *, size_t,  uint8_t,  uint8_t *)' {aka 'void (*)(const unsigned char *, long unsigned int,  const unsigned char *, long unsigned int,  unsigned char,  unsigned char *)'} to 'void (*)(uint8_t *, uint8_t,  uint8_t *, uint32_t,  uint8_t,  uint8_t *)' {aka 'void (*)(unsigned char *, unsigned char,  unsigned char *, unsigned int,  unsigned char,  unsigned char *)'} [-Werror=cast-function-type]
  retval += bzrtp_keyDerivationFunction(zrtpChannelContext->s0, zrtpChannelContext->hashLength, (uint8_t *)"Responder SRTP master key", 25, zrtpChannelContext->KDFContext, zrtpChannelContext->KDFContextLength, zrtpChannelContext->cipherKeyLength, (void (*)(uint8_t *, uint8_t,  uint8_t *, uint32_t,  uint8_t,  uint8_t *))zrtpChannelContext->hmacFunction, srtpkeyr);
                                                                                                                                                                                                                                                       ^
/<<PKGBUILDDIR>>/src/stateMachine.c:2095:215: error: cast between incompatible function types from 'void (*)(const uint8_t *, size_t,  const uint8_t *, size_t,  uint8_t,  uint8_t *)' {aka 'void (*)(const unsigned char *, long unsigned int,  const unsigned char *, long unsigned int,  unsigned char,  unsigned char *)'} to 'void (*)(uint8_t *, uint8_t,  uint8_t *, uint32_t,  uint8_t,  uint8_t *)' {aka 'void (*)(unsigned char *, unsigned char,  unsigned char *, unsigned int,  unsigned char,  unsigned char *)'} [-Werror=cast-function-type]
  retval += bzrtp_keyDerivationFunction(zrtpChannelContext->s0, zrtpChannelContext->hashLength, (uint8_t *)"Responder SRTP master salt", 26, zrtpChannelContext->KDFContext, zrtpChannelContext->KDFContextLength, 14, (void (*)(uint8_t *, uint8_t,  uint8_t *, uint32_t,  uint8_t,  uint8_t *))zrtpChannelContext->hmacFunction, srtpsaltr);
                                                                                                                                                                                                                       ^
/<<PKGBUILDDIR>>/src/stateMachine.c:2144:5: error: cast between incompatible function types from 'void (*)(const uint8_t *, size_t,  const uint8_t *, size_t,  uint8_t,  uint8_t *)' {aka 'void (*)(const unsigned char *, long unsigned int,  const unsigned char *, long unsigned int,  unsigned char,  unsigned char *)'} to 'void (*)(uint8_t *, uint8_t,  uint8_t *, uint32_t,  uint8_t,  uint8_t *)' {aka 'void (*)(unsigned char *, unsigned char,  unsigned char *, unsigned int,  unsigned char,  unsigned char *)'} [-Werror=cast-function-type]
     (void (*)(uint8_t *, uint8_t,  uint8_t *, uint32_t,  uint8_t,  uint8_t *))zrtpChannelContext->hmacFunction,
     ^
/<<PKGBUILDDIR>>/src/stateMachine.c: In function 'bzrtp_updateCachedSecrets':
/<<PKGBUILDDIR>>/src/stateMachine.c:2205:214: error: cast between incompatible function types from 'void (*)(const uint8_t *, size_t,  const uint8_t *, size_t,  uint8_t,  uint8_t *)' {aka 'void (*)(const unsigned char *, long unsigned int,  const unsigned char *, long unsigned int,  unsigned char,  unsigned char *)'} to 'void (*)(uint8_t *, uint8_t,  uint8_t *, uint32_t,  uint8_t,  uint8_t *)' {aka 'void (*)(unsigned char *, unsigned char,  unsigned char *, unsigned int,  unsigned char,  unsigned char *)'} [-Werror=cast-function-type]
  bzrtp_keyDerivationFunction(zrtpChannelContext->s0, zrtpChannelContext->hashLength, (uint8_t *)"retained secret", 15, zrtpChannelContext->KDFContext, zrtpChannelContext->KDFContextLength, RETAINED_SECRET_LENGTH, (void (*)(uint8_t *, uint8_t,  uint8_t *, uint32_t,  uint8_t,  uint8_t *))zrtpChannelContext->hmacFunction, zrtpContext->cachedSecret.rs1);
                                                                                                                                                                                                                      ^
cc1: all warnings being treated as errors
make[3]: *** [src/CMakeFiles/bzrtp.dir/build.make:118: src/CMakeFiles/bzrtp.dir/stateMachine.c.o] Error 1
make[3]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
make[3]: Entering directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/src && /usr/bin/cc -DBCTBX_STATIC -DBZRTP_EXPORTS -DBZRTP_STATIC -DHAVE_CONFIG_H -DHAVE_LIBXML2 -DZIDCACHE_ENABLED -Dbzrtp_EXPORTS -I/<<PKGBUILDDIR>>/include -I/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu -I/usr/include/libxml2  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC    -Wall -Werror -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -o CMakeFiles/bzrtp.dir/zidCache.c.o   -c /<<PKGBUILDDIR>>/src/zidCache.c
make[3]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
make[2]: *** [CMakeFiles/Makefile2:109: src/CMakeFiles/bzrtp.dir/all] Error 2
make[2]: *** Waiting for unfinished jobs....
make[3]: Entering directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/src && /usr/bin/cc -DBCTBX_STATIC -DBZRTP_STATIC -DHAVE_CONFIG_H -DHAVE_LIBXML2 -DZIDCACHE_ENABLED -I/<<PKGBUILDDIR>>/include -I/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu -I/usr/include/libxml2  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2    -Wall -Werror -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -o CMakeFiles/bzrtp-static.dir/zidCache.c.o   -c /<<PKGBUILDDIR>>/src/zidCache.c
make[3]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
make[2]: *** [CMakeFiles/Makefile2:146: src/CMakeFiles/bzrtp-static.dir/all] Error 2
make[1]: *** [Makefile:155: all] Error 2
dh_auto_build: cd obj-x86_64-linux-gnu && make -j8 -Oline returned exit code 2
make: *** [debian/rules:10: build-arch] Error 25
dpkg-buildpackage: error: debian/rules build-arch subprocess returned exit status 2



More information about the Pkg-voip-maintainers mailing list