apr関係が必要なので入れてからビルド。
yum install apr-devel apr-util-devel ./configure
make時にエラーを喰らう環境(CentOS6.0以降とか?)では
src/main/cpp/inputstreamreader.cpp src/main/cpp/socketoutputstream.cpp に #include <cstring> を追加、 src/examples/cpp/console.cpp に #include <cstring> #include <cstdio> を追加。
て、これは公式に書いてあった( ´ω`)。
make install時に文句言われる場合は
src/main/include/log4cxx/private/Makefile.am privateinc_HEADERS= $(top_builddir)/src/main/include/log4cxx/private/*.h log4cxx_private.h を privateinc_HEADERS= $(top_builddir)/src/main/include/log4cxx/private/*.h src/main/include/log4cxx/Makefile.am log4cxxinc_HEADERS= $(top_srcdir)/src/main/include/log4cxx/*.h log4cxx.h を log4cxxinc_HEADERS= $(top_srcdir)/src/main/include/log4cxx/*.h に変更。
これは書いてなかったと思う。
結構面倒だった。
そもそもCentOS5にも入っているのだが、タグと呼ばれるものがついておらずUM-L7が使おうとしない。
タグは昔のバージョンではデフォルトでついていたが、1.4xくらいから「名前に変なタグつけないでUNIXとかのファイル名に準拠すんべ」ということでつけなくなった様子。
仕方がないので、自前でビルドすることにする。
./bootstrap.sh --show-libraries これで一旦bjamなるものを作り出す。その後、 ./bjam --layout="tagged" install で、/usr/local/lib以下にインストールされる。
CentOS6はRPMでよし。
ipv6関係のモジュールが必要な様子。
yum install perl-libwww-perl perl-Socket6 perl-IO-Socket-INET6 他にも必要なものがあれば、yumでもCPANでも適宜インストールする。
3.0.xのマニュアルには追記されている。
yum install net-snmp-devel
本体もまあ奇妙な動きをする。 各種ディレクトリ指定オプションが上手く働かないような。
いつの間にか出来てた3.0.xのマニュアルでは ./configure のみ。 --prefixのデフォルトは[/usr/local]と書いてあるが無視される。 --prefixで指定しても無視。 インストール先は /etc/l7vs /etc/ha.d/conf/l7directord.cf.sample /etc/l7vs/l7vs.cf /etc/l7vs/sslproxy /etc/l7vs/sslproxy/dh512.pem /etc/l7vs/sslproxy/passwd.txt /etc/l7vs/sslproxy/root.pem /etc/l7vs/sslproxy/server.pem /etc/l7vs/sslproxy/sslproxy.target.cf /etc/rc.d/init.d/l7directord /etc/rc.d/init.d/l7vsd /usr/lib64/l7vs /usr/lib64/l7vs/protomod_ip.so /usr/lib64/l7vs/protomod_sessionless.so /usr/lib64/l7vs/protomod_sslid.so /usr/lib64/l7vs/sched_lc.so /usr/lib64/l7vs/sched_rr.so /usr/lib64/l7vs/sched_wrr.so /usr/sbin/l7directord /usr/sbin/l7vsadm /usr/sbin/l7vsd /usr/share/doc/ultramonkeyl7-3.0.0 /usr/share/doc/ultramonkeyl7-3.0.0/heartbeat-ra /usr/share/doc/ultramonkeyl7-3.0.0/mibs /usr/share/doc/ultramonkeyl7-3.0.0/heartbeat-ra/L7directord /usr/share/doc/ultramonkeyl7-3.0.0/heartbeat-ra/L7vsd /usr/share/doc/ultramonkeyl7-3.0.0/heartbeat-ra/VIPcheck /usr/share/doc/ultramonkeyl7-3.0.0/heartbeat-ra/authkeys /usr/share/doc/ultramonkeyl7-3.0.0/heartbeat-ra/cib.xml /usr/share/doc/ultramonkeyl7-3.0.0/heartbeat-ra/ha.cf /usr/share/doc/ultramonkeyl7-3.0.0/heartbeat-ra/logd.cf /usr/share/doc/ultramonkeyl7-3.0.0/mibs/ULTRAMONKEY-L7-MIB.txt /var/run/l7vs こんな感じ。 make uninstallも機能しないので削除時は上記参照。