計算機メモ目次 (目的のページと内容が一致しない場合, 目次から探してください)

Solaris8 にて openldap-2.4.44 を構築する


準備
  Cyrus SASL 2.1.21以上, OpenSSL 0.9.7以上がすでにインストール済みであること.
  ICU (International Components for Unicode) もあるとよい.
    ICUの構築 ( http://site.icu-project.org/ からソースをダウンロードして展開)
      cd icu/source
      ./runConfigureICU Solaris/GCC
      make
      make install

コンフィギュレーション
  CC=gcc ./configure --prefix=/usr/local

メイク
  make depend
  make

  途中 openldap-2.4.44/servers/slapd/back-mdb/ にてメイク中に
  ./../../../libraries/liblmdb/mdb.c のコンパイルに失敗する.

    error: 'PTHREAD_MUTEX_ROBUST' undeclared (first use in this function)

  Solaris8 には PTHREAD_MUTEX_ROBUST と同じ PTHREAD_MUTEX_ROBUST_NP が
  あるので, servers/slapd/back-mdb/Makefile の一行を次のように書き換えて,
  make を再開する. 同様の関数も2つほどなくリンクに失敗するので今のうちにここで
  追加しておく.

    CC = $(AC_CC)
    DEFS = $(LDAP_INCPATH) $(XINCPATH) $(XDEFS) $(AC_DEFS) $(DEFINES)
    CFLAGS = $(AC_CFLAGS) $(DEFS)

  とある DEFS に

    -DPTHREAD_MUTEX_ROBUST=PTHREAD_MUTEX_ROBUST_NP
    -Dpthread_mutexattr_setrobust=pthread_mutexattr_setrobust_np
    -Dpthread_mutex_consistent=pthread_mutex_consistent_np

  の3つを加える. つまり,

    DEFS = $(LDAP_INCPATH) $(XINCPATH) $(XDEFS) $(AC_DEFS) $(DEFINES) -DPTHREAD_MUTEX_ROBUST=PTHREAD_MUTEX_ROBUST_NP -Dpthread_mutexattr_setrobust=pthread_mutexattr_setrobust_np -Dpthread_mutex_consistent=pthread_mutex_consistent_np

インストール
  make test
  make install



計算機メモ目次 (目的のページと内容が一致しない場合, 目次から探してください)
海洋大循環分野
daigo@ocg.aori.u-tokyo.ac.jp