アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつも参考にさせていただいております。

今回、DebianEtchでopenssl-0.9.8hとopenldap-2.4.11を利用しSSL化をしてみたのですが、

LDAPを起動しようとしたところで、
「/usr/local/libexec/slapd: symbol lookup error: /usr/local/libexec/slapd: undefined symbol: SSL_CTX_set_info_callback
NG」
のようなメッセージが表示されてしまいます。

1.SSLインストール。(./Configure --prefix=/usr/local --openssldir=/usr/local/stow/openssl-0.9.8i/ssl shared linux-generic32)

2.LDAPインストール(./configure --enable-tls --enable-wrappers --enable-crypt --prefix=/usr/local/stow/openldap-2.4.11 --libdir=/usr/local/lib --sysconfdir=/etc/ldap --includedir=/usr/local/include --enable-monitor=no)

をして、
3.SSLで鍵の生成後、slapd.confに鍵設定追加後、
LDAPを起動しようとすると出ました。

そこで、LDAPのTLS設定が有効になっていないのかと思い
./configure --enable-tls --enable-wrappers --with-tls --enable-crypt --prefix=/usr/local/stow/openldap-2.4.11 --libdir=/usr/local/lib --sysconfdir=/etc/ldap --includedir=/usr/local/include --enable-monitor=no

tlsを有効にし、再インストールを行いLDAPの起動を行ったところ
「/usr/local/libexec/slapd: symbol lookup error: /usr/local/libexec/slapd: undefined symbol: SSL_CTX_set_info_callback
NG」
のメッセージは出なくなり正常に起動したのですが、
サーバを再起動したあともう一回、LDAPを起動しようとしますと
同じエラーメッセージが表示されてしまいます。

どなたか、解決方法をご存知の方がいられましたら
ご教授のほうお願いできないでしょうか?

よろしくお願いします。

A 回答 (1件)

slapd が OS にプリインストールされている旧バージョンの OpenSSL にリンクされていませんか?



$ ldd slapd

もし、そうであれば、以下のいずれかの対処が必要です。

1. slapd リンク時に実行時パス (DT_RPATH、DT_RUNPATH) を設定する

環境変数 LD_LIBRARY_PATH=/usr/local/lib を設定した上で configure を実行し、make の前に config.status をエディタで開いて -lcrypto となっている箇所を -lcrypto -R/usr/local/lib とし、./config.status を再実行した後で make を実行する。

2. LD_LIBRARY_PATH 環境変数を設定する (LD_LIBRARY_PATH はどちらかというとデバッグ用なのであまりお勧めしません)

3. /etc/ld.so.conf に /usr/local/lib を追加して ldconfig を実行する(システム全てに影響が出るのでお勧めしません)

この回答への補足

entreeさん回答ありがとうございます。

早速1の方法でためさせていただきました。
結果、再起動してもエラーがでなくなりました。
ありがとうございます。

もしよろしければお聞きしたいのですが、
>-lcrypto -R/usr/local/lib とし、./config.status を再実行した後で make を実行する

これには一体どんな効果があったのでしょうか?
また config.statusには、結構な行あったのですが、どうやったらこのような解決方法を一発で見つけることができるのでしょうか?
やはり慣れなのでしょうか

補足日時:2008/09/20 01:58
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!