" /> Vine Linux 3.0 での freeradius 0.9.3 rpm作成手順

Vine Linux 3.0 での freeradius 0.9.3 rpm作成手順

RPMをビルドする

RPMをビルドするため、tarballからspecファイルを抜き出す。そして、rpmbuildを実行します。実行する前に、specファイルの中身は確認しておきましょう。

$ tar zxvf freeradius-0.9.3.tar.gz
$ cp -a freeradius-0.9.3/redhat/freeradius.spec ~/rpm/SPECS
$ cp -a freeradius-0.9.3.tar.gz ~/rpm/SOURCES
$ rpmbuild -ba --target=i686 ~/rpm/SPECS/freeradius.spec

しかし、以下のエラーが出て正常に終了しません。

libtool: link: unable to infer tagged configuration
libtool: link: specify a tag with `--tag'
gmake[4]: *** [libradius.a] エラー 1
gmake[3]: *** [common] エラー 1
gmake[2]: *** [all] エラー 2
gmake[1]: *** [common] エラー 1
make: *** [all] エラー 2
エラー: /var/tmp/rpm-tmp.5497 の不正な終了ステータス (%build)


RPM ビルドエラー:
    /var/tmp/rpm-tmp.5497 の不正な終了ステータス (%build)
$

libtoolがエラーを返してきている。libt`--tag' という指定が必要らしい。Make.inc.in に `--tag=CXX' などと追記して試してみるが上手くいかず...

とりあえず、libtool-1.4.2に一時的にダウングレード。これはVine Linux 2.6 においては正常にRPMがビルドできた実績があるためなのです。

# rpm -Uvh --oldpackage libtool-1.4.2-4vl1.i386.rpm libtool-libs-1.4.2-4vl1.i386.rpm

freeradius.spec の内容を再確認。エラーになりそうなところを発見したので修正しました。

$ diff -urN freeradius-0.9.3/redhat/freeradius.spec ~/rpm/SPECS/freeradius.spec
--- freeradius-0.9.3/redhat/freeradius.spec  2003-11-21 05:11:59.000000000 +0900
+++ freeradius.spec     2004-09-05 11:17:55.000000000 +0900
@@ -45,6 +45,7 @@
 [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT

 mkdir -p $RPM_BUILD_ROOT/etc/{logrotate.d,pam.d,rc.d/init.d}
+mkdir -p $RPM_BUILD_ROOT/var/{log/radius/radacct,run/radiusd}

 make install R=$RPM_BUILD_ROOT
$

気を取り直して再ビルド。

$ rpmbuild -ba --target=i686 ~/rpm/SPECS/freeradius.spec

無事にビルドが完了。

インストール

作成したRPMをインストールします。

$ cd ~/rpm/RPMS/i686
$ sudo rpm -ivh freeradius-0.9.3-1.i686.rpm

daemon起動

freeradius を起動。libtoolをupgradeするのを忘れずに。

# /etc/rc.d/init.d/radiusd start