8.7. サーバーおよびサービス
SAP の compat-unixODBC234
パッケージには、unixODBC
ライブラリーを読み込むためのシンボリックリンクが必要である
RHEL 7 では unixODBC
パッケージバージョン 2.3.1 が利用できます。さらに、compat-unixODBC234
パッケージバージョン 2.3.4 は、RHEL 7 for SAP Solutions sap-hana
リポジトリーから入手できます。詳細は、新規パッケージ: SAP 向けの compat-unixODBC234
を参照してください。
unixODBC
バージョン 2.3.1 と 2.3.4 のマイナーな ABI の相違点により、バージョン 2.3.1 で構築されたアプリケーションはバージョン 2.3.4 では機能しない場合があります。この互換性の問題を防ぐために、compat-unixODBC234
パッケージは、このパッケージで利用可能な共有ライブラリーに異なる SONAME を使用します。このライブラリーファイルは、/usr/lib64/libodbc.so.2.0.0
ではなく、/usr/lib64/libodbc.so.1002.0.0
にあります。
これにより、dlopen()
関数を使用してランタイムに unixODBC
ライブラリーを読み込む unixODBC
バージョン 2.3.4 で構築されたサードパーティーアプリケーションは、以下のエラーメッセージでライブラリーを読み込むことができません。
/usr/lib64/libodbc.so.2.0.0: cannot open shared object file: No such file or directory
この問題を回避するには、以下のシンボリックリンクを作成します。
# ln -s /usr/lib64/libodbc.so.1002.0.0 /usr/lib64/libodbc.so.2.0.0
また、必要に応じて compat-unixODBC234
パッケージからの他のライブラリー向けに同様のシンボリックリンクを作成します。
compat-unixODBC234
パッケージは、ベースの RHEL 7 unixODBC
パッケージと競合することに注意してください。そのため、compat-unixODBC234
をインストールする前に unixODBC
をアンインストールしてください。
(BZ#1844443)
OpenLDAP ライブラリー間のシンボルの競合により、httpd
でクラッシュが発生することがある
OpenLDAP が提供する libldap
ライブラリーと libldap_r
ライブラリーの両方が、単一のプロセス内にロードされ、使用されると、これらのライブラリー間でシンボルの競合が発生する可能性があります。そのため、httpd
設定によって mod_security
または mod_auth_openidc
モジュールもロードされると、PHP ldap
拡張機能を使用する Apache httpd
子プロセスが突然終了する可能性があります。
Apache Portable Runtime (APR) ライブラリーに対する今回の更新では、APR_DEEPBIND
環境変数を設定することでこの問題を回避できます。これにより、httpd
モジュールのロード時に RTLD_DEEPBIND
動的リンカーオプションを使用できるようになります。APR_DEEPBIND
環境変数を有効にすると、競合するライブラリーをロードする httpd
設定でクラッシュが発生しなくなります。
(BZ#1739287)