net-snmp のRPM を作る(RRDtool を使う)

ずいぶんと前にnet-snmp とMRTG を…とか言ってたような気がしますが、全てなかったことにして、改めてnet-snmp + RRDtool で稼働状況をモニタ出来るようにしていきたいと思います。
というわけで色々話が前後するかもしれませんが、まずはnet-snmp のRPM を作るところから。SourceForge のページには"net-snmp-5.2-1.fc2.i686.rpm" なんてファイルが置いてあって、いかにもFedora Core 2 用ですよー、といってるような気がしますが、効率が良くないけどやはりここは自分でソースからインストール。というわけで"net-snmp-5.2.tar.gz" を頂いてきました。
解凍して中にspec ファイルがないか捜索、"dist/net-snmp.spec" を発見。特にいじることもなく、ビルド通りました。


# rpmbuild -bp --target i686 /usr/src/redhat/SPECS/net-snmp.spec # パッチをあてる
# rpmbuild -bc --target i686 /usr/src/redhat/SPECS/net-snmp.spec # コンパイルを行う
# rpmbuild -bi --target i686 /usr/src/redhat/SPECS/net-snmp.spec # インストールテスト
# rpmbuild -ba --target i686 /usr/src/redhat/SPECS/net-snmp.spec # パッケージを作成する

ただ、途中で

/usr/bin/ld: cannot find -lelf

みたいなエラーが出てとまったので、検索して見つけた「Compiling apt for RH 9.0.」 を参考にして"elfutils-devel" をインストール。このへんは手抜してyum を利用。


# yum install elfutils-devel
(snip)
I will do the following:
[install: elfutils-devel 0.76-3.i386]
Is this ok [y/N]: y
Getting elfutils-devel-0.76-3.i386.rpm
Calculating available disk space - this could take a bit
elfutils-devel 100 % done 1/1
Installed:  elfutils-devel 0.76-3.i386
Transaction(s) Complete

そして無事にパッケージが出来ました、めでたし、めでたし。
(2005/01/19 16:55 追記)
実際にインストールすると以下のようなメッセージが出ました。"cpan2rpm" でパッケージを作って解決。


# rpm -Uvh net-snmp-5.2-1.i686.rpm
: Failed dependencies:
perl(Term::ReadKey) is needed by net-snmp-5.2-1
perl(Tk) is needed by net-snmp-5.2-1

(2005/01/20 14:44 追記)
Tk パッケージもテストにfail してしまうので、さっくり諦めた。今後不具合が発生した時用にいちおうソースが置いてあるフォルダへリンク。

で、インストール強行。


# rpm -Uvh --nodep net-snmp-5.2-1.i686.rpm

続く。