apache2.4.1 がリリースされました!
とりあえずということでコンパイルしてみたら、エラー…。
いろいろ見てみると apache2.2.x を見つけるとそのインクルードファイルを参照しているみたい。
だもんで、 古いapache のディレクトリを /usr/local/apache2 から /usr/local/apache2.old とかに変更してコンパイルしてみたら、無事通りました。
でも、mod_jk のコンパイルで
===
mod_jk.c: In function 'init_ws_service':
mod_jk.c:767: error: 'conn_rec' has no member named 'remote_ip'
mod_jk.c:768: error: 'conn_rec' has no member named 'remote_addr'
mod_jk.c:1036: error: 'conn_rec' has no member named 'remote_ip'
mod_jk.c:1036: error: 'conn_rec' has no member named 'remote_ip'
===
んな、エラーが。。。
で、調べてみたら、どうやら構造体のメンバー名が変更されたようです。
http://httpd.apache.org/docs/trunk/developer/new_api_2_4.html#upgrading
===
conn_rec->remote_ip and conn_rec->remote_addr
These fields have been renamed in order to distinguish between the client IP address of the connection and the useragent IP address of the request (potentially overridden by a load balancer or proxy). References to either of these fields must be updated with one of the following options, as appropriate for the module:
When you require the IP address of the user agent, which might be connected directly to the server, or might optionally be separated from the server by a transparent load balancer or proxy, use request_rec->useragent_ip and request_rec->useragent_addr.
When you require the IP address of the client that is connected directly to the server, which might be the useragent or might be the load balancer or proxy itself, use conn_rec->client_ip and conn_rec->client_addr.
===
だもんで、 apache2.0/mod_jk.c 内のメンバー名を上記にしたがって client_ip, client_addr へ変更したら無事コンパイルも通りました。
とはいえ。。。本番環境にはapache2.4対応のmod_jkがリリースされるのを待ってから…って感じですかね。
最近のコメント