【问题标题】:missing libmpfr.so.6 when using a cross-compiler使用交叉编译器时缺少 libmpfr.so.6
【发布时间】:2020-10-15 11:00:01
【问题描述】:

我使用的是 Ubuntu 18.04

我使用 buildroot 构建了一个 mips 交叉编译器,但是当我尝试测试它是否可以工作时,我收到了这条消息

/home/daisy/repos/repo/buildroot/output/host/bin/../libexec/gcc/mipsel-buildroot-linux-uclibc/9.3.0/cc1: error while loading shared libraries: libmpfr.so.6: cannot open shared object file: No such file or directory

我搜索了解决方案,其中一个是这样说的:

sudo pacman -S mpfr

好吧,我的 Linux 不是 archlinux,这对我不起作用。 有人请告诉我如何处理它。

【问题讨论】:

  • 您可能会安装(使用aptaptitude)一些包,例如gcc-9-mipsel-linux-gnu,您的问题应该显示exact configure 命令用于构建您的交叉编译器。您可能需要编辑 /etc/ld.so.conf 然后运行 ​​ldconfig
  • @BasileStarynkevitch 在我下载了 buildroot 包后,我使用了make clean make menuconfig ,然后进入了一个类似 BIOS 的 GUI,我通过选择来配置所有内容。之后,我用了make,然后交叉编译器就建好了。因此,我真的不知道如何显示 exact configure 命令。你能解释得更详细些吗?
  • 编辑你的问题不要评论它
  • @BasileStarynkevitch 我说的是我不知道我应该添加什么,希望你能更具体地告诉我。你说我需要显示configure命令,我回答说我是在图形界面中配置的,所以我不能给出确切的configure命令,或者我错了,希望你指出来。

标签: linux ubuntu cross-compiling ubuntu-18.04 buildroot


【解决方案1】:

上述在你的主机系统上安装 libmpfr 的建议是错误的。 Buildroot 应该具有构建 libmpfr,它应该存在于 host/lib 中,并且由于它具有适当的 RPATH,因此被交叉编译器拾取。如果它不起作用,我们需要找出原因,但正确的做法是不要在您的主机系统上安装 libmpfr。

【讨论】:

    【解决方案2】:

    在 Ubuntu 中,apt 命令(Advanced Packaging Tool) 用于执行新软件包的安装、现有软件包的升级等功能,更新包列表索引,甚至升级整个 Ubuntu 系统。

    试试这个命令:-

    sudo apt-get update
    sudo apt install libmpfr6
    

    这会将共享库:libmpfr.so.6 安装到您的 Ubuntu 系统。

    希望对你有帮助!

    【讨论】:

    • 显示Unable to locate package libmpfr6,如何解决?
    • @syzwlop 尝试命令sudo apt-get update然后sudo apt install libmpfr6
    • 我尝试了你所有的命令,但仍然得到与上面相同的结果。是 apt source list 的问题吗?我之前改过/etc/apt/sources.list
    猜你喜欢
    • 1970-01-01
    • 2016-07-11
    • 1970-01-01
    • 2011-03-18
    • 1970-01-01
    • 2022-01-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多