Sie können dies eine Follow-up-Frage zu How do I install the OpenSSL C++ library on Ubuntu?Wie installiere und baue ich gegen OpenSSL 1.0.0 unter Ubuntu?
Ich versuche, etwas Code auf Ubuntu 10.04 LTS, die OpenSSL 1.0.0 erfordert.
Ubuntu 10.04 LTS kommt mit OpenSSL 0.9.8k:
$ openssl version
OpenSSL 0.9.8k 25 Mar 2009
So nach sudo apt-get install libssl-dev
und Gebäude läuft, ldd bestätigt ich in 0.9.8 verknüpft haben:
$ ldd foo
...
libssl.so.0.9.8 => /lib/i686/cmov/libssl.so.0.9.8 (0x00110000)
...
libcrypto.so.0.9.8 => /lib/i686/cmov/libcrypto.so.0.9.8 (0x002b0000)
...
Wie kann ich Installieren Sie OpenSSL 1.0.0 und das 1.0.0-Entwicklungspaket?
aktualisieren: Ich schreibe dieses Update nach SB ‚s Antwort zu lesen (aber es, bevor Sie versuchen), denn es ist klar, ich brauche, dass die offensichtliche Lösung für das Herunterladen und die Installation von OpenSSL 1.0.0 funktioniert nicht erklären :
Nach einer erfolgreich verlaufenen folgenden (empfohlen in der Datei INSTALL) tun:
$ ./config
$ make
$ make test
$ make install
... ich bekomme immer noch:
OpenSSL 0.9.8k 25 Mar 2009
... und:
$ sudo apt-get install libssl-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
libssl-dev is already the newest version.
The following packages were automatically installed and are no longer required:
linux-headers-2.6.32-21 linux-headers-2.6.32-21-generic
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
... und (nur um sicher zu machen) nach meinem Code Wiederaufbau, LDD noch die gleiche Sache zurückgibt.
Update # 2: Ich habe die "-I/usr/local/ssl/include" und "-L/usr/local/ssl/lib" Optionen (von SB vorgeschlagen) zu meiner Make-Datei, aber ich sind jetzt ein Bündel von undefine Referenz-Fehlern kompilieren, zum Beispiel:
/home/dspitzer/foo/foo.cpp:86: undefined reference to `BIO_f_base64'
/home/dspitzer/foo/foo.cpp:86: undefined reference to `BIO_new'
/usr/local/ssl/include/enthält nur ein openSSL-Verzeichnis (die zahlreichen H-Dateien enthält), so auch "ich habe versucht, -I/usr/local/ssl/include/openssl "aber die gleichen Fehler.
Update # 3: Ich habe versucht, die OpenSSL enthält ändert (zum Beispiel):
#include <openssl/bio.h>
... bis:
#include "openssl/bio.h"
... in der CPP-Quelldatei aber immer noch die gleichen undefinierten Referenzfehler.
Update # 4: Ich merke jetzt diese undefinierten Referenzfehler sind Linker-Fehler. Wenn ich die "-L/usr/local/ssl/lib" aus meinem Makefile entferne, bekomme ich die Fehler nicht (aber es verbindet sich mit OpenSSL 0.9.8). Der Inhalt von/usr/local/ssl/lib/sind:
$ ls /usr/local/ssl/lib/
engines libcrypto.a libssl.a pkgconfig
Ich habe -lcrypto, und die Fehler ging weg.
++ für Update # 4. Vielen Dank. –