" />
[HOME]|[Wireless LAN Top]
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
freeradius を起動。libtoolをupgradeするのを忘れずに。
# /etc/rc.d/init.d/radiusd start