0

红帽企业 Linux 8.2 版 (Ootpa)

我们的 linux 管理员安装了 subversion - 不确定哪个版本 - 假设是最新的。

运行 svn 时(只输入 svn 没有别的),我收到以下错误:

svn: symbol lookup error: /lib64/libldap_r-2.4.so.2: undefined symbol: ber_sockbuf_io_udp

为什么是这样?如何解决?

我是 linux 用户而不是管理员。

谢谢

4

1 回答 1

0

类似的线程在这里:https ://unix.stackexchange.com/questions/193320/yum-corrupted-on-rhel-6

在我的情况下(RHEL7.8 + Apache 2.4 + Shibboleth 3.2)我能够通过将/usr/lib64/libldap_r-2.4.so.2库替换为 Apache 目录中的库来解决问题:<APACHE_ROOT>/HTTPServer/openldap/lib/libldap_r-2.4.so.2

运行: locate libldap_r-2.4.so.2 查找库的位置。就我而言,我得到了:

/app/ptc/Windchill_12.0/HTTPServer/openldap/lib/libldap_r-2.4.so.2
/app/ptc/Windchill_12.0/HTTPServer/openldap/lib/libldap_r-2.4.so.2.10.12
/usr/lib/libldap_r-2.4.so.2
/usr/lib/libldap_r-2.4.so.2.10.7
/usr/lib64/libldap_r-2.4.so.2
/usr/lib64/libldap_r-2.4.so.2.10.7

我注意到错误中使用的库在/usr/lib64目录中。我替换了它,现在./apachectl -t报告“语法正常”

我对 Linux 的了解还不够,无法解释这里发生了什么或正确的修复方法是什么。这是我的观察并解决了这个问题,但我相信我的步骤是一个 hack。

有人有更优雅的升级证明解决方案吗?

参考:https ://groups.google.com/g/repmgr/c/TS7QfYEoNoY

cd /usr/lib64/
ll | grep libldap
lrwxrwxrwx.  1 root root       21 Feb 11 16:42 libldap-2.4.so.2 -> libldap-2.4.so.2.10.7
-rwxr-xr-x.  1 root root   352512 Jun  6  2020 libldap-2.4.so.2.10.7
lrwxrwxrwx.  1 root root       23 Feb 11 16:42 libldap_r-2.4.so.2 -> libldap_r-2.4.so.2.10.7
-rwxr-xr-x.  1 root root   381328 Jun  6  2020 libldap_r-2.4.so.2.10.7

它似乎/usr/lib64/libldap_r2.4.so.2只是一个符号链接到libldap_r-2.4.so.2.10.7.

我想知道 2.10.7 中是否缺少或不推荐使用的符号......有没有办法告诉 2 个版本中的差异?

更新 我注意到您可以使用LoadFileApache conf 中的命令。在条目解决问题之前添加LoadFile <APACHE_ROOT>/HTTPServer/openldap/lib/libldap_r-2.4.so.2我的 00-shib.conf 文件。LoadModule mod_shib /usr/lib64/shibboleth/mod_shib_24.so

这对我来说似乎仍然是一种解决方法/破解,并且库/不同版本可能存在潜在问题。

于 2021-02-12T17:41:15.190 回答