Ubuntu20.04 上执行程序时遇到找不到 libcrypt.so.1这个问题,先确认是否真的没有这个库

$ whereis libcrypt.so.1
libcrypt.so: /lib/x86_64-linux-gnu/libcrypt.so.1 /usr/lib/x86_64-linux-gnu/libcrypt.so

$ ls -l /lib/x86_64-linux-gnu/libcrypt.so.1
lrwxrwxrwx 1 root root 17 Mar 11  2020 /lib/x86_64-linux-gnu/libcrypt.so.1 -> libcrypt.so.1.1.0

$ ls -l /lib/x86_64-linux-gnu/libcrypt.so.1.1.0
-rw-r--r-- 1 root root 202760 Mar 11  2020 /lib/x86_64-linux-gnu/libcrypt.so.1.1.0

有啊,怎么回事?

CSDN上看到有人也遇到这个问题,模仿他们的方法,

在/etc/ld.so.conf中加入/lib/x86_64-linux-gnu 这一行,保存之后,再运行:/sbin/ldconfig –v更新一下配置()

$ sudo ldconfig -v | grep libcrypt.so.1
/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
/sbin/ldconfig.real: /lib/x86_64-linux-gnu/ld-2.31.so is the dynamic linker, ignoring

        libcrypt.so.1 -> libcrypt.so.1.1.0
/sbin/ldconfig.real: /lib32/ld-2.31.so is the dynamic linker, ignoring

然后再执行下程序,仍然提示找不到这个库文件。

后来百度google查了一通,都没能找到正确的解决方法。

突然意识到可能那个程序需要的是32bit的库文件。

于是安装32bits的libcrypt.so.1, 再执行程序,问题解决了!

安装32位 libcrypt.so.1方法如下:

Ubuntu20.04上,libcrypt1这个包的i386版本提供32位的 licrypt.so.1,命令如下:

$ sudo apt install libcrypt1:i386

如果上述命令不能成功执行,可能需要先使能32bits,命令如下:

sudo dpkg --add-architecture i386
sudo apt update

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