【问题标题】:MIPS Cross Compilation on TravisTravis 上的 MIPS 交叉编译
【发布时间】: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


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

    【讨论】:

      猜你喜欢
      • 2011-07-14
      • 2019-01-18
      • 2017-08-29
      • 2019-09-27
      • 1970-01-01
      • 2019-03-09
      • 1970-01-01
      • 2011-06-12
      • 2014-07-18
      相关资源
      最近更新 更多