web-dev-qa-db-ja.com

OpenSSLライブラリをUbuntuにインストールする方法

私はOpenSSL 1.0.0を使用するUbuntu 10.04 LTSでいくつかのコードを構築しようとしています。 makeを実行すると、 " - lssl"オプションを付けてg ++を起動します。ソースが含まれています:

#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++と( "Options for Linking"の下にある)-lオプションを使いました。 「標準のシステムディレクトリは何ですか。

201
Daryl Spitzer

あなたはlibssl-devである開発パッケージをインストールしたいです。

Sudo apt-get install libssl-dev
422
Niki Yoshiuchi

apt-get install libssl-dev

23
Yann Ramin

ここでこの質問をする以外に、どうすれば自分でそれを理解できるでしょうか。どういうわけかapt-getにすべてのパッケージを一覧表示するように指示し、sslをgrepすることはできますか?それとも "lib * -dev"の命名規則を知る必要がありますか?

もしあなたが-lfooとリンクしているのなら、そのライブラリはおそらくlibfoo.soです。ライブラリ自体はおそらくlibfooパッケージの一部であり、ヘッダはlibfoo-devパッケージに含まれています。

パッケージを(見つけて)インストールするのにGUIの「シナプス」アプリケーション(Sudo synaptic)を使う人もいますが、私はコマンドラインを使うほうが好きです。コマンドラインから正しいパッケージを見つけやすくすることの1つは、apt-getがbash補完をサポートしているという事実です。

Sudo apt-get install libsslと入力してからヒット tab 一致するパッケージ名のリストを表示する(これは、複数のバージョンまたは他のバリエーションが利用可能なパッケージの正しいバージョンを選択する必要があるときに役立ちます)。

Bash補完は実際には非常に便利です。例えば、apt-getと入力してから押すことで、Sudo apt-getがサポートするコマンドのリストを取得することもできます。 tab

13
Steve Lemke

私はここで詳細な解決策を見つけました: LinuxにOpenSSLを手動でインストールする

ブログ投稿より…:

ダウンロード、コンパイル、およびインストールの手順は次のとおりです(以下のバージョン1.0.1gをインストールしています。「1.0.1g」をあなたのバージョン番号に置き換えてください)。

Step - 1:OpenSSLのダウンロード:

以下のようにコマンドを実行します。

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

また、MD5ハッシュをダウンロードして、ダウンロードされたファイルの整合性を検証するためだけのものです。 Webサイトから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
Mann

Ubuntuのソースコードからopensslライブラリをインストールするもう1つの方法は、以下の手順に従います。ここで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
4
B.H Xie

あなたはopenssl-develパッケージが欲しいです。少なくともUbuntuでは-develだと思います。 -devかもしれません。それは二つのうちの一つです。

3
jonescb