Web制作・開発会社 プレスマンのスタッフブログ

PRESSMAN*Tech

mod_auth_formがmakeできない

Apache2.3というか2.4に実装予定のmod_auth_formじゃありません。
こちらのほうです。
まあ、上記ページにApache2.4のほうを使ってねみたいなことが書いてありますが、2.4がなかなかでませんです。
さて、これを何に使うのか、何ができるのかと言うのは問題ではなく、そもそもmakeができません。
環境はCentOS5.4のApache 2.2.3,apr 1.2.7、mod_auth_form 2.05です。


ちなみに、Apache.2.0系だと問題なくmakeできます。まず./configureはこんな感じです。

これでmakeをすると、

みたいな感じでエラーが出ます。まあ、エラーの場所がかいてあるのでとりあえずそのファイルを見ます。
/usr/include/apr-1/apr-i386.h:270

となってます。off64_tがtypedefされてないっぽいのでググって見るとどうやら、sys/types.hで

となっているらしい。というかなってた。
つまり、__USE_LARGEFILE64 が定義されていないのでoff64_tが__off64_t になってない。つまり、
apr-i386.hを

と書き直してmakeすれば、はい終了。

というわけで、めでたくmakeが通ったわけですが、ヘッダファイルをいじるのはなんか微妙なので元に戻してmod_auth_formのMakefileをいじることにします。
mod_auth_formを./configureした後にsrc/Makefileを開くと"DEFS = "で始まる行があります。そこの最後に

と足してmakeしてみるとダメでした。そこでググるとどうやらfeature.h内で

となっているらしい。というかなってた。
そんなわけで、先ほどの"DEFS = "の行の最後に

を付け足すとめでたく通りました。