
Entonces construyo openssl
./config
make
sudo make install
sudo ln -sf /usr/local/ssl/bin/openssl `which openssl`
yo construyo rizo
./configure --with-ssl
make
make install
OpenSSL parece instalado correctamente:
openssl version
OpenSSL 1.0.1g 7 Apr 2014
sin embargo, curl usa la versión antigua de openssl (1.0.1f en lugar de 1.0.1g):
curl --version
curl 7.37.0 (x86_64-unknown-linux-gnu) libcurl/7.37.0 OpenSSL/1.0.1f zlib/1.2.8 libidn/1.28 libssh2/1.4.3 librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp scp sftp smtp smtps telnet tftp
Features: IDN IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP
¿Cómo hacer que curl use la nueva versión?
Quiero probar las versiones más recientes porque estoy luchando con un error extraño de openssl/curl.#1 #2
Editar: también lo intenté ./configure --with-ssl=/usr/local/ssl/include/openssl
, sin éxito.
Edit2: Hasta ahora también probé:
sudo ./configure --with-ssl --with-libssl-prefix=/usr/local/ssl
./configure --with-ssl=/usr/local/ssl
PKG_CONFIG_PATH=/usr/local/ssl/lib/pkgconfig ./configure
PKG_CONFIG_PATH=/usr/local/ssl/lib/pkgconfig ./configure --with-ssl
PKG_CONFIG_PATH=/usr/local/ssl/lib/pkgconfig ./configure --with-ssl=/usr/local/ssl/include/openssl
sin éxito...
Respuesta1
Debe especificar el directorio donde está instalado OpenSSL (su enlace simbólico no es necesario ni suficiente)
./configure --with-ssl=/usr/local/ssl
EDITAR: Alternativamente, puede configurar su PKG_CONFIG_PATH
variable de entorno (como lo sugiere ./configure --help
):
PKG_CONFIG_PATH=/usr/local/ssl/lib/pkgconfig ./configure
Respuesta2
sudo apt-get install libssl-dev
./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu
sudo make
sudo make install
Es todo lo que necesitaba para compilar curl 7.43 en ubuntu 15.04
Respuesta3
Lo que descubrí, cuando estaba haciendo el mismo ejercicio, es que curl simplemente no puede funcionar con bibliotecas estáticas de openssl. Siempre estaba buscando dinámica, sin importar lo que estuviera haciendo, así que finalmente hice tres cosas que funcionaron para mí.
Configured openssl with enable-shared: ./config enable-shared
Configured curl with openssl: ./configure --with-ssl
Used LD_LIBRARY_PATH: LD_LIBRARY_PATH=/usr/local/lib:/usr/local/ssl/lib /usr/local/bin/curl -V
El último comando con el indicador -V mostrará la versión de openssl utilizada por curl. Agregué /usr/local/lib a LD_LIBRARY_PATH para asegurarme de que curl use la versión correcta de libcurl.
Respuesta4
./configure --with-ssl=/usr/lib/ssl --libdir=/usr/lib/x86_64-linux-gnu
sudo make
sudo make install
Después de luchar algunas horas logré habilitar https con libcurl 7.38 en ubuntu 15.05