【发布时间】:2018-05-31 16:29:20
【问题描述】:
如何设置.travis.yml 来为 MIPS 目标进行交叉编译?对于 PowerPC,这很简单:
addons:
apt:
packages:
- gcc-powerpc-linux-gnu
因为我可以访问包directly。
对于 MIPS,我在 Ubuntu Trusty 中找不到它的编译器:
即使它似乎被列入白名单:
看来我需要一个更新的 Ubuntu 映像(在 Travis 上不可能):
替代解决方案是使用一些预构建的 MIPS 编译器,例如:
但文档明确表示不要缓存这些东西:
大文件安装速度快但下载速度慢不是 从缓存中受益,因为它们需要很长时间才能从缓存中下载 来自原始来源:
- Android SDK
- Debian 软件包
- JDK 包
- 编译的二进制文件
- Docker 镜像
如何在默认的 Ubuntu Travis 镜像上安装 mips 交叉编译器?
更新我尝试了一个幼稚的解决方案:
addons:
apt:
sources:
- debian-sid
packages:
- gcc-mips-linux-gnu
但这失败了:
dpkg-deb: error: archive '/var/cache/apt/archives/gcc-7-base_7.2.0-18_amd64.deb' has premature member 'control.tar.xz' before 'control.tar.gz', giving up
dpkg: error processing archive /var/cache/apt/archives/gcc-7-base_7.2.0-18_amd64.deb (--unpack):
subprocess dpkg-deb --control returned error exit status 2
Ubuntu/Trusty 中的 dpkg 似乎不支持这些 deb 文件:
【问题讨论】:
标签: c ubuntu mips cross-compiling travis-ci