Am attempting to upgrade from 2.2.14 with openssl-0.9.8l to 2.2.15 with openssl-0.9.8m. The os is Red Har Enterprise Linux Server Release 5.4 Tikanga. I get an error running make. Here is the error: make[1]: Entering directory `/root/Desktop/httpd-2.2.15' gcc -pthread -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -I/root/Desktop/httpd-2.2.15/srclib/pcre -I. -I/root/Desktop/httpd-2.2.15/os/unix -I/root/Desktop/httpd-2.2.15/server/mpm/prefork -I/root/Desktop/httpd-2.2.15/modules/http -I/root/Desktop/httpd-2.2.15/modules/filters -I/root/Desktop/httpd-2.2.15/modules/proxy -I/root/Desktop/httpd-2.2.15/include -I/root/Desktop/httpd-2.2.15/modules/generators -I/root/Desktop/httpd-2.2.15/modules/mappers -I/root/Desktop/httpd-2.2.15/modules/database -I/usr/include/apr-1 -I/root/Desktop/httpd-2.2.15/modules/proxy/../generators -I/usr/kerberos/include -I/root/Desktop/httpd-2.2.15/modules/ssl -I/root/Desktop/httpd-2.2.15/modules/dav/main -c /root/Desktop/httpd-2.2.15/server/buildmark.c /usr/lib64/apr-1/build/libtool --silent --mode=link gcc -pthread -L/usr/kerberos/lib64 -o httpd modules.lo buildmark.o -export-dynamic server/libmain.la modules/aaa/libmod_authn_file.la modules/aaa/libmod_authn_default.la modules/aaa/libmod_authz_host.la modules/aaa/libmod_authz_groupfile.la modules/aaa/libmod_authz_user.la modules/aaa/libmod_authz_default.la modules/aaa/libmod_auth_basic.la modules/aaa/libmod_auth_digest.la modules/filters/libmod_include.la modules/filters/libmod_filter.la modules/loggers/libmod_log_config.la modules/metadata/libmod_env.la modules/metadata/libmod_expires.la modules/metadata/libmod_setenvif.la modules/metadata/libmod_version.la modules/ssl/libmod_ssl.la modules/http/libmod_http.la modules/http/libmod_mime.la modules/dav/main/libmod_dav.la modules/generators/libmod_status.la modules/generators/libmod_autoindex.la modules/generators/libmod_asis.la modules/generators/libmod_cgi.la modules/dav/fs/libmod_dav_fs.la modules/mappers/libmod_negotiation.la modules/mappers/libmod_dir.la modules/mappers/libmod_actions.la modules/mappers/libmod_speling.la modules/mappers/libmod_userdir.la modules/mappers/libmod_alias.la modules/mappers/libmod_rewrite.la modules/mappers/libmod_so.la server/mpm/prefork/libprefork.la os/unix/libos.la -lm /root/Desktop/httpd-2.2.15/srclib/pcre/libpcre.la /usr/lib64/libaprutil-1.la -lldap -llber -ldb-4.3 -lexpat /usr/lib64/libapr-1.la -lpthread -ldl modules/ssl/.libs/libmod_ssl.a(ssl_engine_kernel.o): In function `ssl_hook_ReadReq': ssl_engine_kernel.c:(.text+0x1eb): undefined reference to `SSL_get_servername' modules/ssl/.libs/libmod_ssl.a(ssl_engine_kernel.o): In function `ssl_hook_Fixup': ssl_engine_kernel.c:(.text+0x1f83): undefined reference to `SSL_get_servername' modules/ssl/.libs/libmod_ssl.a(ssl_engine_kernel.o): In function `ssl_callback_ServerNameIndication': ssl_engine_kernel.c:(.text+0x39c8): undefined reference to `SSL_get_servername' modules/ssl/.libs/libmod_ssl.a(ssl_engine_kernel.o): In function `ssl_find_vhost': ssl_engine_kernel.c:(.text+0x3c42): undefined reference to `SSL_set_SSL_CTX' modules/ssl/.libs/libmod_ssl.a(ssl_engine_vars.o): In function `ssl_var_lookup_ssl': ssl_engine_vars.c:(.text+0x11bf): undefined reference to `SSL_get_servername' collect2: ld returned 1 exit status make[1]: *** [httpd] Error 1 make[1]: Leaving directory `/root/Desktop/httpd-2.2.15' make: *** [all-recursive] Error 1
is it possible that you're compiling against include files from a newer OpenSSL than you're linking against? Double check that aspect of the build.
(In reply to comment #1) > is it possible that you're compiling against include files from a newer OpenSSL > than you're linking against? Double check that aspect of the build. I am attempting to use the latest openssl-0.9.8m - I have installed that is a new location from 8l. I am able to recompile 2.2.14 using 8m, but get the same error using 2.2.15 - I installed 8m in an attempt to correct the error. Here is my config. ./configure --prefix=/etc/httpd2.2.15 --enable-ssl --with-ssl=/usr/localssl/openssl --with-sslport=443 --enable-rewrite --enable-speling --enable-auth-digest --enable-dav --enable-expires I also ran red hat update software after encountering the error.
The failure is as Jeff suggests. Also, you are linking against the system APR/APR-util libraries here. This may bring in the system OpenSSL library via OpenLDAP, for example. To get this to work I'd recommend doing: # yum remove {httpd,apr,apr-util,openssl}-devel first, or at minimum passing --with-included-apr to httpd's configure script. I've seen this type of failure because the system pkgconfig file can be picked up in preference to the OpenSSL pkgconfig file in the --with-ssl location. (Alternatively, if you are merely waiting for the TLS secure reneg fix you could wait for the RHEL update to openssl providing this)
Thanks. That worked. Removing the openssl-devel did the trick. I attempted --with-included-apr and that did not work by itself. I had to remove the Openssl-devel.
I am experimenting the same issue with FreeBSD. with httpd-2.2.11, with the same FreeBSD environment it just links fine. I am experimenting this issue with all versions after httpd-2.2.11, so I am still running 2.2.11. I have openssl-0.9.8m installed. See attachments for config.log's (don't know it helps) All the time the same error message: modules/ssl/.libs/libmod_ssl.a(ssl_engine_kernel.o)(.text+0x17): In function `ssl_callback_ServerNameIndication': /usr/home/walsimou/install/dns.walsimou.com/apache/httpd-2.2.15/modules/ssl/ssl_engine_kernel.c:1980: undefined reference to `SSL_get_servername' modules/ssl/.libs/libmod_ssl.a(ssl_engine_kernel.o)(.text+0x2b7): In function `ssl_find_vhost': /usr/home/walsimou/install/dns.walsimou.com/apache/httpd-2.2.15/modules/ssl/ssl_engine_kernel.c:2063: undefined reference to `SSL_set_SSL_CTX' modules/ssl/.libs/libmod_ssl.a(ssl_engine_kernel.o)(.text+0x1867): In function `ssl_hook_Fixup': /usr/home/walsimou/install/dns.walsimou.com/apache/httpd-2.2.15/modules/ssl/ssl_engine_kernel.c:1139: undefined reference to `SSL_get_servername' modules/ssl/.libs/libmod_ssl.a(ssl_engine_kernel.o)(.text+0x30a9): In function `ssl_hook_ReadReq': /usr/home/walsimou/install/dns.walsimou.com/apache/httpd-2.2.15/modules/ssl/ssl_engine_kernel.c:120: undefined reference to `SSL_get_servername' modules/ssl/.libs/libmod_ssl.a(ssl_engine_vars.o)(.text+0x17be): In function `ssl_var_lookup': /usr/home/walsimou/install/dns.walsimou.com/apache/httpd-2.2.15/modules/ssl/ssl_engine_vars.c:325: undefined reference to `SSL_get_servername' gmake[1]: *** [httpd] Error 1 gmake[1]: Leaving directory `/usr/home/walsimou/install/dns.walsimou.com/apache/httpd-2.2.15' gmake: *** [all-recursive] Error 1
Created attachment 25200 [details] config.log for 2.2.11 config.log for 2.2.11
Created attachment 25201 [details] config.log for 2.2.15 config.log for 2.2.15
I was getting the same error on Red Hat 5.4.0.3 64-bit, however the problem for me appears to be a problem with configure. I used this option to configure (among others): --with-ssl=/usr/myCo/apps/openssl/openssl-1.0.0 This resulted in this flag being sent to apr/libtool: -L/usr/myCo/apps/openssl/openssl-1.0.0/lib That directory does not exist. That flag should have been: -L/usr/myCo/apps/openssl/openssl-1.0.0/lib64 I worked around it like this: # cd /usr/myCo/apps/openssl/openssl-1.0.0 # ln -s lib64 lib Then I went and ran a make clean, configure and make again and it worked. configure should know about the OpenSSL lib64 directory and use it when appropriate.
I was running into problems with my server. Turned out I had an old version of openssl is /usr/local/ssl/lib which apache was finding, while I thought I was building against a newer version. The configure script needs to know to look for lib64.
2.2.x related really old issue all comments state that they found a solution, --> closing