我在RHEL服务器上遇到了一个奇怪的问题。我正在运行./lampp start,试图运行xampp服务,但随后我收到一堆错误,表明它无法加载共享库:
netstat: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
/bin/sh: error while loading shared libraries: libdl.so.2: cannot open shared object file: No such file or directory
/opt/lampp/bin/gettext: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
/opt/lampp/bin/gettext: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
XAMPP: netstat: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
/bin/sh: error while loading shared libraries: libdl.so.2: cannot open shared object file: No such file or directory
/bin/sh: error while loading shared libraries: libdl.so.2: cannot open shared object file: No such file or directory
/opt/lampp/bin/gettext: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
/opt/lampp/bin/gettext: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory我已经检查过了,这些库存在于/usr/lib64中
[root@xxxxxuserlib64]# cd /usr/lib64
[root@xxxxxuserlib64]# ls -al |grep libc.so
-rw-r--r--. 1 root root 253 May 19 2020 libc.so
lrwxrwxrwx. 1 root root 12 Sep 3 18:01 libc.so.6 -> libc-2.17.so我已经尝试运行ldconfig。
[root@xxxxxuserlib64]# ldconfig -v | grep libc
ldconfig: Path `/lib' given more than once
ldconfig: Path `/lib64' given more than once
ldconfig: Can't stat /libx32: No such file or directory
ldconfig: Path `/usr/lib' given more than once
ldconfig: Path `/usr/lib64' given more than once
ldconfig: Can't stat /usr/libx32: No such file or directory
libcommon.so.9.3 -> libcommon.so.9.3.1
libcryptsetup.so.12 -> libcryptsetup.so.12.3.0
libcupscgi.so.1 -> libcupscgi.so.1
libcupsmime.so.1 -> libcupsmime.so.1
libcupsimage.so.2 -> libcupsimage.so.2
libcidn.so.1 -> libcidn-2.17.so
libcupsppdc.so.1 -> libcupsppdc.so.1
libcups.so.2 -> libcups.so.2
libcrack.so.2 -> libcrack.so.2.9.0
libcroco-0.6.so.3 -> libcroco-0.6.so.3.0.1
libcrypto.so.10 -> libcrypto.so.1.0.2k
libcpupower.so.0 -> libcpupower.so.0.0.0
libcairo-script-interpreter.so.2 -> libcairo-script-interpreter.so.2.11512.0
libcap.so.2 -> libcap.so.2.22
libcgroup.so.1 -> libcgroup.so.1.0.41
libcairo.so.2 -> libcairo.so.2.11512.0
libcollection.so.2 -> libcollection.so.2.1.1
libc.so.6 -> libc-2.17.so
libcap-ng.so.0 -> libcap-ng.so.0.0.0
libcom_err.so.2 -> libcom_err.so.2.1
libcurl.so.4 -> libcurl.so.4.3.0
libcrypt.so.1 -> libcrypt-2.17.so
libcryptsetup.so.4 -> libcryptsetup.so.4.7.0看起来还不错,libc已经加载了。
我尝试在.bashrc中添加导出LD_LIBRARY_PATH变量
[root@xxxxxxuserlib64]# echo $LD_LIBRARY_PATH
/usr/lib:/usr/lib64
[root@xxxxxxuser lib64]#还是没有用,还是有同样的问题。最后,我尝试将libc作为gettext添加到sampe目录中,但还是得到了一个错误。到目前为止,我已经用尽了我的选择。我该如何解决这个问题呢?
发布于 2021-09-09 09:29:23
原来发生这个错误是因为我将Red Hat服务器升级到了RHEL 7.9,而Lampp恰好设置了以下标志:
export LD_ASSUME_KERNEL=2.2.5它与3.10.0版本的更新后的新内核不兼容。
所以我就把这行注释掉了。我不确定这是否是正确的处理方式,但至少它能让服务启动并运行。我仍然会让这个问题开放,以防有人有更好的方法来处理这种情况。
https://stackoverflow.com/questions/69085859
复制相似问题