web-dev-qa-db-fra.com

Comment installer les bibliothèques OpenSSL sur Ubuntu?

J'essaie de construire du code sur Ubuntu 10.04 LTS qui utilise OpenSSL 1.0.0. Quand je lance make, il appelle g ++ avec l’option "-lssl". La source comprend:

#include <openssl/bio.h>
#include <openssl/buffer.h>
#include <openssl/des.h>
#include <openssl/evp.h>
#include <openssl/pem.h>
#include <openssl/rsa.h>

Iran:

$ Sudo apt-get install openssl
Reading package lists... Done
Building dependency tree       
Reading state information... Done
openssl is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.

Mais je suppose que le paquet openssl n'inclut pas la bibliothèque. Je reçois ces erreurs sur make:

foo.cpp:21:25: error: openssl/bio.h: No such file or directory
foo.cpp:22:28: error: openssl/buffer.h: No such file or directory
foo.cpp:23:25: error: openssl/des.h: No such file or directory
foo.cpp:24:25: error: openssl/evp.h: No such file or directory
foo.cpp:25:25: error: openssl/pem.h: No such file or directory
foo.cpp:26:25: error: openssl/rsa.h: No such file or directory

Comment installer la bibliothèque OpenSSL C++ sur Ubuntu 10.04 LTS?

J'ai fait un man g++ et (sous "Options de liaison") pour l'option -l, il est écrit: "L'éditeur de liens recherche une liste standard de répertoires pour la bibliothèque ..." et "Les répertoires recherchés incluent plusieurs répertoires système standard ... "Quels sont ces répertoires système standard?

185
Daryl Spitzer

Vous voulez installer le paquet de développement, qui s'appelle libssl-dev:

Sudo apt-get install libssl-dev
399
Niki Yoshiuchi

apt-get install libssl-dev

22
Yann Ramin

Comment aurais-je pu le comprendre moi-même (autre que de poser cette question ici)? Puis-je dire à apt-get de lister tous les paquets et grep pour ssl? Ou dois-je connaître la convention de dénomination "lib * -dev"?

Si vous vous connectez avec -lfoo, la bibliothèque est probablement libfoo.so. La bibliothèque elle-même fait probablement partie du package libfoo et les en-têtes figurent dans le package libfoo-dev que vous avez découvert.

Certaines personnes utilisent l'application "synaptic" de l'interface graphique (Sudo synaptic) pour (localiser et) installer des packages, mais je préfère utiliser la ligne de commande. Une chose qui facilite la recherche du bon package à partir de la ligne de commande est le fait que apt-get prend en charge l'achèvement de bash.

Essayez de taper Sudo apt-get install libssl puis appuyez sur tab pour afficher une liste des noms de packages correspondants (ce qui peut être utile lorsque vous devez sélectionner la version correcte d’un package contenant plusieurs versions ou d’autres variantes disponibles).

La complétion de Bash est en fait très utile. Par exemple, vous pouvez également obtenir une liste de commandes supportées par apt-get en tapant Sudo apt-get puis en tapant tab.

13
Steve Lemke

Une autre façon d’installer la bibliothèque openssl à partir du code source sur Ubuntu est la suivante: WORKDIR correspond à votre répertoire de travail:

Sudo apt-get install pkg-config
cd WORKDIR
git clone https://github.com/openssl/openssl.git
cd openssl
./config
make
Sudo make install
# Open file /etc/ld.so.conf, add a new line: "/usr/local/lib" at EOF
Sudo ldconfig
4
B.H Xie

J'ai trouvé une solution détaillée ici: Installer OpenSSL manuellement sous Linux

De l'article de blog ...: _

Les étapes pour télécharger, compiler et installer sont les suivantes (j'installe la version 1.0.1g ci-dessous; veuillez remplacer "1.0.1g" par votre numéro de version):

Étape 1: Téléchargement d'OpenSSL:

Exécutez la commande comme ci-dessous:

$ wget http://www.openssl.org/source/openssl-1.0.1g.tar.gz

En outre, téléchargez le hachage MD5 pour vérifier l’intégrité du fichier téléchargé à des fins de variation uniquement. Dans le même dossier où vous avez téléchargé le fichier OpenSSL à partir du site Web:

$ wget http://www.openssl.org/source/openssl-1.0.1g.tar.gz.md5
$ md5sum openssl-1.0.1g.tar.gz
$ cat openssl-1.0.1g.tar.gz.md5

Étape 2: extraire les fichiers du paquet téléchargé:

$ tar -xvzf openssl-1.0.1g.tar.gz

Maintenant, entrez le répertoire où le paquet est extrait comme ici est openssl-1.0.1g

$ cd openssl-1.0.1g

Étape 3: Configuration OpenSSL

Exécutez la commande ci-dessous avec une condition facultative pour définir le préfixe et le répertoire dans lequel vous souhaitez copier les fichiers et les dossiers.

$ ./config –prefix=/usr/local/openssl –openssldir=/usr/local/openssl

Vous pouvez remplacer «/ usr/local/openssl» par le chemin du répertoire dans lequel vous souhaitez copier les fichiers et les dossiers. Mais assurez-vous que tout en effectuant cette opération, recherchez tout message d'erreur sur le terminal.

Étape 4: Compiler OpenSSL

Pour compiler openssl, vous devez exécuter la commande 2 suivante: make, make install comme suit:

$ make

Remarque: recherchez tout message d'erreur à des fins de vérification.

Étape -5: Installation d'OpenSSL:

$ Sudo make install

Ou sans Sudo,

$ make install

C'est tout. OpenSSL a été installé avec succès. Vous pouvez exécuter la commande version pour voir si cela a fonctionné ou non comme ci-dessous:

$ /usr/local/openssl/bin/openssl version

OpenSSL 1.0.1g 7 Apr 2014

3
Mann

Vous voulez le paquet openssl-devel . Au moins, je pense que c'est -devel sur Ubuntu. Peut-être -dev. C'est l'un des deux.

2
jonescb