rust-lang / backtrace-rs

Backtraces in Rust
https://docs.rs/backtrace
Other
527 stars 245 forks source link

Problems cross compiling to ARM #142

Closed mrpink76 closed 5 years ago

mrpink76 commented 5 years ago

Using a docker image based on "https://github.com/Ragnaroek/rust-on-raspberry-docker" and I'm trying to compile a project to a raspberry pi, but I'm getting the error below.

Not sure if it's an error with the image or the backtrace-rs crate :)

cross@66faf4bcf741:~/project$ export RUST_BACKTRACE=1
cross@66faf4bcf741:~/project$ $HOME/.cargo/bin/cargo build
   Compiling proc-macro2 v0.4.24
   Compiling flate2-crc v0.1.1
   Compiling backtrace-sys v0.1.24
   Compiling ring v0.13.5
error: failed to run custom build command for `backtrace-sys v0.1.24`
process didn't exit successfully: `/home/cross/project/target/debug/build/backtrace-sys-b4c397a4c1d3992c/build-script-build` (exit code: 101)
--- stdout
TARGET = Some("x86_64-unknown-linux-gnu")
OPT_LEVEL = Some("0")
HOST = Some("x86_64-unknown-linux-gnu")
CC_x86_64-unknown-linux-gnu = None
CC_x86_64_unknown_linux_gnu = None
HOST_CC = None
CC = Some("/home/cross/pi-tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/gcc-sysroot")
CFLAGS_x86_64-unknown-linux-gnu = None
CFLAGS_x86_64_unknown_linux_gnu = None
HOST_CFLAGS = None
CFLAGS = None
DEBUG = Some("true")
running: "/home/cross/pi-tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/gcc-sysroot" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "src/libbacktrace" "-I" "/home/cross/project/target/debug/build/backtrace-sys-a8e325e70957a181/out" "-fvisibility=hidden" "-DBACKTRACE_ELF_SIZE=64" "-DBACKTRACE_SUPPORTED=1" "-DBACKTRACE_USES_MALLOC=1" "-DBACKTRACE_SUPPORTS_THREADS=0" "-DBACKTRACE_SUPPORTS_DATA=0" "-DHAVE_DL_ITERATE_PHDR=1" "-D_GNU_SOURCE=1" "-D_LARGE_FILES=1" "-Dbacktrace_full=__rbt_backtrace_full" "-Dbacktrace_dwarf_add=__rbt_backtrace_dwarf_add" "-Dbacktrace_initialize=__rbt_backtrace_initialize" "-Dbacktrace_pcinfo=__rbt_backtrace_pcinfo" "-Dbacktrace_syminfo=__rbt_backtrace_syminfo" "-Dbacktrace_get_view=__rbt_backtrace_get_view" "-Dbacktrace_release_view=__rbt_backtrace_release_view" "-Dbacktrace_alloc=__rbt_backtrace_alloc" "-Dbacktrace_free=__rbt_backtrace_free" "-Dbacktrace_vector_finish=__rbt_backtrace_vector_finish" "-Dbacktrace_vector_grow=__rbt_backtrace_vector_grow" "-Dbacktrace_vector_release=__rbt_backtrace_vector_release" "-Dbacktrace_close=__rbt_backtrace_close" "-Dbacktrace_open=__rbt_backtrace_open" "-Dbacktrace_print=__rbt_backtrace_print" "-Dbacktrace_simple=__rbt_backtrace_simple" "-Dbacktrace_qsort=__rbt_backtrace_qsort" "-Dbacktrace_create_state=__rbt_backtrace_create_state" "-Dbacktrace_uncompress_zdebug=__rbt_backtrace_uncompress_zdebug" "-o" "/home/cross/project/target/debug/build/backtrace-sys-a8e325e70957a181/out/src/libbacktrace/alloc.o" "-c" "src/libbacktrace/alloc.c"
cargo:warning=arm-linux-gnueabihf-gcc: error: unrecognized command line option '-m64'
exit code: 1

--- stderr
thread 'main' panicked at '

