¿Cómo instalo las bibliotecas OpenSSL en Ubuntu?

Estoy intentando construir un código en Ubuntu 10.04 LTS que usa OpenSSL 1.0.0. Cuando ejecuto make, invoca g ++ con la opción “-lssl”. La fuente incluye:

#include  #include  #include  #include  #include  #include  

Corrí:

 $ 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. 

Pero supongo que el paquete openssl no incluye la biblioteca. Obtengo estos errores en 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 

¿Cómo instalo la biblioteca OpenSSL C ++ en Ubuntu 10.04 LTS?

Hice un man g++ y (en “Opciones para vincular”) para la opción -l dice: “El vinculador busca una lista estándar de directorios para la biblioteca …” y “Los directorios buscados incluyen varios directorios de sistema estándar … . “¿Cuáles son esos directorios de sistema estándar?

Desea instalar el paquete de desarrollo, que es libssl-dev:

 sudo apt-get install libssl-dev 

apt-get install libssl-dev

¿Cómo podría haberlo averiguado (aparte de hacer esta pregunta aquí)? ¿De alguna manera puedo decir a apt-get que haga una lista de todos los paquetes y grep para ssl? ¿O necesito saber la convención de nomenclatura “lib * -dev”?

Si está enlazando con -lfoo entonces es probable que la biblioteca sea libfoo.so . La biblioteca en sí misma es probablemente parte del paquete libfoo , y los encabezados están en el paquete libfoo-dev como descubriste.

Algunas personas usan la aplicación gui “sináptica” ( sudo synaptic ) para (localizar e) instalar paquetes, pero yo prefiero usar la línea de comando. Una cosa que hace que sea más fácil encontrar el paquete correcto desde la línea de comandos es el hecho de que apt-get admite la finalización de bash.

Intente escribir sudo apt-get install libssl y luego pulse “tab” para ver una lista de nombres de paquetes coincidentes (lo que puede ayudar cuando necesita seleccionar la versión correcta de un paquete que tiene múltiples versiones u otras variaciones disponibles).

La finalización de Bash es realmente muy útil … por ejemplo, también puedes obtener una lista de comandos que admite “apt-get” escribiendo sudo apt-get y luego presionando “tab”.

Quieres el paquete openssl-devel. Al menos creo que es -devel en Ubuntu. Podría ser -dev. Es uno de los dos.

Otra forma de instalar la biblioteca de openssl desde el código fuente en Ubuntu, siga los pasos a continuación, aquí WORKDIR es su directorio de trabajo:

  1. sudo apt-get install pkg-config
  2. cd WORKDIR
  3. git clone https://github.com/openssl/openssl.git
  4. cd openssl
  5. ./config
  6. hacer
  7. sudo make install
  8. Abra el archivo /etc/ld.so.conf, agregue una nueva línea: “/ usr / local / lib” en EOF
  9. sudo ldconfig

Encontré una solución detallada aquí: Instalar OpenSSL Manualmente en Linux

Desde la publicación del blog …:

Los pasos para descargar, comstackr e instalar son los siguientes (estoy instalando la versión 1.0.1g a continuación, reemplace “1.0.1g” con su número de versión):

Paso – 1: descargar OpenSSL:

Ejecute el comando de la siguiente manera:

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

Además, descargue el hash MD5 para verificar la integridad del archivo descargado con el único propósito de varificación. En la misma carpeta donde descargó el archivo OpenSSL del sitio 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

Paso 2: extraiga los archivos del paquete descargado:

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

Ahora, ingrese el directorio donde se extrae el paquete, como aquí está openssl-1.0.1g

$ cd openssl-1.0.1g

Paso – 3: Configuración OpenSSL

Ejecute el comando debajo del comando con condición opcional para establecer el prefijo y el directorio donde desea copiar los archivos y la carpeta.

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

Puede reemplazar “/ usr / local / openssl” con la ruta del directorio donde desea copiar los archivos y carpetas. Pero asegúrese de seguir estos pasos para comprobar si hay algún mensaje de error en la terminal.

Paso – 4: comstackndo OpenSSL

Para comstackr openssl, deberá ejecutar 2 comandos: make, make install como se muestra a continuación:

$ make

Nota: verifique cualquier mensaje de error para fines de verificación.

Paso -5: Instalando OpenSSL:

$ sudo make install

O sin sudo,

$ make install

Eso es. OpenSSL se ha instalado con éxito. Puede ejecutar el comando de versión para ver si funcionó o no, como se muestra a continuación:

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

OpenSSL 1.0.1g 7 Apr 2014