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

190

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

#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 С++ на Ubuntu 10.04 LTS?

Я сделал man g++ и (в разделе "Опции для привязки" ) для параметра -l в нем указано: "Линкеров выполняет поиск стандартного списка каталогов для библиотеки..." и "Поиск каталогов включает несколько стандартных системные каталоги..." Каковы эти стандартные системные каталоги?

  • 1
    Не совсем дубликат, но ответили что такое * -devel пакеты? ,
  • 0
    Вы правы насчет -dev об именах -dev . Вы также можете использовать synaptic менеджер пакетов , чтобы перечислить все пакеты, имена которых содержит libssl - просматривает этот список и их описание, скорее всего , даст вам ключ.
Показать ещё 3 комментария
Теги:
installation
openssl

7 ответов

374
Лучший ответ

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

sudo apt-get install libssl-dev
  • 1
    Но это не та версия, которую он хотел (1.0.0), которая не упакована для 10.04. Смотрите этот ответ для 1.0.0: stackoverflow.com/questions/3153114/…
  • 0
    Ах, хороший звонок. Я только заметил, что в то время он пытался использовать библиотеки разработки, но не устанавливал пакет -dev. Я даже не заметил номер версии.
Показать ещё 2 комментария
23

apt-get install libssl-dev

13

Как я мог понять это для себя (кроме как задать этот вопрос здесь)? Могу ли я как-то сказать 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.

  • 0
    Ubuntu может облегчить боль для людей, так как это было проблемой в течение многих лет. Они могут использовать псевдоним openssl-dev для libssl-dev но предпочитают этого не делать.
4

Другой способ установить библиотеку 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
  • 0
    Это работало для меня на сервере Ubuntu 18.04.
3

Я нашел подробное решение здесь: вручную установить 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

Или без судо,

$ make install

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

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

OpenSSL 1.0.1g 7 Apr 2014

3

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

  • 0
    sudo apt-get install openssl-dev и sudo apt-get install openssl-devel возвращают "E: Не удалось найти пакет ..."
  • 6
    Очевидно, это libssl-dev, как говорили другие. Я не использую Ubuntu, поэтому я не знаком с именами пакетов.
Показать ещё 3 комментария
-2

sudo apt-get install libcurl4-openssl-dev

Ещё вопросы

Сообщество Overcoder
Наверх
Меню