Internal error occurred: Command "/home/cross/pi-tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/gcc-sysroot" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "src/libbacktrace" "-I" "/home/cross/project/target/debug/build/backtrace-sys-a8e325e70957a181/out" "-fvisibility=hidden" "-DBACKTRACE_ELF_SIZE=64" "-DBACKTRACE_SUPPORTED=1" "-DBACKTRACE_USES_MALLOC=1" "-DBACKTRACE_SUPPORTS_THREADS=0" "-DBACKTRACE_SUPPORTS_DATA=0" "-DHAVE_DL_ITERATE_PHDR=1" "-D_GNU_SOURCE=1" "-D_LARGE_FILES=1" "-Dbacktrace_full=__rbt_backtrace_full" "-Dbacktrace_dwarf_add=__rbt_backtrace_dwarf_add" "-Dbacktrace_initialize=__rbt_backtrace_initialize" "-Dbacktrace_pcinfo=__rbt_backtrace_pcinfo" "-Dbacktrace_syminfo=__rbt_backtrace_syminfo" "-Dbacktrace_get_view=__rbt_backtrace_get_view" "-Dbacktrace_release_view=__rbt_backtrace_release_view" "-Dbacktrace_alloc=__rbt_backtrace_alloc" "-Dbacktrace_free=__rbt_backtrace_free" "-Dbacktrace_vector_finish=__rbt_backtrace_vector_finish" "-Dbacktrace_vector_grow=__rbt_backtrace_vector_grow" "-Dbacktrace_vector_release=__rbt_backtrace_vector_release" "-Dbacktrace_close=__rbt_backtrace_close" "-Dbacktrace_open=__rbt_backtrace_open" "-Dbacktrace_print=__rbt_backtrace_print" "-Dbacktrace_simple=__rbt_backtrace_simple" "-Dbacktrace_qsort=__rbt_backtrace_qsort" "-Dbacktrace_create_state=__rbt_backtrace_create_state" "-Dbacktrace_uncompress_zdebug=__rbt_backtrace_uncompress_zdebug" "-o" "/home/cross/project/target/debug/build/backtrace-sys-a8e325e70957a181/out/src/libbacktrace/alloc.o" "-c" "src/libbacktrace/alloc.c" with args "gcc-sysroot" did not execute successfully (status code exit code: 1).

', /home/cross/.cargo/registry/src/github.com-1ecc6299db9ec823/cc-1.0.25/src/lib.rs:2260:5
stack backtrace:
   0: std::sys::unix::backtrace::tracing::imp::unwind_backtrace
             at libstd/sys/unix/backtrace/tracing/gcc_s.rs:49
   1: std::sys_common::backtrace::print
             at libstd/sys_common/backtrace.rs:71
             at libstd/sys_common/backtrace.rs:59
   2: std::panicking::default_hook::{{closure}}
             at libstd/panicking.rs:211
   3: std::panicking::default_hook
             at libstd/panicking.rs:227
   4: std::panicking::rust_panic_with_hook
             at libstd/panicking.rs:476
   5: std::panicking::continue_panic_fmt
             at libstd/panicking.rs:390
   6: std::panicking::begin_panic_fmt
             at libstd/panicking.rs:345
   7: cc::fail
             at /home/cross/.cargo/registry/src/github.com-1ecc6299db9ec823/cc-1.0.25/src/lib.rs:2260
   8: cc::Build::compile
             at /home/cross/.cargo/registry/src/github.com-1ecc6299db9ec823/cc-1.0.25/src/lib.rs:933
   9: build_script_build::main
             at ./build.rs:93
  10: std::rt::lang_start::{{closure}}
             at libstd/rt.rs:74
  11: std::panicking::try::do_call
             at libstd/rt.rs:59
             at libstd/panicking.rs:310
  12: __rust_maybe_catch_panic
             at libpanic_unwind/lib.rs:102
  13: std::rt::lang_start_internal
             at libstd/panicking.rs:289
             at libstd/panic.rs:392
             at libstd/rt.rs:58
  14: std::rt::lang_start
             at libstd/rt.rs:74
  15: main
  16: __libc_start_main
  17: _start

