我在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 回答
我将从Debian jessie存储库安装libbz2-1.0:armhf .
实际上,它也存在于Ubuntu存储库中 .
配置包管理器以管理ARM包:
Ubuntu 14.04代号为'trusty',因此通过将行添加到
/etc/apt/sources.list
文件中来添加可信赖的ARM存储库:然后更新包索引:
为ARM安装libbz2(但如果它要求删除任何包,则中止):
如果
apt-get
要求删除系统的一半以便安装像libc6这样大的东西:armhf,libgcc:armhf,build-essential:armhf等,那么前面会有一个依赖解析会话 . 没有确切的指南 .此外,还有一件小事:您可能希望将
[arch=amd64,i386]
注释添加到/etc/apt/sources.list
中的所有其他存储库以避免警告 .