CentOS 6.2 (64bit) での PacketiX コンパイル

CentOS 6.2 (64bit) で PacketiX コンパイルすると gcc が「-lz がない」「-lreadline がない」と怒ってきます(UT-VPNでも同じかも)。

make[1]: ディレクトリ `/home/foo/vpnserver' に入ります
ranlib libssl.a
ranlib libcrypto.a
ranlib vpnserver.a
gcc vpnserver.a -pthread -lrt -lm -lz libssl.a libcrypto.a -lpthread -ldl -lreadline -lcurses -m64 -DCPU_64 -o vpnserver
/usr/bin/ld: cannot find -lz
collect2: ld はステータス 1 で終了しました
make[1]: *** [vpnserver] エラー 1
make[1]: ディレクトリ `/home/foo/vpnserver' から出ます

とか

make[1]: ディレクトリ `/home/foo/vpnserver' に入ります
ranlib libssl.a
ranlib libcrypto.a
ranlib vpnserver.a
gcc vpnserver.a -pthread -lrt -lm -lz libssl.a libcrypto.a -lpthread -ldl -lreadline -lcurses -m64 -DCPU_64 -o vpnserver
/usr/bin/ld: cannot find -lreadline
collect2: ld はステータス 1 で終了しました
make[1]: *** [vpnserver] エラー 1
make[1]: ディレクトリ `/home/foo/vpnserver' から出ます

とか。

依存パッケージが抜けてる状態なので zlib-devel readline-devel ncurses-devel を入れます。

# yum -y install zlib-devel readline-devel ncurses-devel
$ make
(ライセンスがごにょごにょ省略)

make[1]: ディレクトリ `/home/foo/vpnserver' に入ります
ranlib libssl.a
ranlib libcrypto.a
ranlib vpnserver.a
gcc vpnserver.a -pthread -lrt -lm -lz libssl.a libcrypto.a -lpthread -ldl -lreadline -lcurses -m64 -DCPU_64 -o vpnserver
ranlib vpncmd.a
gcc vpncmd.a -pthread -lrt -lm -lz libssl.a libcrypto.a -lpthread -ldl -lreadline -lcurses -m64 -DCPU_64 -o vpncmd
make[1]: ディレクトリ `/home/foo/vpnserver' から出ます

vpncmd と vpnserver が出来てたらOK。


yum -y install readline で already installed になって、おかしいなぁと小首かしげてたのでメモ(readline-devel がいるのね)。