Description
Not able to compile on raspberry Pi 5, bookworm.
I download the latest openssl 1.1.1w, and installed it.
Then, I tried to install tpm2-tss-engine, but failed.
shm@shm:~/playground/tpm2-tss-engine $ openssl version OpenSSL 1.1.1w 11 Sep 2023 shm@shm:~/playground/tpm2-tss-engine $ make CC src/libtpm2tss_la-tpm2-tss-engine-ecc.lo src/tpm2-tss-engine-ecc.c: In function 'ecdsa_pkey_copy': src/tpm2-tss-engine-ecc.c:413:34: error: passing argument 2 of 'digest_sign_copy' discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers] 413 | return digest_sign_copy(dst, src); | ^~~ In file included from src/tpm2-tss-engine-ecc.c:42: src/tpm2-tss-engine-common.h:195:51: note: expected 'EVP_PKEY_CTX *' {aka 'struct evp_pkey_ctx_st *'} but argument is of type 'const EVP_PKEY_CTX *' {aka 'const struct evp_pkey_ctx_st *'} 195 | digest_sign_copy(EVP_PKEY_CTX *dst, EVP_PKEY_CTX *src); | ~~~~~~~~~~~~~~^~~ src/tpm2-tss-engine-ecc.c: In function 'init_ecc': src/tpm2-tss-engine-ecc.c:864:46: error: passing argument 2 of 'EVP_PKEY_meth_get_copy' from incompatible pointer type [-Werror=incompatible-pointer-types] 864 | EVP_PKEY_meth_get_copy(pkey_ecc_methods, &ecdsa_pkey_orig_copy); | ^~~~~~~~~~~~~~~~~~~~~ | | | int (**)(EVP_PKEY_CTX *, const EVP_PKEY_CTX *) {aka int (**)(struct evp_pkey_ctx_st *, const struct evp_pkey_ctx_st *)} In file included from /usr/local/include/openssl/pem.h:16, from /usr/local/include/openssl/ui.h:19, from /usr/local/include/openssl/engine.h:24, from src/tpm2-tss-engine-ecc.c:34: /usr/local/include/openssl/evp.h:1546:36: note: expected 'int (**)(EVP_PKEY_CTX *, EVP_PKEY_CTX *)' {aka 'int (**)(struct evp_pkey_ctx_st *, struct evp_pkey_ctx_st *)'} but argument is of type 'int (**)(EVP_PKEY_CTX *, const EVP_PKEY_CTX *)' {aka 'int (**)(struct evp_pkey_ctx_st *, const struct evp_pkey_ctx_st *)'} 1546 | int (**pcopy) (EVP_PKEY_CTX *dst, | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ 1547 | EVP_PKEY_CTX *src)); | ~~~~~~~~~~~~~~~~~~ src/tpm2-tss-engine-ecc.c:867:46: error: passing argument 2 of 'EVP_PKEY_meth_set_copy' from incompatible pointer type [-Werror=incompatible-pointer-types] 867 | EVP_PKEY_meth_set_copy(pkey_ecc_methods, ecdsa_pkey_copy); | ^~~~~~~~~~~~~~~ | | | int (*)(EVP_PKEY_CTX *, const EVP_PKEY_CTX *) {aka int (*)(struct evp_pkey_ctx_st *, const struct evp_pkey_ctx_st *)} /usr/local/include/openssl/evp.h:1427:35: note: expected 'int (*)(EVP_PKEY_CTX *, EVP_PKEY_CTX *)' {aka 'int (*)(struct evp_pkey_ctx_st *, struct evp_pkey_ctx_st *)'} but argument is of type 'int (*)(EVP_PKEY_CTX *, const EVP_PKEY_CTX *)' {aka 'int (*)(struct evp_pkey_ctx_st *, const struct evp_pkey_ctx_st *)'} 1427 | int (*copy) (EVP_PKEY_CTX *dst, | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 1428 | EVP_PKEY_CTX *src)); | ~~~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors make: *** [Makefile:1183: src/libtpm2tss_la-tpm2-tss-engine-ecc.lo] Error 1