久しぶりのapacheインストールにハマる

ちょっとしたファイルをWebで公開するために,最新版のapacheをダウンロードして,特に深くは考えずに適当にオプションをつけてコンパイルしました.

# ./configure --enable-auth-anon --enable-file-cache --enable-cache --enable-disk-cache --enable-mem-cache --enable-usertrack --enable-proxy --enable-ssl --enable-dav --enable-info --enable-dav-fs --enable-so
# make clean;make

しかし,エラーが...

mod_mem_cache.c:50:2: error: #error This module does not currently compile unless you have a thread-capable
APR. Sorry!
mod_mem_cache.c:90: error: expected specifier-qualifier-list before 'apr_thread_mutex_t'
mod_mem_cache.c: In function 'decrement_refcount':
mod_mem_cache.c:296: error: 'mem_cache_conf' has no member named 'lock'
mod_mem_cache.c:297: error: 'mem_cache_conf' has no member named 'lock'
mod_mem_cache.c:299: error: 'mem_cache_conf' has no member named 'cache_cache'
mod_mem_cache.c:301: error: 'mem_cache_conf' has no member named 'cache_cache'

スレッド関係のオプションなんて,httpd-2.0.63/configure --helpを見ても特には出てきません.
そこで少し調べるとここにオプションがあることを発見.

# ./srclib/apr/configure --help | less
--enable-threads Enable threading support in APR.

どうやら./srclib/apr/config.logを見ると,httpd-2.0.53/configureのオプションがそのまま渡っているようなので,APRでスレッドを有効にするように,httpd-2.0.63/configureする時のオプションを次のように変えてみました.

# ./configure --enable-auth-anon --enable-file-cache --enable-cache --enable-disk-cache --enable-mem-cache --enable-usertrack --enable-proxy --enable-ssl --enable-dav --enable-info --enable-dav-fs --enable-so --enable-threads
# make clean;make

OKでした.ぱちぱちぱち.