libreadline.so.6:无法打开共享对象文件。有 libreadline-7 和 dev

libreadline.so.6:无法打开共享对象文件。有 libreadline-7 和 dev

我在尝试运行 vtysh 进行某些网络模拟时收到以下错误

vtysh: error while loading shared libraries: libreadline.so.6: cannot open shared object file: No such file or directory

目前我已经安装了 libreadline-dev 和 libreadline-7,并在 /lib/x86_64-linux-gnu/libreadline.so.6 处创建了一个指向 libreadline.so.7 的符号链接,但无济于事。我假设它可能正在寻找不同的路径,但我不确定如何解决此类问题。


下面的建议就没有那么幸运了。按照下面的建议从源代码编译 readline6.3 后,我的输出ldconfig -v | grep readline是:

/sbin/ldconfig.real: Can't stat /usr/local/lib/x86_64-linux-gnu: No such file or directory
/sbin/ldconfig.real: Path `/lib/x86_64-linux-gnu' given more than once
/sbin/ldconfig.real: Path `/usr/lib/x86_64-linux-gnu' given more than once
    libreadline.so.6 -> libreadline.so.6.3
    libreadline.so.7 -> libreadline.so.7.0
/sbin/ldconfig.real: /lib/x86_64-linux-gnu/ld-2.27.so is the dynamic linker, ignoring

    libguilereadline-v-18.so.18 -> libguilereadline-v-18.so.18.0.0
/home/gdc/Desktop/readline-6.3:
/sbin/ldconfig.real: /lib32/ld-2.27.so is the dynamic linker, ignoring

答案1

由于创建符号链接不起作用,您唯一的其他选择是从源代码编译代码并将其添加到您的环境中。您可以在这里获取源代码readline-6.3

http://ftp.gnu.org/gnu/readline/

编译后,创建一个文件 /etc/ld.so.conf.d/x86_64_readline-gnu.conf 并/path/to/readline/lib根据编译位置输入该行。然后,运行命令:

ldconfig -v | grep readline

您将看到它libreadline.so.6在您的环境中并且vtysh运行不会出现任何问题。

相关内容