
Also baue ich OpenSSL
./config
make
sudo make install
sudo ln -sf /usr/local/ssl/bin/openssl `which openssl`
Ich baue Curl
./configure --with-ssl
make
make install
OpenSSL scheint korrekt installiert zu sein:
openssl version
OpenSSL 1.0.1g 7 Apr 2014
Curl verwendet jedoch eine alte OpenSSL-Version (1.0.1f statt 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
wie bringt man Curl dazu, die neue Version zu verwenden?
Ich möchte die neusten Versionen ausprobieren, da ich mit einem seltsamen OpenSSL/Curl-Fehler kämpfe#1 #2
Edit: Habe ich auch versucht ./configure --with-ssl=/usr/local/ssl/include/openssl
, kein Erfolg
Edit2: Bisher habe ich auch versucht:
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
Kein Erfolg...
Antwort1
Sie müssen das Verzeichnis angeben, in dem OpenSSL installiert ist (Ihr symbolischer Link ist weder notwendig noch ausreichend).
./configure --with-ssl=/usr/local/ssl
BEARBEITEN: Alternativ können Sie Ihre PKG_CONFIG_PATH
Umgebungsvariable festlegen (wie von vorgeschlagen ./configure --help
):
PKG_CONFIG_PATH=/usr/local/ssl/lib/pkgconfig ./configure
Antwort2
sudo apt-get install libssl-dev
./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu
sudo make
sudo make install
Ist alles, was ich brauchte, um curl 7.43 auf Ubuntu 15.04 zu erstellen
Antwort3
Was ich herausgefunden habe, als ich die gleiche Übung durchführte, ist, dass curl einfach nicht mit statischen OpenSSL-Bibliotheken arbeiten kann. Es suchte immer nach dynamischen Bibliotheken, egal was ich tat, also habe ich schließlich drei Dinge getan, die für mich funktionierten
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
Der letzte Befehl mit dem Flag -V zeigt die von curl verwendete OpenSSL-Version an. Ich habe /usr/local/lib zu LD_LIBRARY_PATH hinzugefügt, um sicherzustellen, dass curl die richtige libcurl-Version verwendet.
Antwort4
./configure --with-ssl=/usr/lib/ssl --libdir=/usr/lib/x86_64-linux-gnu
sudo make
sudo make install
Nach einigen Stunden des Kampfes gelang es mir, https mit libcurl 7.38 in Ubuntu 15.05 zu aktivieren