mod_jk2

■configure & make

$tar zxvf jakarta-tomcat-connectors-jk2-src-current.tar.gz
$cd jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2/
$./configure --with-apxs2=/usr/local/apache2/bin/apxs

☆トラブル1

$configure: error: can't locate libapr

こんなこといわれました。確かに/usr/local/apache2/libの中にはありません。
なんでないんやろ?/usr/localにaprていうのができてました。っていつできたんでしょうか?
subversionインストールしたときっぽい。
まーあんまり深く考えずに
$cd /usr/local/apache2/lib
$ln -s /usr/local/apr/lib/libapr.so

でもう一度configure

$./configure --with-apxs2=/usr/local/apache2/bin/apxs

無事完了

☆トラブル2

libtool: install: warning: remember to run `libtool --finish /usr/local/apache2/modules'
/bin/cp ../../../build/jk2/apache2//usr/local/apache2/modules/mod_jk2.so ../../../build/jk2/apache2/mod_jk2.so
/bin/cp: cannot stat `../../../build/jk2/apache2//usr/local/apache2/modules/mod_jk2.so': そのようなファイルやディレクトリはありません
make[1]: *** [../../../build/jk2/apache2/mod_jk2.so] エラー 1
make[1]: 出ます ディレクトリ `/home/izuno/jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2/server/apache2'
make: *** [jk2-build] エラー 1

だそうです。メンドクサイ。とりあえずgoogle先生に聞いてみると
# make 
    ・・・▲ これによりmod_jk2.soが生成されるという説明がほとんどなのだが、自分の環境では
似たような名前のものはできるものの、うまくいかず、エラーメッセージが出て立ち往生していた。
("makeする対象が見つかりません")

ここで jakarta-tomcat-connectors-4.1.27-src/jk/build/jk2/apache2 の中を確認すると、
"mod_jk2.o" などができているので、そのカレントディレクトリで
# gcc -shared -o mod_jk2.so *.o

試してみると確かに.soできてるけどなんか不安なのでもう少し先生に教えを請うてみると

updatedb,locateコマンドによってlibtoolを確認したところ、
/usr/bin/libtool
/usr/local/src/jakarta-tomcat-connectors-jk2-2.0.2-src/jk/native2/libtool
/usr/local/apache2/build/libtool
上記の3つのlibtoolが存在することが判明しました。

で、
jakarta-tomcat-connectors-jk2-2.0.2-src/jk/native2/server/apache2
Makefile内で使用しているlibtoolは、/usr/local/apache2/build/libtoolでした。

上記3つのlibtool --versionにて調べたところ、
上2つは、1.4.3であるのに対し、
/usr/local/apache2/build/libtoolは1.5でした。

そこで、Makefile内のlibtoolのパスを1.4.3のlibtoolに修正し、makeコマンドを実行したところ、問題なくmod_jk2.soが作成されました。
このとき、libtool --finish /usr/local/apache2/modulesの
警告はmod_jk2.soが作成されない場合と同様、表示されました。

・なぜjk/native2/server/apache2/Makefileのlibtoolが1.5だといけないのか
・そもそも自前のlibtoolを使わずわざわざapache2のlibtoolを使用して失敗しているのか
・そもそも失敗してmod_jk2が作成されていないにもかかわらずエラーが表示されていない
全く分かりませんが、そういうものらしいです。
この辺分からないと運用していけませんね。
敷居高イッス(T_T)


だそうなので、configure後にできるjakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2/server/apache2のMakefileのlibtoolを/usr/bin/libtoolに変更し、makeすると無事完了。