Bug 60962 - httpd-2.4.25: build fails against openssl-1.1 that lacks deprecated features
Summary: httpd-2.4.25: build fails against openssl-1.1 that lacks deprecated features
Status: NEW
Alias: None
Product: Apache httpd-2
Classification: Unclassified
Component: Build (show other bugs)
Version: 2.4.25
Hardware: PC Linux
: P2 normal (vote)
Target Milestone: ---
Assignee: Apache HTTPD Bugs Mailing List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-04-07 09:31 UTC by Lars Wendler
Modified: 2019-07-17 15:48 UTC (History)
1 user (show)



Attachments
Patch to compile with openssl 1.1.1 built with no-deprecated (7.18 KB, patch)
2019-07-17 15:48 UTC, Michael Schlenker
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Lars Wendler 2017-04-07 09:31:23 UTC
Hello,

this is _not_ a duplicate of bug #60061


When trying to compile httpd-2.4.25 against openssl-1.1 that was compiled with either "--api=1.1.0" or "no-deprecated" option, the build fails because openssl-1.1 no longer provides any features that its developers marked as deprecated.


The build failure looks like this:

/usr/share/build-1/libtool --silent --mode=link x86_64-pc-linux-gnu-gcc  -pthread  -march=native -mtune=native -O2 -pipe    -L/var/tmp/portage/dev-libs/apr-util-1.5.4-r1/temp  -Wl,-O1 -Wl,--hash-style=gnu -Wl,--sort-common -Wl,--as-needed -Wl,--no-as-needed -o htdbm  htdbm.lo passwd_common.lo       -laprutil-1 -ldb-6.2 -lgdbm -lexpat -lapr-1 -luuid -lrt -lcrypt -lpthread -ldl -lcrypt
/usr/share/build-1/libtool --silent --mode=compile x86_64-pc-linux-gnu-gcc   -pthread  -march=native -mtune=native -O2 -pipe    -DLINUX -D_REENTRANT -D_GNU_SOURCE   \
      -I. -I/var/tmp/portage/www-servers/apache-2.4.25/work/httpd-2.4.25/os/unix -I/var/tmp/portage/www-servers/apache-2.4.25/work/httpd-2.4.25/include -I/usr/include/apr-1 -I/usr/include/db6.2 -I/var/tmp/portage/www-servers/apache-2.4.25/work/httpd-2.4.25/modules/aaa -I/var/tmp/portage/www-servers/apache-2.4.25/work/httpd-2.4.25/modules/cache -I/var/tmp/portage/www-servers/apache-2.4.25/work/httpd-2.4.25/modules/core -I/var/tmp/portage/www-servers/apache-2.4.25/work/httpd-2.4.25/modules/database -I/var/tmp/portage/www-servers/apache-2.4.25/work/httpd-2.4.25/modules/filters -I/var/tmp/portage/www-servers/apache-2.4.25/work/httpd-2.4.25/modules/ldap -I/var/tmp/portage/www-servers/apache-2.4.25/work/httpd-2.4.25/modules/loggers -I/var/tmp/portage/www-servers/apache-2.4.25/work/httpd-2.4.25/modules/lua -I/var/tmp/portage/www-servers/apache-2.4.25/work/httpd-2.4.25/modules/proxy -I/var/tmp/portage/www-servers/apache-2.4.25/work/httpd-2.4.25/modules/session -I/var/tmp/portage/www-servers/apache-2.4.25/work/httpd-2.4.25/modules/ssl -I/var/tmp/portage/www-servers/apache-2.4.25/work/httpd-2.4.25/modules/test -I/var/tmp/portage/www-servers/apache-2.4.25/work/httpd-2.4.25/server -I/var/tmp/portage/www-servers/apache-2.4.25/work/httpd-2.4.25/modules/arch/unix -I/var/tmp/portage/www-servers/apache-2.4.25/work/httpd-2.4.25/modules/dav/main -I/var/tmp/portage/www-servers/apache-2.4.25/work/httpd-2.4.25/modules/generators -I/var/tmp/portage/www-servers/apache-2.4.25/work/httpd-2.4.25/modules/mappers  -prefer-non-pic -static -c ab.c && touch ab.lo
ab.c: In function ‘ssl_print_cert_info’:
ab.c:642:29: warning: implicit declaration of function ‘X509_get_notBefore’ [-Wimplicit-function-declaration]
     ASN1_UTCTIME_print(bio, X509_get_notBefore(cert));
                             ^
ab.c:642:29: warning: passing argument 2 of ‘ASN1_UTCTIME_print’ makes pointer from integer without a cast [-Wint-conversion]
In file included from /usr/include/openssl/rsa.h:16:0,
                 from ab.c:161:
