[pkg-opensc-maint] Bug#925802: pam-p11: ftbfs with GCC-9

Matthias Klose doko at debian.org
Wed Mar 27 19:47:35 GMT 2019

Package: src:pam-p11
Version: 0.2.0-2
Severity: normal
Tags: sid bullseye
User: debian-gcc at lists.debian.org
Usertags: ftbfs-gcc-9

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-9/g++-9, but succeeds to build with gcc-8/g++-8. The
severity of this report will be raised before the bullseye release,
so nothing has to be done for the buster release.

The full build log can be found at:
The last lines of the build log are at the end of this report.

To build with GCC 9, either set CC=gcc-9 CXX=g++-9 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

GCC 9 also passes the linker option --as-needed by default; typical
build issues are passing libraries before object files to the linker,
or underlinking of convenience libraries built from the same source.


Version:                 0.2.0
Libraries:               /lib/x86_64-linux-gnu

Host:                    x86_64-pc-linux-gnu
Compiler:                gcc
Preprocessor flags:      -Wdate-time -D_FORTIFY_SOURCE=2
Compiler flags:          -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wextra -Wno-unused-parameter -Werror
Linker flags:            -Wl,-z,relro

pamdir                   /lib/x86_64-linux-gnu/security

PAM_LIBS:                -lpam
LIBP11_LIBS:             -lp11
OPENSSL_LIBS:            -lcrypto

make[1]: Leaving directory '/<<PKGBUILDDIR>>'
   dh_auto_build -a
	make -j4
make[1]: Entering directory '/<<PKGBUILDDIR>>'
make  all-recursive
make[2]: Entering directory '/<<PKGBUILDDIR>>'
Making all in po
make[3]: Entering directory '/<<PKGBUILDDIR>>/po'
test ! -f ./pam_p11.pot || \
  test -z "de.gmo" || make de.gmo
make[4]: Entering directory '/<<PKGBUILDDIR>>/po'
rm -f de.gmo && /usr/bin/msgfmt -c --statistics --verbose -o de.gmo de.po
de.po: 18 translated messages, 3 fuzzy translations.
make[4]: Leaving directory '/<<PKGBUILDDIR>>/po'
touch stamp-po
make[3]: Leaving directory '/<<PKGBUILDDIR>>/po'
Making all in src
make[3]: Entering directory '/<<PKGBUILDDIR>>/src'
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2    -DLOCALEDIR=\"/usr/share/locale\" -DLIBDIR=\"/lib/x86_64-linux-gnu\" -DTEST -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wextra -Wno-unused-parameter -Werror -c -o test_login-test.o `test -f 'test.c' || echo './'`test.c
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2    -DLOCALEDIR=\"/usr/share/locale\" -DLIBDIR=\"/lib/x86_64-linux-gnu\" -DTEST -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wextra -Wno-unused-parameter -Werror -c -o test_login-login.o `test -f 'login.c' || echo './'`login.c
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2    -DLOCALEDIR=\"/usr/share/locale\" -DLIBDIR=\"/lib/x86_64-linux-gnu\" -DTEST -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wextra -Wno-unused-parameter -Werror -c -o test_login-pam_p11.o `test -f 'pam_p11.c' || echo './'`pam_p11.c
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2    -DLOCALEDIR=\"/usr/share/locale\" -DLIBDIR=\"/lib/x86_64-linux-gnu\" -DTEST -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wextra -Wno-unused-parameter -Werror -c -o test_login-base64.o `test -f 'base64.c' || echo './'`base64.c
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2    -DLOCALEDIR=\"/usr/share/locale\" -DLIBDIR=\"/lib/x86_64-linux-gnu\" -DTEST -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wextra -Wno-unused-parameter -Werror -c -o test_login-match_openssh.o `test -f 'match_openssh.c' || echo './'`match_openssh.c
In file included from /usr/include/string.h:494,
                 from /usr/include/security/pam_client.h:17,
                 from /usr/include/security/pam_misc.h:7,
                 from test.c:27:
In function 'strncpy',
    inlined from 'main' at test.c:58:4:
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:106:10: error: '__builtin_strncpy' specified bound 32 equals destination size [-Werror=stringop-truncation]
  106 |   return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function 'strncpy',
    inlined from 'main' at test.c:61:4:
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:106:10: error: '__builtin_strncpy' specified bound 4096 equals destination size [-Werror=stringop-truncation]
  106 |   return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2    -DLOCALEDIR=\"/usr/share/locale\" -DLIBDIR=\"/lib/x86_64-linux-gnu\" -DTEST -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wextra -Wno-unused-parameter -Werror -c -o test_login-match_opensc.o `test -f 'match_opensc.c' || echo './'`match_opensc.c
cc1: all warnings being treated as errors
make[3]: *** [Makefile:550: test_login-test.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory '/<<PKGBUILDDIR>>/src'
make[2]: *** [Makefile:496: all-recursive] Error 1
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[1]: *** [Makefile:407: all] Error 2
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_build: make -j4 returned exit code 2
make: *** [debian/rules:6: binary-arch] Error 2
dpkg-buildpackage: error: debian/rules binary-arch subprocess returned exit status 2

More information about the pkg-opensc-maint mailing list