8.7. 服务器和服务
SAP 的 compat-unixODBC234
软件包需要一个符号链接来加载 unixODBC
库
unixODBC
软件包版本 2.3.1 包括在 RHEL 7 中。另外,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.1002.0.0
下,而不是 /usr/lib64/libodbc.so.2.0.0
。
因此,使用 unixODBC
版本 2.3.4 构建的第三方应用程序使用 dlopen()
功能在运行时加载 unixODBC
库无法加载带有以下错误消息的库:
/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)