与--disable-shared的libmpfr.so.4依赖关系

时间:2013-03-10 20:08:43

标签: linux gcc toolchain mpfr

大家好! 我有相同的结果 **

  加载共享库时出现

错误: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.4 insteed static libmpfr.a相关联 它存在于gcc构建结果中:

gcc.b/mpfr/src/.libs/libmpfr.a

1 个答案:

答案 0 :(得分:0)

首先,运行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以确保所有回购都已更新。

检查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。