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