warning: build failed, waiting for other jobs to finish...
error: failed to run custom build command for `ring v0.13.5`
process didn't exit successfully: `/home/cross/project/target/debug/build/ring-d488d274fda38b2d/build-script-build` (exit code: 101)
--- stdout
AR: /home/cross/pi-tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-ar
CARGO: /home/cross/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/cargo
CARGO_CFG_DEBUG_ASSERTIONS:
CARGO_CFG_PROC_MACRO:
CARGO_CFG_TARGET_ARCH: x86_64
CARGO_CFG_TARGET_ENDIAN: little
CARGO_CFG_TARGET_ENV: gnu
CARGO_CFG_TARGET_FAMILY: unix
CARGO_CFG_TARGET_FEATURE: fxsr,sse,sse2
CARGO_CFG_TARGET_OS: linux
CARGO_CFG_TARGET_POINTER_WIDTH: 64
CARGO_CFG_UNIX:
CARGO_FEATURE_DEFAULT: 1
CARGO_FEATURE_DEV_URANDOM_FALLBACK: 1
CARGO_FEATURE_USE_HEAP: 1
CARGO_HOME: /home/cross/.cargo
CARGO_MAKEFLAGS: --jobserver-fds=5,8 -j --jobserver-auth=5,8 -j
CARGO_MANIFEST_DIR: /home/cross/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.13.5
CARGO_MANIFEST_LINKS: ring-asm
CARGO_PKG_AUTHORS: Brian Smith <brian@briansmith.org>
CARGO_PKG_DESCRIPTION: Safe, fast, small crypto using Rust.
CARGO_PKG_HOMEPAGE:
CARGO_PKG_NAME: ring
CARGO_PKG_REPOSITORY: https://github.com/briansmith/ring
CARGO_PKG_VERSION: 0.13.5
CARGO_PKG_VERSION_MAJOR: 0
CARGO_PKG_VERSION_MINOR: 13
CARGO_PKG_VERSION_PATCH: 5
CARGO_PKG_VERSION_PRE:
CC: /home/cross/pi-tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/gcc-sysroot
DEBUG: true
HOME: /home/cross
HOST: x86_64-unknown-linux-gnu
HOSTNAME: 66faf4bcf741
LD_LIBRARY_PATH: /home/cross/project/target/debug/deps:/home/cross/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib:/home/cross/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib
LS_COLORS: rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:
NUM_JOBS: 2
OLDPWD: /
OPT_LEVEL: 0
OUT_DIR: /home/cross/project/target/debug/build/ring-36510264f11938a8/out
PATH: /home/cross/.cargo/bin:/home/cross/pi-tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin:/home/cross/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PROFILE: debug
PWD: /home/cross/project
RUSTC: rustc
RUSTDOC: rustdoc
RUSTUP_HOME: /home/cross/.rustup
RUSTUP_TOOLCHAIN: stable-x86_64-unknown-linux-gnu
RUST_BACKTRACE: 1
RUST_RECURSION_COUNT: 1
SHLVL: 2
SSL_CERT_DIR: /usr/lib/ssl/certs
SSL_CERT_FILE: /usr/lib/ssl/certs/ca-certificates.crt
SYSROOT: /home/cross/pi-tools/arm-bcm2708/arm-bcm2708hardfp-linux-gnueabi/arm-bcm2708hardfp-linux-gnueabi/sysroot
TARGET: x86_64-unknown-linux-gnu
TERM: xterm
TOOLCHAIN_32: /home/cross/pi-tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin
TOOLCHAIN_64: /home/cross/pi-tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin
URL_GIT_PI_TOOLS: https://github.com/raspberrypi/tools.git
_: /home/cross/.cargo/bin/cargo
OPT_LEVEL = Some("0")
TARGET = Some("x86_64-unknown-linux-gnu")
HOST = Some("x86_64-unknown-linux-gnu")
CC_x86_64-unknown-linux-gnu = None
CC_x86_64_unknown_linux_gnu = None
HOST_CC = None
CC = Some("/home/cross/pi-tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/gcc-sysroot")
CFLAGS_x86_64-unknown-linux-gnu = None
CFLAGS_x86_64_unknown_linux_gnu = None
HOST_CFLAGS = None
CFLAGS = None
DEBUG = Some("true")
running "/home/cross/pi-tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/gcc-sysroot" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "include" "-Wall" "-Wextra" "-pedantic" "-pedantic-errors" "-Wall" "-Wextra" "-Wcast-align" "-Wcast-qual" "-Wenum-compare" "-Wfloat-equal" "-Wformat=2" "-Winline" "-Winvalid-pch" "-Wmissing-declarations" "-Wmissing-field-initializers" "-Wmissing-include-dirs" "-Wredundant-decls" "-Wshadow" "-Wsign-compare" "-Wundef" "-Wuninitialized" "-Wwrite-strings" "-fno-strict-aliasing" "-fvisibility=hidden" "-Wno-cast-align" "-fstack-protector" "-g3" "-D_XOPEN_SOURCE=700" "-c" "-o/home/cross/project/target/debug/build/ring-36510264f11938a8/out/aes-x86_64-elf.o" "/home/cross/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.13.5/pregenerated/aes-x86_64-elf.S"