/usr/include/openssl/asn1.h:751:5: note: expected ‘const ASN1_UTCTIME * {aka const struct asn1_string_st *}’ but argument is of type ‘int’
 int ASN1_UTCTIME_print(BIO *fp, const ASN1_UTCTIME *a);
     ^
ab.c:646:29: warning: implicit declaration of function ‘X509_get_notAfter’ [-Wimplicit-function-declaration]
     ASN1_UTCTIME_print(bio, X509_get_notAfter(cert));
                             ^
ab.c:646:29: warning: passing argument 2 of ‘ASN1_UTCTIME_print’ makes pointer from integer without a cast [-Wint-conversion]
In file included from /usr/include/openssl/rsa.h:16:0,
                 from ab.c:161:
/usr/include/openssl/asn1.h:751:5: note: expected ‘const ASN1_UTCTIME * {aka const struct asn1_string_st *}’ but argument is of type ‘int’
 int ASN1_UTCTIME_print(BIO *fp, const ASN1_UTCTIME *a);
     ^
ab.c: In function ‘main’:
ab.c:2398:28: warning: implicit declaration of function ‘SSLv2_client_method’ [-Wimplicit-function-declaration]
                     meth = SSLv2_client_method();
                            ^
ab.c:2398:26: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
                     meth = SSLv2_client_method();
                          ^
ab.c:2412:28: warning: implicit declaration of function ‘TLSv1_1_client_method’ [-Wimplicit-function-declaration]
                     meth = TLSv1_1_client_method();
                            ^
ab.c:2412:26: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
                     meth = TLSv1_1_client_method();
                          ^
ab.c:2414:28: warning: implicit declaration of function ‘TLSv1_2_client_method’ [-Wimplicit-function-declaration]
                     meth = TLSv1_2_client_method();
                            ^
ab.c:2414:26: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
                     meth = TLSv1_2_client_method();
                          ^
ab.c:2417:28: warning: implicit declaration of function ‘TLSv1_client_method’ [-Wimplicit-function-declaration]
                     meth = TLSv1_client_method();
                            ^
ab.c:2417:26: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
                     meth = TLSv1_client_method();
                          ^
ab.c:2468:5: warning: implicit declaration of function ‘CRYPTO_malloc_init’ [-Wimplicit-function-declaration]
     CRYPTO_malloc_init();
     ^
ab.c:2470:5: warning: implicit declaration of function ‘SSL_load_error_strings’ [-Wimplicit-function-declaration]
     SSL_load_error_strings();
     ^
ab.c:2471:5: warning: implicit declaration of function ‘SSL_library_init’ [-Wimplicit-function-declaration]
     SSL_library_init();
     ^
/usr/share/build-1/libtool --silent --mode=link x86_64-pc-linux-gnu-gcc  -pthread  -march=native -mtune=native -O2 -pipe -lssl -lcrypto -luuid -lrt -lcrypt -lpthread -ldl  \
      -L/var/tmp/portage/dev-libs/apr-util-1.5.4-r1/temp  -Wl,-O1 -Wl,--hash-style=gnu -Wl,--sort-common -Wl,--as-needed -Wl,--no-as-needed -o ab  ab.lo       -laprutil-1 -ldb-6.2 -lgdbm -lexpat -lapr-1 -luuid -lrt -lcrypt -lpthread -ldl -lm
ab.o: In function `ssl_print_cert_info':
ab.c:(.text+0x7e4): undefined reference to `X509_get_notBefore'
ab.c:(.text+0x817): undefined reference to `X509_get_notAfter'
ab.o: In function `main':
ab.c:(.text.startup+0x463): undefined reference to `TLSv1_client_method'
ab.c:(.text.startup+0x8f2): undefined reference to `SSLv2_client_method'
ab.c:(.text.startup+0x93f): undefined reference to `TLSv1_1_client_method'
ab.c:(.text.startup+0x94c): undefined reference to `TLSv1_2_client_method'
ab.c:(.text.startup+0xa10): undefined reference to `CRYPTO_malloc_init'
ab.c:(.text.startup+0xa17): undefined reference to `SSL_load_error_strings'
ab.c:(.text.startup+0xa1e): undefined reference to `SSL_library_init'
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:60: ab] Error 1
Comment 1 Michael Schlenker 2019-07-17 15:48:01 UTC
Created attachment 36665 [details]
Patch to compile with openssl 1.1.1 built with no-deprecated

Patch for 2.4.39 (2.4.x branch in SVN).

Compiles and works with an openssl 1.1.1 built with the no-deprecated API switch.