私は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オプションを使いました。 「標準のシステムディレクトリは何ですか。
あなたはlibssl-devである開発パッケージをインストールしたいです。
Sudo apt-get install libssl-dev
apt-get install libssl-dev
ここでこの質問をする以外に、どうすれば自分でそれを理解できるでしょうか。どういうわけか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。
私はここで詳細な解決策を見つけました: 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
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
あなたはopenssl-devel
パッケージが欲しいです。少なくともUbuntuでは-devel
だと思います。 -dev
かもしれません。それは二つのうちの一つです。