--- stderr
arm-linux-gnueabihf-gcc: error: unrecognized command line option '-m64'
thread 'main' panicked at 'execution failed', /home/cross/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.13.5/build.rs:645:9
stack backtrace:
   0: std::sys::unix::backtrace::tracing::imp::unwind_backtrace
             at libstd/sys/unix/backtrace/tracing/gcc_s.rs:49
   1: std::sys_common::backtrace::print
             at libstd/sys_common/backtrace.rs:71
             at libstd/sys_common/backtrace.rs:59
   2: std::panicking::default_hook::{{closure}}
             at libstd/panicking.rs:211
   3: std::panicking::default_hook
             at libstd/panicking.rs:227
   4: std::panicking::rust_panic_with_hook
             at libstd/panicking.rs:476
   5: std::panicking::begin_panic
             at libstd/panicking.rs:410
   6: build_script_build::run_command
             at ./build.rs:645
   7: build_script_build::compile
             at ./build.rs:522
   8: build_script_build::build_library::{{closure}}
             at ./build.rs:460
   9: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &mut F>::call_once
             at libcore/ops/function.rs:286
  10: <core::option::Option<T>>::map
             at libcore/option.rs:424
  11: <core::iter::Map<I, F> as core::iter::iterator::Iterator>::next
             at libcore/iter/mod.rs:1326
  12: <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T, I>>::from_iter
             at liballoc/vec.rs:1788
  13: <alloc::vec::Vec<T> as core::iter::traits::FromIterator<T>>::from_iter
             at liballoc/vec.rs:1700
  14: core::iter::iterator::Iterator::collect
             at libcore/iter/iterator.rs:1476
  15: build_script_build::build_library
             at ./build.rs:456
  16: build_script_build::build_c_code::{{closure}}
             at ./build.rs:433
  17: core::iter::iterator::Iterator::for_each::{{closure}}
             at libcore/iter/iterator.rs:614
  18: <core::slice::Iter<'a, T> as core::iter::iterator::Iterator>::fold
             at libcore/slice/mod.rs:2906
  19: core::iter::iterator::Iterator::for_each
             at libcore/iter/iterator.rs:614
  20: build_script_build::build_c_code
             at ./build.rs:431
  21: build_script_build::ring_build_rs_main
             at ./build.rs:301
  22: build_script_build::main
             at ./build.rs:263
  23: std::rt::lang_start::{{closure}}
             at libstd/rt.rs:74
  24: std::panicking::try::do_call
             at libstd/rt.rs:59
             at libstd/panicking.rs:310
  25: __rust_maybe_catch_panic
             at libpanic_unwind/lib.rs:102
  26: std::rt::lang_start_internal
             at libstd/panicking.rs:289
             at libstd/panic.rs:392
             at libstd/rt.rs:58
  27: std::rt::lang_start
             at libstd/rt.rs:74
  28: main
  29: __libc_start_main
  30: _start
mrpink76 commented 5 years ago

Just realized that the issue was posted to the wrong repo, closing the issue :)

mrpink76 commented 5 years ago

Might have been to quick to close the issue, I guess questions regarding backtrace-sys also belongs here :)

alexcrichton commented 5 years ago

Thanks for the report! This looks like it's because the CC env var is set but you're compiling for the host (x8664-unknown-linux-gnu). You'll probably want to set `CC$targetfor cross-compiling instead ofCC`

mrpink76 commented 5 years ago

Thanks! Will try it out!