Почему мой исполняемый файл ржавчины не работает на Raspbian? - PullRequest
1 голос
/ 09 мая 2019

Я пытаюсь создать приложение 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)

...