Sheshan Gamage
Sheshan Gamage

Reputation: 634

Getting EVP_PKEY_get1_EC_KEY' is deprecated error when installing httpd-2.4.57 with OpenSSL 3.0.7

I am getting the below error when i am trying to run make command in httpd.

ab.c:769:25: warning: 'EVP_PKEY_get1_EC_KEY' is deprecated (declared at /usr/local/ssl/include/openssl/evp.h:1374): Since OpenSSL 3.0 [-Wdeprecated-declarations] EC_KEY *ec = EVP_PKEY_get1_EC_KEY(key); ^ ab.c:770:25: warning: 'EC_KEY_get0_group' is deprecated (declared at /usr/local/ssl/include/openssl/ec.h:1034): Since OpenSSL 3.0 [-Wdeprecated-declarations] int nid = EC_GROUP_get_curve_name(EC_KEY_get0_group(ec));

                     ^

ab.c:771:25: warning: 'EC_KEY_free' is deprecated (declared at /usr/local/ssl/include/openssl/ec.h:1003): Since OpenSSL 3.0 [-Wdeprecated-declarations] EC_KEY_free(ec); ^ ab.c: In function 'start_connect': ab.c:1431:13: warning: 'BIO_set_callback' is deprecated (declared at /usr/local/ssl/include/openssl/bio.h:279): Since OpenSSL 3.0 [-Wdeprecated-declarations] BIO_set_callback(bio, ssl_print_cb); ^ /usr/local/apr/build-1/libtool --silent --mode=link gcc -std=gnu11 -g -O2 -pthread
-o ab ab.lo /usr/local/apr/lib/libaprutil-1.la -lexpat /usr/local/apr/lib/libapr-1.la -luuid -lrt -lcrypt -lpthread -ldl -lm -L/usr/local/ssl/lib -lssl -lcrypto -luuid -lrt -lcrypt -lpthread -ldl ab.o: In function ssl_print_cert_info': /home/essadmin/apache-src/httpd-2.4.57/support/ab.c:676: undefined reference to EVP_PKEY_get_bits' ab.o: In function ssl_print_info': /home/essadmin/apache-src/httpd-2.4.57/support/ab.c:707: undefined reference to SSL_get1_peer_certificate' ab.o: In function ssl_proceed_handshake': /home/essadmin/apache-src/httpd-2.4.57/support/ab.c:757: undefined reference to EVP_PKEY_get_id' /home/essadmin/apache-src/httpd-2.4.57/support/ab.c:783: undefined reference to EVP_PKEY_get_bits' /home/essadmin/apache-src/httpd-2.4.57/support/ab.c:783: undefined reference to EVP_PKEY_get_id' /home/essadmin/apache-src/httpd-2.4.57/support/ab.c:740: undefined reference to SSL_get1_peer_certificate' /home/essadmin/apache-src/httpd-2.4.57/support/ab.c:742: undefined reference to EVP_PKEY_get_bits' /home/essadmin/apache-src/httpd-2.4.57/support/ab.c:763: undefined reference to EVP_PKEY_get_bits' /home/essadmin/apache-src/httpd-2.4.57/support/ab.c:759: undefined reference to EVP_PKEY_get_bits' /home/essadmin/apache-src/httpd-2.4.57/support/ab.c:776: undefined reference to EVP_PKEY_get_bits' collect2: error: ld returned 1 exit status make[2]: *** [ab] Error 1 make[2]: Leaving directory /home/essadmin/apache-src/httpd-2.4.57/support' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/essadmin/apache-src/httpd-2.4.57/support' make: *** [all-recursive] Error 1

OpenSSL version - 3.0.7

Httpd version - httpd-2.4.57

Upvotes: 0

Views: 1213

Answers (1)

Sheshan Gamage
Sheshan Gamage

Reputation: 634

We were getting that error due to a library mismatch in the /usr/local/ssl/lib directory where the libcrypto.so and libssl.so was pointing to the openssl 1.1 v so files.

So, when we are compiling httpd it gets the error since its referring old libraries which were having deprecated methods. So, once we copied the correct librcypto.so and libssl.so files to the /usr/local/ssl/lib folder the error got resolved. So, after that we were able to configure OpenSSL 3.0 with Httpd 2.4.57 without any issues.

enter image description here

Upvotes: 0

Related Questions