所有人!
我也有同样的结果
**
加载共享库时出错:libmpfr.so.4:无法打开共享库
对象文件:没有这样的文件或目录
但在另一种配置下:

../gcc.s/configure      \
--target=$LFS_TGT       \
--prefix=/tools     \
--with-sysroot=$LFS     \
--with-newlib       \
--without-headers       \
--with-local-prefix=/tools  \
--with-native-system-header-dir=/tools/include  \
--disable-nls       \
--disable-shared        \
--disable-multlib       \
--disable-decimal-float \
--disable-threads       \
--disable-libmudflap    \
--disable-libssp        \
--disable-libgomp       \
--disable-libquadmath   \
--enable-language=c

在gcc源树中存在gmp、mpc、mpfr
我的问题是
结果如何--disable-shared
启用链接cc1以防libmpfr.so.4insteed staticlibmpfr.a
在gcc构建结果中显示:
gcc.b/mpfr/src/.libs/libmpfr.a

最佳答案

首先,运行pacman -Syu并执行任何/所有更新。确保注意Pacman的输出(如果有大量输出,则检查/var/log/pacman.log)。查找并合并找到的任何.pacnew文件,日志将显示这些文件的位置,或者您也可以ls -al /etc/*.pacnew,但无论如何请检查日志,以确保您没有遗漏任何子目录或其他位置中的任何文件。另外,如果更新了内核,请确保重新启动。如果这不能解决问题,那么根据最新的库重新构建mpfr。
Here是有关处理.pacnew和.pacsave文件的Arch Linux Wiki的链接。
执行完全更新
# pacman -Syu
如果mpfr不能从更新中修复
# pacman -Syu mpfr在安装/更新时始终使用-Syu,以确保所有repo都已更新。
正在检查libmpfr.so.*所有权。
# pacman -Qo /usr/lib/libmpfr.so
/usr/lib/libmpfr.so.4.1.1 is owned by mpfr 3.1.1.p2-2
如果您在更新后遇到任何问题,请在Pastebin站点上粘贴日志和错误消息,我将查看。
对不起的,
我以为这个标签是[archlinux]的,但显然不是(谢谢jonathan wakely)。不过,同样的步骤也适用。将pacman -*替换为分发包管理器apt-getyumemerge,无论它是什么。MPFR必须根据新的库进行重建。

关于linux - 具有--disable-shared的libmpfr.so.4依赖项,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15326978/

10-11 17:46