tpm2-pkcs11 fails to build with gcc 10: /bin/sh ./libtool --tag=CC --mode=link gcc -I./src -I./src/lib -Wall -Wextra -Werror -Wformat -Wformat-security -Wstack-protector -fstack-protector-all -Wstrict-overflow=5 -O2 -fPIC -fPIE -pthread -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,--version-script=./lib/tpm2-pkcs11.map -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o src/libtpm2_pkcs11.la -rpath /usr/lib64/pkcs11 src/pkcs11.lo src/lib/attrs.lo src/lib/db.lo src/lib/digest.lo src/lib/emitter.lo src/lib/encrypt.lo src/lib/general.lo src/lib/key.lo src/lib/mutex.lo src/lib/object.lo src/lib/openssl_compat.lo src/lib/parser.lo src/lib/random.lo src/lib/session.lo src/lib/session_ctx.lo src/lib/session_table.lo src/lib/sign.lo src/lib/slot.lo src/lib/token.lo src/lib/tpm.lo src/lib/twist.lo src/lib/typed_memory.lo src/lib/utils.lo -shared -pie -Wl,-z,relro -Wl,-z,now -ltss2-esys -ltss2-mu -ltss2-tctildr -ltss2-rc -lsqlite3 -lcrypto -lyaml libtool: link: gcc -shared -fPIC -DPIC src/.libs/pkcs11.o src/lib/.libs/attrs.o src/lib/.libs/db.o src/lib/.libs/digest.o src/lib/.libs/emitter.o src/lib/.libs/encrypt.o src/lib/.libs/general.o src/lib/.libs/key.o src/lib/.libs/mutex.o src/lib/.libs/object.o src/lib/.libs/openssl_compat.o src/lib/.libs/parser.o src/lib/.libs/random.o src/lib/.libs/session.o src/lib/.libs/session_ctx.o src/lib/.libs/session_table.o src/lib/.libs/sign.o src/lib/.libs/slot.o src/lib/.libs/token.o src/lib/.libs/tpm.o src/lib/.libs/twist.o src/lib/.libs/typed_memory.o src/lib/.libs/utils.o -ltss2-esys -ltss2-mu -ltss2-tctildr -ltss2-rc -lsqlite3 -lcrypto -lyaml -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -fstack-protector-all -O2 -pthread -O2 -g -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -Wl,--version-script=./lib/tpm2-pkcs11.map -Wl,-z -Wl,relro -Wl,--as-needed -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,-z -Wl,relro -Wl,-z -Wl,now -pthread -Wl,-soname -Wl,libtpm2_pkcs11.so.0 -o src/.libs/libtpm2_pkcs11.so.0.0.0 /usr/bin/ld: src/lib/.libs/db.o:/builddir/build/BUILD/tpm2-pkcs11-1.0.1/src/lib/token.h:18: multiple definition of `config'; src/.libs/pkcs11.o:/builddir/build/BUILD/tpm2-pkcs11-1.0.1/./src/lib/token.h:18: first defined here /usr/bin/ld: src/lib/.libs/digest.o:/builddir/build/BUILD/tpm2-pkcs11-1.0.1/src/lib/token.h:18: multiple definition of `config'; src/.libs/pkcs11.o:/builddir/build/BUILD/tpm2-pkcs11-1.0.1/./src/lib/token.h:18: first defined here /usr/bin/ld: src/lib/.libs/encrypt.o:/builddir/build/BUILD/tpm2-pkcs11-1.0.1/src/lib/token.h:18: multiple definition of `config'; src/.libs/pkcs11.o:/builddir/build/BUILD/tpm2-pkcs11-1.0.1/./src/lib/token.h:18: first defined here /usr/bin/ld: src/lib/.libs/general.o:/builddir/build/BUILD/tpm2-pkcs11-1.0.1/src/lib/token.h:18: multiple definition of `config'; src/.libs/pkcs11.o:/builddir/build/BUILD/tpm2-pkcs11-1.0.1/./src/lib/token.h:18: first defined here /usr/bin/ld: src/lib/.libs/key.o:/builddir/build/BUILD/tpm2-pkcs11-1.0.1/src/lib/token.h:18: multiple definition of `config'; src/.libs/pkcs11.o:/builddir/build/BUILD/tpm2-pkcs11-1.0.1/./src/lib/token.h:18: first defined here /usr/bin/ld: src/lib/.libs/object.o:/builddir/build/BUILD/tpm2-pkcs11-1.0.1/src/lib/token.h:18: multiple definition of `config'; src/.libs/pkcs11.o:/builddir/build/BUILD/tpm2-pkcs11-1.0.1/./src/lib/token.h:18: first defined here /usr/bin/ld: src/lib/.libs/parser.o:/builddir/build/BUILD/tpm2-pkcs11-1.0.1/src/lib/token.h:18: multiple definition of `config'; src/.libs/pkcs11.o:/builddir/build/BUILD/tpm2-pkcs11-1.0.1/./src/lib/token.h:18: first defined here /usr/bin/ld: src/lib/.libs/random.o:/builddir/build/BUILD/tpm2-pkcs11-1.0.1/src/lib/token.h:18: multiple definition of `config'; src/.libs/pkcs11.o:/builddir/build/BUILD/tpm2-pkcs11-1.0.1/./src/lib/token.h:18: first defined here /usr/bin/ld: src/lib/.libs/session.o:/builddir/build/BUILD/tpm2-pkcs11-1.0.1/src/lib/token.h:18: multiple definition of `config'; src/.libs/pkcs11.o:/builddir/build/BUILD/tpm2-pkcs11-1.0.1/./src/lib/token.h:18: first defined here /usr/bin/ld: src/lib/.libs/session_ctx.o:/builddir/build/BUILD/tpm2-pkcs11-1.0.1/src/lib/token.h:18: multiple definition of `config'; src/.libs/pkcs11.o:/builddir/build/BUILD/tpm2-pkcs11-1.0.1/./src/lib/token.h:18: first defined here /usr/bin/ld: src/lib/.libs/session_table.o:/builddir/build/BUILD/tpm2-pkcs11-1.0.1/src/lib/token.h:18: multiple definition of `config'; src/.libs/pkcs11.o:/builddir/build/BUILD/tpm2-pkcs11-1.0.1/./src/lib/token.h:18: first defined here /usr/bin/ld: src/lib/.libs/sign.o:/builddir/build/BUILD/tpm2-pkcs11-1.0.1/src/lib/token.h:18: multiple definition of `config'; src/.libs/pkcs11.o:/builddir/build/BUILD/tpm2-pkcs11-1.0.1/./src/lib/token.h:18: first defined here /usr/bin/ld: src/lib/.libs/slot.o:/builddir/build/BUILD/tpm2-pkcs11-1.0.1/src/lib/token.h:18: multiple definition of `config'; src/.libs/pkcs11.o:/builddir/build/BUILD/tpm2-pkcs11-1.0.1/./src/lib/token.h:18: first defined here /usr/bin/ld: src/lib/.libs/token.o:/builddir/build/BUILD/tpm2-pkcs11-1.0.1/src/lib/token.h:18: multiple definition of `config'; src/.libs/pkcs11.o:/builddir/build/BUILD/tpm2-pkcs11-1.0.1/./src/lib/token.h:18: first defined here /usr/bin/ld: src/lib/.libs/utils.o:/builddir/build/BUILD/tpm2-pkcs11-1.0.1/src/lib/token.h:18: multiple definition of `config'; src/.libs/pkcs11.o:/builddir/build/BUILD/tpm2-pkcs11-1.0.1/./src/lib/token.h:18: first defined here collect2: error: ld returned 1 exit status This blocks the Python 3.9 rebuild of the package. See https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/RYVPP45PMWPXYBBDKXO3CI7YGL7CDQG6/ and https://gcc.gnu.org/gcc-10/porting_to.html#common for more information about the failure.
https://github.com/tpm2-software/tpm2-pkcs11/pull/406