Solaris 10からKerberos 5(SEAM)にヘッダファイルなどの開発環境もバ ンドルされるようになりました。Solaris 8/9を使っている場合や最新バー ジョンを使いたい人はMIT Kerberos 5をインストールします。
src/setup.sh
#!/bin/sh
if [ $# -eq 1 ]; then
. ../../setup-pre.sh $1
else
. ../../setup-pre.sh
fi
./configure \
--prefix=/usr/local/kerberos \
--bindir=/usr/local/kerberos/bin/$ISA \
--sbindir=/usr/local/kerberos/sbin/$ISA \
--libexecdir=/usr/local/kerberos/libexec/$ISA \
--libdir=/usr/local/kerberos/lib$LIBISA \
--mandir=/usr/local/kerberos/man \
--infodir=/usr/local/info \
--enable-dns-for-realm \
--with-ldap
Solaris 8ではisblank()がないのでエラーになってしまいます。ヘッダファ イルに追加します。
--- /usr/include/iso/ctype_iso.h.orig 2000-01-06 07:09:43.000000000 +0900 +++ /usr/include/iso/ctype_iso.h 2009-06-22 18:21:10.276473000 +0900 @@ -141,6 +141,7 @@ #define isprint(c) (__ctype_mask[c] & _ISPRINT) #define isgraph(c) (__ctype_mask[c] & _ISGRAPH) #define iscntrl(c) (__ctype_mask[c] & _ISCNTRL) +#define isblank(c) (__ctype_mask[c] & _ISBLANK) #else #define isalpha(c) ((__ctype + 1)[c] & (_U | _L)) #define isupper(c) ((__ctype + 1)[c] & _U) @@ -153,6 +154,7 @@ #define isprint(c) ((__ctype + 1)[c] & (_P | _U | _L | _N | _B)) #define isgraph(c) ((__ctype + 1)[c] & (_P | _U | _L | _N)) #define iscntrl(c) ((__ctype + 1)[c] & _C) +#define isblank(c) ((__ctype + 1)[c] & _B) #endif /* defined(__XPG4_CHAR_CLASS__) || defined(_XPG4_2) || ... */
% cd src % ./setup.sh [sparcv8plus|sparcv9|i386|amd64]
一部のpluginのLDAPライブラリの検索パスを修正します。
64bitでは
ライブラリパスに/64を追加します。
% vi src/plugins/kdb/ldap/libkdb_ldap/Makefile - SUPPORT_LIB = -l$(SUPPORT_LIBNAME) + SUPPORT_LIB = -L/usr/local/lib -R/usr/local/lib -l$(SUPPORT_LIBNAME)
libintl_textdomainが未定義のシンボルというエラーが出ないように、 リンクライブラリを追加します。
% vi src/slave/Makefile - LIBS = -lresolv -lsocket -lnsl + LIBS = -lresolv -lsocket -lnsl -lintl
makeしてインストールします。
% gmake # gmake install
ISA自動起動リンクを作るために、以下のスクリプトを実行します。
#!/bin/sh
#
BINPROG="compile_et gss-client kdestroy kinit klist kpasswd
ksu kvno sclient sim_client uuclient"
SBINPROG="gss-server kadmin.local kadmind kdb5_ldap_util kdb5_util
kprop kpropd kproplog krb5-send-pr krb5kdc sim_server sserver uuserver"
BINDIR=/usr/local/kerberos/bin
SBINDIR=/usr/local/kerberos/sbin
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