1

x86_64プロジェクトの 1 つとして、Rust クレートをi686Linuxから にクロスコンパイルする必要があります。私は現在、単純なHello Worldクレート (デフォルトのバイナリ クレート) を使用して、これに Travis CI を使用しています。関連するマトリックス エントリの Travis CI 構成は次のとおりです。

# ...

matrix:
  include:
    # ...
    - os: linux
      rust: 1.30.0
      before_script:
        - sudo apt-get update
        - sudo apt-get install -y libc6-dev:i386
      env: TARGET=i686-unknown-linux-gnu
  # ...

script:
  - rustup target install $TARGET
  - cargo build --release --target=$TARGET

残念ながら、この構成を Travis CI にプッシュすると、ビルド エラーが発生します

$ cargo build --release --target=$TARGET
   Compiling test-rust-deploy-releases v0.1.0 (/home/travis/build/arnavb/test-rust-deploy-releases)
error: linker `cc` not found
  |
  = note: No such file or directory (os error 2)

error: aborting due to previous error

error: Could not compile `test-rust-deploy-releases`.
To learn more, run the command again with --verbose.
The command "cargo build --release --target=$TARGET" exited with 101.

これを修正するにはどうすればよいですか?

4

1 に答える 1