特拉维斯的MIPS交叉编译

问题描述 投票:3回答:1

如何设置.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
1个回答
1
投票

似乎我不能使用容器,因为这个要求,我放弃了,只是简单地使用:

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明确列入白名单这一事实很感兴趣。

© www.soinside.com 2019 - 2024. All rights reserved.