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 提供的 libldaplibldap_r 库被加载并在单个进程中使用时,这些库之间可能会发生符号冲突。因此,如果 httpd 配置也加载 mod_securitymod_auth_openidc 模块,使用 PHP ldap 扩展的 Apache httpd 子进程可能会意外终止。

在这个版本中,到 Apache Portable Runtime(APR)库,您可以通过设置 APR_DEEPBIND 环境变量来解决这个问题,该变量启用在加载 httpd 模块 时使用 RTLD_DEEPBIND 动态链接器选项。当 APR_DEEPBIND 环境变量启用时,会不再在加载冲突库的 httpd 配置中崩溃。

(BZ#1739287)