首页 文章

如何在Ubuntu 14.04上的交叉编译器g -arm-linux-gnueabifh中安装libbz2

提问于
浏览
1

我在amd64机器上使用arm-linux-gnueabihf-g -4.8来交叉编译针对ARM 32位架构的boost . 我的操作系统是Ubuntu 14.04 .

它无法构建lib libboost_iostreams,因为libbz2没有附带编译器 . 以下是错误细节,

/usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/../../../../arm-linux-gnueabihf/bin/ld:找不到-lbz2 collect2:错误:ld返回1退出状态 .

很难弄清楚如何为arm-linux-gnueabihf-g -4.8安装这个libbz2 . 在网上找不到太多文件 . 需要一些帮助 . 非常感谢你!

1 回答

  • 0

    我将从Debian jessie存储库安装libbz2-1.0:armhf .

    实际上,它也存在于Ubuntu存储库中 .

    配置包管理器以管理ARM包:

    sudo dpkg --add-architecture armhf
    

    Ubuntu 14.04代号为'trusty',因此通过将行添加到 /etc/apt/sources.list 文件中来添加可信赖的ARM存储库:

    deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports trusty main
    

    然后更新包索引:

    sudo apt-get update
    

    为ARM安装libbz2(但如果它要求删除任何包,则中止):

    sudo apt-get install libbz2-1.0:armhf
    

    如果 apt-get 要求删除系统的一半以便安装像libc6这样大的东西:armhf,libgcc:armhf,build-essential:armhf等,那么前面会有一个依赖解析会话 . 没有确切的指南 .

    此外,还有一件小事:您可能希望将 [arch=amd64,i386] 注释添加到 /etc/apt/sources.list 中的所有其他存储库以避免警告 .

相关问题