Skip to content

cargo error in target (armv7-unknown-linux-gnueabi): linking with cc failed: exit status: 1  #11212

Closed

Description

Problem

I'm trying to cross compile a simple "Hello, world!" for armv7-unknown-linux-gnueabi target using cargo build and I'm getting the error:

error: linking with `cc` failed: exit status: 1
  |
  = note: "cc" "/tmp/rustcDT2UcQ/symbols.o" "/home/lincoln/rust/cross-arm/target/armv7-unknown-linux-gnueabi/debug/deps/cross_arm-c230b71c022febbf.1hqfu1rqb7214r2n.rcgu.o" "/home/lincoln/rust/cross-arm/target/armv7-unknown-linux-gnueabi/debug/deps/cross_arm-c230b71c022febbf.1n33k7fs2h9rqjw0.rcgu.o" "/home/lincoln/rust/cross-arm/target/armv7-unknown-linux-gnueabi/debug/deps/cross_arm-c230b71c022febbf.2o1jpvfxq51tk79i.rcgu.o" "/home/lincoln/rust/cross-arm/target/armv7-unknown-linux-gnueabi/debug/deps/cross_arm-c230b71c022febbf.3yifop7sump7gsvm.rcgu.o" "/home/lincoln/rust/cross-arm/target/armv7-unknown-linux-gnueabi/debug/deps/cross_arm-c230b71c022febbf.4ofn0c100ynvbgn8.rcgu.o" "/home/lincoln/rust/cross-arm/target/armv7-unknown-linux-gnueabi/debug/deps/cross_arm-c230b71c022febbf.4zalns707tr0735h.rcgu.o" "/home/lincoln/rust/cross-arm/target/armv7-unknown-linux-gnueabi/debug/deps/cross_arm-c230b71c022febbf.560xh812x6ijp6v0.rcgu.o" "/home/lincoln/rust/cross-arm/target/armv7-unknown-linux-gnueabi/debug/deps/cross_arm-c230b71c022febbf.57tuiwnnxc42sxcu.rcgu.o" "/home/lincoln/rust/cross-arm/target/armv7-unknown-linux-gnueabi/debug/deps/cross_arm-c230b71c022febbf.xoe527sumr6uj1o.rcgu.o" "-Wl,--as-needed" "-L" "/home/lincoln/rust/cross-arm/target/armv7-unknown-linux-gnueabi/debug/deps" "-L" "/home/lincoln/rust/cross-arm/target/debug/deps" "-L" "/home/lincoln/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-gnueabi/lib" "-Wl,--start-group" "-Wl,-Bstatic" "/home/lincoln/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-gnueabi/lib/libstd-5c381144ace60c1f.rlib" "/home/lincoln/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-gnueabi/lib/libpanic_unwind-6b9826a102c43d51.rlib" "/home/lincoln/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-gnueabi/lib/libobject-997341e9a86cba4f.rlib" "/home/lincoln/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-gnueabi/lib/libmemchr-1624f1a2574f16d1.rlib" "/home/lincoln/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-gnueabi/lib/libaddr2line-148e4974c76d0b63.rlib" "/home/lincoln/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-gnueabi/lib/libgimli-7f7c42ab06b50f9e.rlib" "/home/lincoln/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-gnueabi/lib/librustc_demangle-10fecfa83051d48f.rlib" "/home/lincoln/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-gnueabi/lib/libstd_detect-62e2a4af63826f2b.rlib" "/home/lincoln/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-gnueabi/lib/libhashbrown-ce270e2b8f0e70c6.rlib" "/home/lincoln/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-gnueabi/lib/libminiz_oxide-ca4f1ffce56e8586.rlib" "/home/lincoln/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-gnueabi/lib/libadler-3c1808a2be278449.rlib" "/home/lincoln/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-gnueabi/lib/librustc_std_workspace_alloc-d3b68269ff5baf4c.rlib" "/home/lincoln/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-gnueabi/lib/libunwind-b31dcb3c3a5ee4e7.rlib" "/home/lincoln/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-gnueabi/lib/libcfg_if-d41873269dc99133.rlib" "/home/lincoln/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-gnueabi/lib/liblibc-f20414d1e5f027d6.rlib" "/home/lincoln/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-gnueabi/lib/liballoc-89ab9915b87b8bc2.rlib" "/home/lincoln/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-gnueabi/lib/librustc_std_workspace_core-c0f4e020fa0ff7c4.rlib" "/home/lincoln/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-gnueabi/lib/libcore-1ef3842b0096ead9.rlib" "-Wl,--end-group" "/home/lincoln/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-gnueabi/lib/libcompiler_builtins-4338d1844db1cb4c.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" "/home/lincoln/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-gnueabi/lib" "-o" "/home/lincoln/rust/cross-arm/target/armv7-unknown-linux-gnueabi/debug/deps/cross_arm-c230b71c022febbf" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro,-znow" "-nodefaultlibs"
  = note: /usr/bin/ld: /home/lincoln/rust/cross-arm/target/armv7-unknown-linux-gnueabi/debug/deps/cross_arm-c230b71c022febbf.1hqfu1rqb7214r2n.rcgu.o: relocations in generic ELF (EM: 40)
          /usr/bin/ld: /home/lincoln/rust/cross-arm/target/armv7-unknown-linux-gnueabi/debug/deps/cross_arm-c230b71c022febbf.1hqfu1rqb7214r2n.rcgu.o: relocations in generic ELF (EM: 40)
          /usr/bin/ld: /home/lincoln/rust/cross-arm/target/armv7-unknown-linux-gnueabi/debug/deps/cross_arm-c230b71c022febbf.1hqfu1rqb7214r2n.rcgu.o: relocations in generic ELF (EM: 40)
          /usr/bin/ld: /home/lincoln/rust/cross-arm/target/armv7-unknown-linux-gnueabi/debug/deps/cross_arm-c230b71c022febbf.1hqfu1rqb7214r2n.rcgu.o: relocations in generic ELF (EM: 40)
          /usr/bin/ld: /home/lincoln/rust/cross-arm/target/armv7-unknown-linux-gnueabi/debug/deps/cross_arm-c230b71c022febbf.1hqfu1rqb7214r2n.rcgu.o: relocations in generic ELF (EM: 40)
          /usr/bin/ld: /home/lincoln/rust/cross-arm/target/armv7-unknown-linux-gnueabi/debug/deps/cross_arm-c230b71c022febbf.1hqfu1rqb7214r2n.rcgu.o: relocations in generic ELF (EM: 40)
          /usr/bin/ld: /home/lincoln/rust/cross-arm/target/armv7-unknown-linux-gnueabi/debug/deps/cross_arm-c230b71c022febbf.1hqfu1rqb7214r2n.rcgu.o: relocations in generic ELF (EM: 40)
          /usr/bin/ld: /home/lincoln/rust/cross-arm/target/armv7-unknown-linux-gnueabi/debug/deps/cross_arm-c230b71c022febbf.1hqfu1rqb7214r2n.rcgu.o: error adding symbols: file in wrong format
          collect2: error: ld returned 1 exit status


