MIT Kerberos V5 1.8.1


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

hiraga@next-hop.net
Last modified: $Date: 2010/03/12 07:59:34 $
Apache