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