如何设置.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文件:
似乎我不能使用容器,因为这个要求,我放弃了,只是简单地使用:
sudo: true
dist: trusty
addons:
apt:
packages:
- u-boot-tools
before_install:
- sudo add-apt-repository -y "deb http://archive.ubuntu.com/ubuntu/ xenial main universe"
- sudo apt-get -qq update
- sudo apt-get install -qq gcc-mips-linux-gnu
我仍然对gcc-mips-linux-gnu
明确列入白名单这一事实很感兴趣。