" />
[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