在升级到Ubuntu 18.04后,无法打开libmpfr.so.4

6
今天我将我的笔记本电脑更新到Ubuntu 18.04。现在我尝试运行我学士论文的程序,但它给了我以下错误信息:
“error while loading shared libraries: libmpfr.so.4: cannot open shared object file: No such file or directory”
我进行了一些研究,我认为libmpfr4已经在这个ubuntu版本中被删除了。有没有办法解决这个问题?

1
你应该向Ask Ubuntu社区提问。他们会给你更好的答案。 - Ronan Boiteau
使用这个命令 - ldconfig -p | grep mpfr,你能看到什么? - user2760375
@user2760375 libmpfr.so.6 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libmpfr.so.6 libmpfr.so.4 (libc6) => /usr/lib/i386-linux-gnu/libmpfr.so.4 libmpfr.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libmpfr.so - ironmaya
@ironmaya 这意味着它已经存在,请查看关于libmpfr的dmesg消息。 - user2760375
为什么我还是会收到错误信息? - ironmaya
3个回答

20

我曾经遇到同样的问题,通过创建符号链接解决了它:

我遇到相同的问题并通过创建符号链接解决了它:

sudo ln -s /usr/lib/x86_64-linux-gnu/libmpfr.so.6 /usr/lib/x86_64-linux-gnu/libmpfr.so.4

请记住,这只是解决问题的方法,可能会在您的情况下引发其他问题。然而,在问题程序只是为了实现其他目的时,这可能会帮您解决困扰。


1
绝对精彩。 - yugr
太好了。谢谢。 - DisplayName
需要注意的是,在安装libmpfr-dev软件包之前,需要执行sudo apt install libmpfr-dev命令,并且路径取决于您的$LD_LIBRARY_PATH,您可以通过ldconfig -v命令找到路径。另外,可以使用以下命令进行链接:sudo ln -s /lib/x86_64-linux-gnu/libmpfr.so.6 /lib/x86_64-linux-gnu/libmpfr.so.4 - undefined

2
当您遇到这样的错误时,通常意味着您需要重新编译程序。或者,如果可用的话,您可以安装旧的MPFR 3.x版本(对应于libmpfr.so.4),否则从早期的Ubuntu版本中获取(我不建议这样做,但如果在打包系统中没有冲突,这可能是可以的;值得一提的是,在Debian中,libmpfr4和libmpfr6两个包是可以共存的)。请注意:与评论中所说的相反,如果您使用64位ABI(x86_64),则libmpfr.so.4已经不存在了,因为ldconfig -p | grep mpfr给出了该文件的32位版本,即/usr/lib/i386-linux-gnu/libmpfr.so.4。我怀疑升级删除了x86_64版本(可能是由于冲突或因为它不再需要)。

我确认没有冲突,软件包“libmpfr4”可以从以下网址安装: https://packages.debian.org/stretch/libmpfr4 - SergeyM

-1

apt install python-gmpy2 可以解决这个错误。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接