2010年05月04日

OpenSSLのコンパイル&インストール (openssl-1.0.0以降)

OpenSSLは、以下の場所にあります。
http://www.openssl.org/

左サイドバーのSourceから、
http://www.openssl.org/source/
openssl-1.0.2.tar.gz
を、適当なディレクトリに保存します。

MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xzf openssl-1.0.2.tar.gz
$ cd openssl-1.0.2
$ ./Configure mingw --prefix=/mingw
$ make
$ make install_sw

以上で終了です。

2011/05/08 追記
ちなみに、Configureの後、

$ make PERLASM_SCHEME=win32n AS=nasm ASFLAGS="-f win32"

とすると、アセンブラはGNU AS(GAS)の代わりにNASMが使われます。
libcrypto.aのファイルサイズが、NASMの方がGNU ASより若干大きくなりました。
動作的には違いは無いと思います。


【補足】
Configureの先頭は大文字なのでご注意ください。

$ make install
とすると、普段あまり使用しないmanページファイル(説明書)が大量にインストールされるため、
$ make install_sw
としています。

動作確認する場合は、
$ make test
の途中で、ファイルサイズ0バイトの空のファイルをコンパイルしようとして、
undefined reference to `_WinMain@16'
というエラーでストップしてしまうので、以下のファイルをコピーしてからmake testします。
$ cp test/dummytest.c test/jpaketest.c
$ cp test/dummytest.c test/md2test.c
$ cp test/dummytest.c test/rc5test.c

2011/09/08 追記
ソースコードをMSYSのtarコマンドで解凍すると、0バイトのファイルが出来てしまうことは無いようです。

Configureの前に、
$ rm test/jpaketest.c test/md2test.c test/rc5test.c
と、ファイルをあらかじめ削除しておくと、Configureした時に、
test/dummytest.c
が、削除した3つのファイルと同じ名前でコピーされます。

【更新履歴】を見る
posted by あべちん at 20:42 | Comment(11) | TrackBack(0) | FFmpeg追加ライブラリ
この記事へのコメント
こちらのブログには大変お世話になっております。

>tar xzf openssl-1.0.0.tar.gz
このコマンドで解凍したところ、シンボリックリンクファイルの処理がうまくいってないようで、エラーを吐いて解凍に失敗しました。
Lhaplusなどのソフトで解凍すると上手くいくようです。
なお、opensslの最新SNAPSHOT(20100512)ではtarコマンドによる解凍に成功し、こちらのパッチを当てる事によりコンパイルも完走しました。
Posted by at 2010年05月13日 03:23
"名無し"でのコメント失礼いたしました
zlibのエントリへのコメントも私でした
つたない私のコメントへの返信ありがとうございました
Posted by takeone at 2010年05月13日 03:34
takeoneさん、こんにちは。管理人です。

見落としていたり、分からなくて放置していることなどもありますので、指摘していただけると本当に助かります。

実はGUIの解凍ソフトばかり使っていたので、シンボリックリンクのエラーには気が付かなかったのですが、確かにエラーになりますね。

確認したところ、以下のような違いがありました。

・tar
シンボリックリンクに失敗して、ファイルが作成されない。
Configureを実行すると必要なファイルがコピーされるため、結局は問題なし。

・解凍ソフト
シンボリックリンクされているファイルは、0バイトのファイルが作成される。
Configureを実行すると必要なファイルがコピーされるため、ライブラリのコンパイルは問題なし。
ただし、test用のファイル3つ
test/jpaketest.c
test/md2test.c
test/rc5test.c
は、0バイトのファイルが存在するためにコピーされないらしく、手動でコピーする必要がある。

ということのようです。
ご報告ありがとうございました。
Posted by あべちん at 2010年05月14日 00:53
Mingw+MSYS初心者です

$ ./Configure mingw --prefix=/mingwをやると./Configure: line 2: exec: perl: not foundと出ます

解決策を教えていただけませんか?
Posted by clover at 2010年05月26日 19:14
追記です。

MinGW + MSYSの環境は整えてあります。

NASM〜opencoreまでは問題なくコンパイル&インストール出来ました
Posted by clover at 2010年05月26日 20:06
cloverさん、こんにちは。管理人です。

申し訳ありません。説明不足でした。
標準ではperlがインストールされていないため、別途インストールする必要があります。

以下のページを参考に、MSYS DTKをインストールしてみてください。

Installing old MSys DTK
http://ffmpeg.arrozcru.org/wiki/index.php?title=Installing_old_MSys_DTK
Posted by あべちん at 2010年05月27日 19:04
無事に出来ました

ありがとうございます。
Posted by clover at 2010年05月27日 19:23
openssl-1.0.0d-mingw.diffを使わせて頂き、インストールはできましたが、ffmpegビルド最終で↓のような警告がでます。
ビルドは完成しますが、気持ち悪くて。

openssl_warning.txt
http://goo.gl/EgvMl
Posted by X5-452 at 2011年04月25日 19:40
X5-452さん、こんにちは。管理人です。

私も以前から気になってはいましたが、warningの元がアセンブリのソースなので、どうしようもないと思います。

X5-452さんが、warningを消す方法を見つけたら、ご報告いただけると助かります。
よろしくお願いします。
Posted by あべちん at 2011年04月27日 14:21
当方はGnuTLSを用いているので試してはいないのですが、こちらへの移行もありかも・・・?

http://www.libressl.org/
Posted by shoshosho at 2015年01月25日 23:10
shoshoshoさん、こんにちは。管理人です。

情報ありがとうございます。
OpenSSLよりLibreSSLの方が良さそうな感じですね。

私としては、CyaSSLがGPLで、サイズが小さいので、置き換えられないか試しているところです。
http://www.yassl.com/jp/Home.html
Posted by あべちん at 2015年02月12日 23:23
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/37556030
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック