Saya mencoba membuat beberapa kode di Ubuntu 10,04 LTS yang menggunakan OpenSSL 1.0.0. Ketika saya menjalankan make, ia memanggil g ++ dengan opsi "-lssl". Sumbernya meliputi:
#include <openssl/bio.h>
#include <openssl/buffer.h>
#include <openssl/des.h>
#include <openssl/evp.h>
#include <openssl/pem.h>
#include <openssl/rsa.h>
Saya berlari:
$ 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.
Tapi saya kira paket openssl tidak termasuk perpustakaan. Saya mendapatkan kesalahan ini saat dibuat:
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
Bagaimana cara menginstal pustaka OpenSSL C ++ di Ubuntu 10.04 LTS?
Saya melakukan man g++
dan (di bawah "Opsi untuk Menghubungkan") untuk opsi-l yang menyatakan: "Linker mencari daftar direktori standar untuk perpustakaan ..." dan "Direktori yang dicari meliputi beberapa direktori sistem standar ..." Apa itu direktori sistem standar?
c++
ubuntu
installation
openssl
Daryl Spitzer
sumber
sumber
-dev
konvensi penamaan. Anda juga dapat menggunakansynaptic
manajer paket untuk membuat daftar semua paket yang namanya mengandung libssl - menelusuri daftar itu dan uraiannya mungkin memberi Anda petunjuk.apt-cache search package-name
Jawaban:
Anda ingin menginstal paket pengembangan, yaitu libssl-dev:
sumber
apt install
untuk dist ubuntu baruapt-get install libssl-dev
sumber
Jika Anda terhubung dengan
-lfoo
perpustakaan maka kemungkinan besarlibfoo.so
. Perpustakaan itu sendiri mungkin merupakan bagian darilibfoo
paket, dan tajuknya ada dalamlibfoo-dev
paket seperti yang Anda temukan.Beberapa orang menggunakan GUI "synaptic" app (
sudo synaptic
) untuk (mencari dan) menginstal paket, tetapi saya lebih suka menggunakan baris perintah. Satu hal yang membuatnya lebih mudah untuk menemukan paket yang tepat dari baris perintah adalah fakta yangapt-get
mendukung penyelesaian bash.Coba ketikkan
sudo apt-get install libssl
lalu tekan tabuntuk melihat daftar nama paket yang cocok (yang dapat membantu ketika Anda perlu memilih versi yang benar dari paket yang memiliki banyak versi atau variasi lain yang tersedia).Penyelesaian bash sebenarnya sangat berguna ... misalnya, Anda juga bisa mendapatkan daftar perintah yang
apt-get
mendukung dengan mengetiksudo apt-get
dan kemudian menekan tab.sumber
openssl-dev
untuklibssl-dev
tetapi mereka memilih untuk tidak.Saya menemukan solusi terperinci di sini: Instal OpenSSL Secara Manual di Linux
Dari posting blog ...:
sumber
Cara lain untuk menginstal perpustakaan openssl dari kode sumber di Ubuntu, ikuti langkah-langkah di bawah ini, di sini
WORKDIR
adalah direktori kerja Anda:sumber
Anda menginginkan
openssl-devel
paket itu. Setidaknya saya pikir itu-devel
di Ubuntu. Mungkin-dev
. Itu salah satu dari keduanya.sumber
sudo apt-get install openssl-dev
dansudo apt-get install openssl-devel
mengembalikan "E: Tidak dapat menemukan paket ..."sudo yum install openssl-devel*
Sebagai aturan umum, ketika di Debian atau Ubuntu dan Anda kehilangan file pengembangan (atau file lainnya dalam hal ini), gunakan
apt-file
untuk mencari tahu paket mana yang menyediakan file itu:Melihat sekilas setiap paket yang dikembalikan oleh perintah, menggunakan
apt show
akan memberi tahu Anda di antara paket mana yang Anda cari:sumber
sudo apt-get install libcurl4-openssl-dev
sumber