Как мне установить библиотеки OpenSSL в Ubuntu? - PullRequest
203 голосов
/ 10 июня 2010

Я пытаюсь собрать некоторый код на Ubuntu 10.04 LTS, который использует OpenSSL 1.0.0.Когда я запускаю make, он вызывает g ++ с опцией "-lssl".Источник включает в себя:

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

Я запустил:

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

Но я думаю, что пакет openssl не включает библиотеку.Я получаю эти ошибки на 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

Как мне установить библиотеку OpenSSL C ++ на Ubuntu 10.04 LTS?

Я сделал man g++ и (в разделе «Параметры для связывания»)для опции -l указывается: «Компоновщик ищет стандартный список каталогов для библиотеки ...» и «К найденным каталогам относятся несколько стандартных системных каталогов ...» Что это за стандартные системные каталоги?

Ответы [ 7 ]

427 голосов
/ 10 июня 2010

Вы хотите установить пакет разработки, который является libssl-dev:

sudo apt-get install libssl-dev
23 голосов
/ 10 июня 2010

apt-get install libssl-dev

13 голосов
/ 10 июня 2010

Как я мог понять это для себя (кроме как задать этот вопрос здесь)?Могу ли я как-то сказать apt-get перечислить все пакеты и grep для ssl?Или мне нужно знать соглашение об именах "lib * -dev"?

Если вы связываетесь с -lfoo, то библиотека скорее всего libfoo.so.Сама библиотека, вероятно, является частью пакета libfoo, а заголовки находятся в пакете libfoo-dev, как вы обнаружили.

Некоторые люди используют приложение "synaptic" с графическим интерфейсом (sudo synaptic) для(найдите и) установите пакеты, но я предпочитаю использовать командную строку.Одна вещь, которая облегчает поиск нужного пакета из командной строки, заключается в том, что apt-get поддерживает завершение bash.

Попробуйте ввести sudo apt-get install libssl, а затем нажмите tab , чтобы увидетьсписок совпадающих имен пакетов (который может помочь, когда вам нужно выбрать правильную версию пакета с несколькими версиями или другими доступными вариантами).

Завершение Bash на самом деле очень полезно ... например, вы можететакже получите список команд, которые apt-get поддерживает, набрав sudo apt-get и затем нажав tab .

4 голосов
/ 30 марта 2018

Я нашел подробное решение здесь: Установка OpenSSL вручную в Linux

Из блога ...:

Для загрузки, компиляции и установки выполните следующие действия (я устанавливаю версию 1.0.1g ниже; пожалуйста, замените «1.0.1g» номером вашей версии):

Шаг - 1: Загрузка OpenSSL:

Запустите команду, как показано ниже:

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

Кроме того, загрузите хэш MD5, чтобы проверить целостность загруженного файла только для целей вариации. В той же папке, куда вы скачали файл OpenSSL с сайта:

$ 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

Шаг - 2: Извлечение файлов из загруженного пакета:

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

Теперь введите каталог, в который распакован пакет, например, здесь openssl-1.0.1g

$ cd openssl-1.0.1g

Шаг - 3: Конфигурация OpenSSL

Запустите приведенную ниже команду с дополнительным условием, чтобы установить префикс и каталог, в который вы хотите скопировать файлы и папку.

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

Вы можете заменить «/ usr / local / openssl» на путь каталога, куда вы хотите скопировать файлы и папки. Но убедитесь, что при выполнении этих шагов проверьте наличие любого сообщения об ошибке на терминале.

Шаг - 4: Компиляция OpenSSL

Для компиляции openssl вам нужно будет выполнить команду 2: make, make install, как показано ниже:

$ make

Примечание: проверьте наличие любого сообщения об ошибке в целях проверки.

Шаг -5: Установка OpenSSL:

$ sudo make install

или без sudo,

$ make install

Вот и все. OpenSSL был успешно установлен. Вы можете запустить команду версии, чтобы увидеть, работает ли она, как показано ниже:

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

OpenSSL 1.0.1g 7 Apr 2014

4 голосов
/ 31 мая 2017

Другой способ установить библиотеку openssl из исходного кода в Ubuntu, следуя инструкциям ниже, здесь WORKDIR - ваш рабочий каталог:

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
3 голосов
/ 10 июня 2010

Вы хотите пакет openssl-devel.По крайней мере, я думаю, что это -devel на Ubuntu.Может быть -dev.Это один из двух.

0 голосов
/ 24 октября 2018

sudo apt-get install libcurl4-openssl-dev

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...