cacti

  • MRTGHotSaNICで行っている監視を一元管理すべく、cactiのインストールを試みる。
  • 基本的にインストールは一直線。
    • ソースの展開
    • MySQLにデータベースを作成
    • テーブルをインポート
    • アカウント作成
    • config.phpの編集
    • permission変更
  • と終了して、php /home/.../poller.phpを実行したところ、下記と全く同じエラーが出てしまう。
  • この原因は、./configure実行時に--with-mysqlにlibmysqlclientが収納されるパスを渡さなくてはならないらしい。
  • 該当するライブラリは、こんなところに入っている。
/usr/local/lib/mysql/libmysqlclient.a
/usr/local/lib/mysql/libmysqlclient.la
/usr/local/lib/mysql/libmysqlclient.so
/usr/local/lib/mysql/libmysqlclient.so.14
  • それを踏まえて、こんな感じの./configureオプションに書き換えてみる。
./configure --prefix=/usr/local                            \
            --with-apxs2=/usr/local/sbin/apxs              \
            --with-layout=GNU                              \
            --with-mysql=shared,/usr/local
  • なぜ/usr/localでよいのかは謎ですが、これ以外を指定するとエラーになって./configureが通らないので。
  • さて、一つのエラーが解消されたところで、別のエラーに引っかかったようですね。
php cacti-0.8.6f/poller.php

Fatal error: Call to undefined function:  mysql_connect() in /usr/home/cacti/cacti-0.8.6f/lib/adodb/drivers/adodb-mysql
.inc.php on line 339