Skip to content

Errors when trying to cross compile to ARM #22

@arthurlutz

Description

@arthurlutz

Compiling on a x86 computer for an arm target :

cargo build --release --example rust-logo --target arm-unknown-linux-gnueabi

The error is :

# ./rust-logo 
./rust-logo: /lib/libc.so.6: version `GLIBC_2.28' not found (required by ./rust-logo)
./rust-logo: /lib/libc.so.6: version `GLIBC_2.18' not found (required by ./rust-logo)
./rust-logo: /lib/libc.so.6: version `GLIBC_2.33' not found (required by ./rust-logo)
./rust-logo: /lib/libc.so.6: version `GLIBC_2.32' not found (required by ./rust-logo)
./rust-logo: /lib/libc.so.6: version `GLIBC_2.34' not found (required by ./rust-logo)

This is because the target linux system is an "old" linux which I can't upgrade : https://linux-sunxi.org/Bookeen_Cybook_Muse

I tried to build with musleabi to avoid the dependency on libc6 :

cargo build --release --example rust-logo --target armv7-unknown-linux-musleabi

with config :

cat ~/.cargo/config.toml
[target.armv7-unknown-linux-musleabi]
linker = "/home/arthur/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/rust-lld"

This works for a "Hello World" rust binary, but doesn't for rust-framebuffer :

The result is :

# ./rust-logo 
thread 'main' panicked at examples/rust-logo/main.rs:15:61:
called `Result::unwrap()` on an `Err` value: BmpError { kind: BmpIoError(Os { code: 2, kind: NotFound, message: "No such file or directory" }), details: "BMP Error: Io Error" }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
# RUST_BACKTRACE=1 ./rust-logo 
thread 'main' panicked at examples/rust-logo/main.rs:15:61:
called `Result::unwrap()` on an `Err` value: BmpError { kind: BmpIoError(Os { code: 2, kind: NotFound, message: "No such file or directory" }), details: "BMP Error: Io Error" }
stack backtrace:
   0: rust_begin_unwind
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:645:5
   1: core::panicking::panic_fmt
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/panicking.rs:72:14
   2: core::result::unwrap_failed
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/result.rs:1649:5
   3: rust_logo::main
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions