sig_tでコンパイルエラーが出るのでソースを修正します。
--- src/include/libradius.h.orig Tue Apr 29 04:13:08 2014
+++ src/include/libradius.h Tue Nov 11 17:56:35 2014
@@ -71,6 +71,11 @@
extern "C" {
#endif
+/* work arround */
+#if defined(__sun)
+ typedef void(*sig_t)(int);
+#endif
+
#define EAP_START 2
#define AUTH_VECTOR_LEN 16
Sun ccだとキャストのエラーでコンパイルできないソースがあるので、 gccでコンパイルします。
以下のようなスクリプトを実行します。
setup.sh
#!/bin/sh if [ $# -eq 1 ]; then . ../setup-pre.sh $1 else . ../setup-pre.sh fi if [ "$ISA" = "sparcv9" -o "$ISA" = "amd64" ]; then CC="$GCCBIN -m64"; export CC CXX="$GPPBIN -m64"; export CC elif [ "$ISA" = "sparcv8plus" -o "$ISA" = "i386" ]; then CC="$GCCBIN"; export CC CXX="$GPPBIN"; export CC fi CFLAGS="-O2"; export CFLAGS ./configure \ --bindir=/usr/local/bin/$ISA \ --sbindir=/usr/local/sbin/$ISA \ --libdir=/usr/local/lib/freeradius2$LIBISA \ --localstatedir=/var \ --with-raddbdir=/usr/local/etc/rad2db \ --with-dhcp \ --with-openssl-includes=$sslincl \ --with-openssl-libraries=$ssllib \ --with-rlm-ldap-include-dir=$ldapinc \ --with-rlm-ldap-lib-dir=$ldaplib \ --with-rlm-krb5-lib-dir=$krb5lib \ --with-rlm-krb5-include-dir=$krb5inc
setup.shを実行します。
% ./setup.sh [sparcv9|sparcv8plus|amd64|i386]
要らないモジュールを削除します
# vi Make.inc - rlm_otp - rlm_unix
makeしてインストールします。
% gmake # gmake install
ISAのリンクを作成します。
#!/bin/sh
#
SBINPROG="raddebug radwatch rc.radiusd checkrad radmin radiusd"
BINPROG="radcrypt radsqlrelay radzap radtest radlast radsniff radconf2xml radwho radclient smbencrypt rlm_ippool_tool radeapclient rlm_dbm_parser rlm_dbm_cat rad_counter"
SBINDIR="/usr/local/sbin"
BINDIR="/usr/local/bin"
if [ "${SBINPROG}" != "" ]; then
cd ${SBINDIR}
for prog in ${SBINPROG}
do
rm -f $prog
ln /usr/lib/isaexec $prog
echo $prog
done
fi
if [ "${BINPROG}" != "" ]; then
cd ${BINDIR}
for prog in ${BINPROG}
do
rm -f $prog
ln /usr/lib/isaexec $prog
echo $prog
done
fi