Я пытаюсь создать приложение Rust, которое должно работать на всех основных платформах (исходный код которого можно найти по адресу https://github.com/Riduidel/rrss2imap).. Я создаю версии этого приложения, используя TravisCI . I ' я пытаюсь запустить релизную версию на моей Raspberry 3. В результате из моего репозитория я загружаю исполняемый файл rrss2imap-armv7-unknown-linux-gnueabihf , делаю его работоспособным на моей Raspberry и пытаюсь запустить его. Но это не удалось!
./rrss2imap-armv7-unknown-linux-gnueabihf
-bash: ./rrss2imap-armv7-unknown-linux-gnueabihf: cannot execute binary file: Exec format error
Похоже, файл не является исполняемым файлом ARM
file rrss2imap-armv7-unknown-linux-gnueabihf
rrss2imap-armv7-unknown-linux-gnueabihf: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.24, BuildID[sha1]=cd8242f16992dce34c0bf4c283097c01206edf99, not stripped
Так что же я пропустил в Конфигурация TravisCI ?
branches:
except:
- "/^untagged/"
language: rust
rust:
- stable
cache: cargo
# This is th script that will be run on each matrix element
script:
# - cargo install git-journal
- cargo test --verbose --all
- cargo build --verbose --all --release
- ls -al target
- mkdir -p target/executable
- cp target/release/rrss2imap target/executable/rrss2imap-${TARGET}
- ls -al target/executable
# - git journal
# All Rust build architectures are defined here
matrix:
include:
- env: TARGET=i686-unknown-linux-gnu
- env: TARGET=i686-unknown-linux-musl
- env: TARGET=x86_64-unknown-linux-gnu
- env: TARGET=x86_64-unknown-linux-musl
- env: TARGET=i686-apple-darwin
os: osx
osx_image: xcode8
- env: TARGET=x86_64-apple-darwin
os: osx
osx_image: xcode8
- env: TARGET=x86_64-pc-windows-msvc
os: windows
- env: TARGET=arm-unknown-linux-gnueabi
- env: TARGET=armv7-unknown-linux-gnueabihf
(на самом деле, кажется, что ни одна версия Linux не может работать, так как установка на хосте докера Linux вызывает другие ошибки - но меня больше интересует, чтобы он работал на Raspbian)