001-008979
64bit版のRed Hat Enterprise Linux 5にDB分割構成でガルーンを構築すると、ldap.soのライブラリが正しくリンクされない。
- 種別
- 不具合
- 機能
-
- インストーラー
- 再現バージョン
-
- 3.7.0
- 3.7.1
- 3.7.2
- 3.7.3
- 3.7.4
- 3.7.5
- 4.0.0
- 4.0.1
- 4.0.2
- 4.0.3
- 4.2.0
- 4.2.1
- 4.2.2
- 4.2.3
- 4.2.4
- 4.2.5
- 4.2.6
- 改修バージョン
- 公開日
- 2015-07-13
- 更新日
- 2017-10-06
詳細
【発生条件】
次の条件を満たす場合に発生します。
- 64bit版Red Hat Enterprise Linux 5にDB分割構成でガルーンを構築する。
【再現手順】
- バージョン 3.7.0以降のガルーンを、DB分割構成で構築します。
- 次のコマンドでldap.soが必要とするライブラリを確認します。
#ldd /usr/local/cybozu/cbgrn/extensions/ldap.so
→現象発生:
「libldap-2.4.so.2」と「liblber-2.4.so.2」が参照できていません。
例:
----------------
linux-vdso.so.1 => (0x00007ffffedfd000)
libldap-2.4.so.2 => not found
liblber-2.4.so.2 => not found
libc.so.6 => /lib64/libc.so.6 (0x00002b5770037000)
/lib64/ld-linux-x86-64.so.2 (0x00002b576fc04000)
----------------
補足:
- 本現象による動作上の影響はございません。
- サーバーの/var/log/messagesを確認すると、PHP Warningが出力されます。
- 次のコマンドを実行します。
# /usr/local/cybozu/cbgrn/grn.cgi -v - /var/log/messagesに次のメッセージが出力されます。
----------------
localhost grn.cgi: PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/cybozu/cbgrn/extensions/ldap.so' - libldap-2.4.so.2: cannot open shared object file: No such file or directory in Unknown on line 0
----------------
- 次のコマンドを実行します。
回避/対応方法
【対応方法】
シンボリックリンクを再設定します。
- シンボリックリンクを再設定します。
例:
ln -s /usr/local/cybozu/openldap/lib/libldap-2.4.so.2 /usr/local/cybozu/openldap/lib/libldap-2.4.so.2
ln -s /usr/local/cybozu/openldap/lib/liblber-2.4.so.2 /usr/local/cybozu/openldap/lib/liblber-2.4.so.2 - 再度、lddコマンドを実行します。
- 次のように表示されると、必要なライブラリを参照できている状態です。
例:
ldd /var/www/cgi-bin/cbgrn/extensions/ldap.so
--------------------------------
ldd /usr/local/cybozu/cbgrn/extensions/ldap.so
linux-vdso.so.1 => (0x00007fff305b3000)
libldap-2.4.so.2 => /usr/local/cybozu/openldap/lib/libldap-2.4.so.2 (0x00002afe13ba3000)
liblber-2.4.so.2 => /usr/local/cybozu/openldap/lib/liblber-2.4.so.2 (0x00002afe13ddc000)
libc.so.6 => /lib64/libc.so.6 (0x00002afe13ff6000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x00002afe1434e000)
libsasl2.so.2 => /usr/lib64/libsasl2.so.2 (0x00002afe14564000)
libssl.so.0.9.8 => /usr/local/cybozu/openssl/lib/libssl.so.0.9.8 (0x00002afe1477d000)
libcrypto.so.0.9.8 => /usr/local/cybozu/openssl/lib/libcrypto.so.0.9.8 (0x00002afe149cf000)
/lib64/ld-linux-x86-64.so.2 (0x0000003bb6600000)
libdl.so.2 => /lib64/libdl.so.2 (0x00002afe14d53000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00002afe14f57000)
--------------------------------
- 次のように表示されると、必要なライブラリを参照できている状態です。
補足:
- シンボリックリンクの再設定を行うことで、/var/log/messagesへのエラーメッセージ出力は解消します。