Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork33.7k
Closed
Description
Bug report
I have tried to build latest tagged release of Python v3.11.2 on a CentOS7 system with locally built OpenSSL library v3.1.0. During configuration step ssl library and headers are properly found. When I build Python I encounter error:
building '_ssl' extensiongcc -pthread .... /Modules/_ssl.o_ssl.c: In function '_ssl__SSLContext_set_ecdh_curve':/.../Python/Modules/_ssl.c:4344:11: error: implicit declaration of function 'EC_KEY_new_by_curve_name' [-Werror=implicit-function-declaration] 4344 | key = EC_KEY_new_by_curve_name(nid); | ^~~~~~~~~~~~~~~~~~~~~~~~/.../Python/Modules/_ssl.c:4344:9: warning: assignment to 'EC_KEY *' {aka 'struct ec_key_st *'} from 'int' makes pointer from integer without a cast [-Wint-conversion] 4344 | key = EC_KEY_new_by_curve_name(nid); | ^/.../Python/Modules/_ssl.c:4350:5: error: implicit declaration of function 'EC_KEY_free'; did you mean 'EVP_KEM_free'? [-Werror=implicit-function-declaration] 4350 | EC_KEY_free(key); | ^~~~~~~~~~~ | EVP_KEM_freecc1: some warnings being treated as errorsLooking inside OpenSSL sources for mentioned functionsEC_KEY_new_by_curve_name andEC_KEY_free I can see in the fileinclude/openssl/ec.h that they have been deprecated. I suppose that these functions need to be removed from Python's filePython/Modules/_ssl.c but I don't know anything about the details of OpenSSL so I would appreciate any help what to do in this case.
Your environment
- virtual computer running CentOS7
- GCC 12.2
- Python 3.12.2
- OpenSSL 3.1
- configure called with:
./configure --prefix="$INSTALLROOT" ${OPENSSL_ROOT:+--with-openssl=$OPENSSL_ROOT} ${OPENSSL_ROOT:+--with-openssl-rpath=no} --enable-shared --with-system-expat --with-ensurepip=install