Tudo bem - ter alguns dias ruins aqui compilando o Apache 2.2.21 no CentOS 5.7 com os seguintes comandos de configuração:
./configure --enable-ssl=shared --with-ssl=/usr/local/openssl
Eu compilei a partir do código-fonte OpenSSL 1.0.0e da fonte:
./config --prefix=/usr/local --openssldir=/usr/local/openssl shared zlib-dynamic
Eu tento iniciar o Apache e ele retorna:
httpd: Syntax error on line 54 of /usr/local/apache2/conf/httpd.conf: Cannot load /usr/local/apache2/modules/mod_ssl.so into server: /usr/local/apache2/modules/mod_ssl.so: undefined symbol: SSL_get_servername
Se eu observar como as bibliotecas estão vinculadas, é isso que recebo:
[root@web1 modules]# ldd mod_ssl.so
libssl.so.6 => /lib64/libssl.so.6 (0x00002aaaaace4000)
libcrypto.so.6 => /lib64/libcrypto.so.6 (0x00002aaaaaf30000)
libdl.so.2 => /lib64/libdl.so.2 (0x00002aaaab281000)
libz.so.1 => /lib64/libz.so.1 (0x00002aaaab486000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00002aaaab69a000)
libc.so.6 => /lib64/libc.so.6 (0x00002aaaab8b5000)
libgssapi_krb5.so.2 => /usr/lib64/libgssapi_krb5.so.2 (0x00002aaaabc0e000)
libkrb5.so.3 => /usr/lib64/libkrb5.so.3 (0x00002aaaabe3c000)
libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00002aaaac0d1000)
libk5crypto.so.3 => /usr/lib64/libk5crypto.so.3 (0x00002aaaac2d4000)
/lib64/ld-linux-x86-64.so.2 (0x0000555555554000)
libkrb5support.so.0 => /usr/lib64/libkrb5support.so.0 (0x00002aaaac4f9000)
libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00002aaaac702000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x00002aaaac904000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00002aaaacb19000)
libsepol.so.1 => /lib64/libsepol.so.1 (0x00002aaaacd32000)
Basicamente, eu cansei de compilar a partir do código-fonte OpenSSL (ambos 0.9.8r e 1e), tendo yum reinstalando dos repositórios, feito um
make clean
e refeito o OpenSSL e o Apache várias vezes - mas não consigo para compilar na base do apache ou dinamicamente como um arquivo de objeto compartilhado.
O que estou fazendo de errado aqui?
Atualização 1:
Depois de fazer um make clean
e make distclean
, reconfigurei com os mesmos parâmetros acima, sem nenhum efeito.
O config.log está em Pastebin .
Atualização 2:
A modificação do LD_LIBRARY_PATH não teve nenhum efeito no lib-deps do mod_ssl.so.
UPDATE 3:
Eu compilei e recompilei muitas vezes, e verifiquei com ldconfig
que o diretório de libs do OpenSSL está no meu caminho, e incluído em ld.so.conf. Ainda não é possível obter o httpd / mod_ssl para carregar a biblioteca durante a execução.