« ドライバにオレオレ署名をする (汎用的かつ難解な解説) | メイン | Eee PCが起動しないときは »

Apache httpdのコンパイル リバイバル

Visual Studio 2008 Professional環境でコンパイルしなおしてみたのでまとめますね。

参考:WindowsでApache2とOpenSSLをコンパイルする

必要なもの

準備

適当な作業フォルダを作成し、Apache httpdのソースを展開、srclibにzlibのソースとopensslのソースのフォルダを作成して展開。

OpenSSL

参考サイトのとおり。要はVisual Studio 2008の環境変数をセットして、Configure一式をperlにかけて実行、nmakeでビルド。

Apache本体

これまた参考サイトそのまま。Makefile.winという便利なものがあるのでそいつを利用。

VC++ Toolkit 2003環境から比べるとすっごい楽になった。何も考えなくてもいいもん。

2009/08/23追記: httpd 2.2.13にすると、なんかmod_dbmをコンパイルしようとしてこけるので、コンパイルしないように指定するか、gdbmを放り込んでコンパイルが止まらないようにしよう。gdbmを投入して黙らせる方法は以下。

  1. gdbm展開先ディレクトリ(以下<gdbm>とする)にあるwin32ディレクトリに移動し、Visual Studio 2008の環境変数を設定(もしくはスタートメニューからVisual Studio 2008 コマンドプロンプトを開き<gdbm>にあるwin32ディレクトリに移動

  2. nmake -f Makefile

  3. <gdbm>\win32\shlib にgdbm.libができているはずなので、httpdソース一式のsrclib\apr-util\dbmにlibgdbm.libとしてコピーしとく

  4. srclib\apr-util\includeあたりに<gdbm>\win32\gdbm.hをコピー

  5. nmake -f Makefile.win _apacherとしてエラーが出なければ( ゚Д゚)ウマー

2010/03/19追記

2.2.15でまたビルド通らなくなったので、"set NO_EXTERNAL_DEPS=1"を事前定義してください。

参考:VCでapacheをビルド中のトラブル - Seionの私的メモ

できたバイナリ

ここらへんにおいておきますね。

改版履歴

2009-07-19 22:24:04 初版

2009-08-23 14:34:05 第2版 リンク追加、httpd 2.2.13でコンパイルがうまく通らなかったので追記

2010-03-19 23:32:17 第3版 リンク追加、httpd 2.2.15でコンパイルがうまく通らなかったので追記

About

2010年3月19日 23:32に投稿されたエントリーのページです。

ひとつ前の投稿は「ドライバにオレオレ署名をする (汎用的かつ難解な解説)」です。

次の投稿は「Eee PCが起動しないときは」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

このサイトは、S.A Studioの中の人の備忘録です。別名をまとめサイトといいます。

このサイトに記載されている事象・事項などはすべて各エントリの更新時点での情報に基づいています。最新情報が反映されていない場合がありますので、利用前に各種情報源で最新情報を得ることをおすすめします。

このサイトに記載されている事象・事項などについて、筆者は内容の保証をしておりません。利用の際には十分お気をつけください。