error: could not compile `cross-arm` due to previous error

Steps

First I ran:

cargo new cross-arm
cd cross-arm
mkdir .cargo
cd .cargo
touch config

And inside config file I insert:

[build]
target = "armv7-unknown-linux-gnueabi"

Then I ran:
rustup target add armv7-unknown-linux-gnueabi

In the root of project:
cargo build

EDIT:

I already try to modify my .cargo/config to:

[target.armv7-unknown-linux-gnueabi]#linker = "arm-linux-gnueabi-gcc-9"
rustflags = [
  "-C", "link-arg=-undefined",
  "-C", "link-arg=dynamic_lookup",
]
[build]
target = "armv7-unknown-linux-gnueabi"

But still not working.

Possible Solution(s)

No response

Notes

My host platform is the WSL 2 Ubuntu:

Linux 5.10.102.1-microsoft-standard-WSL2 # 1 SMP Wed Mar 2 00:30:59 UTC 2022 x86_64 x86_64

My arm-linux-gnueabi-gcc version:
arm-linux-gnueabi-gcc-9 (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0

Version

cargo 1.64.0 (387270bc7 2022-09-16)
release: 1.64.0
commit-hash: 387270bc7f446d17869c7f208207c73231d6a252
commit-date: 2022-09-16
host: x86_64-unknown-linux-gnu
libgit2: 1.4.2 (sys:0.14.2 vendored)
libcurl: 7.83.1-DEV (sys:0.4.55+curl-7.83.1 vendored ssl:OpenSSL/1.1.1q)
os: Ubuntu 20.04 (focal) [64-bit]

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: bug

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions