Closed
Description
Note: This bug is for backtrace-sys
, however I'm unable to locate that repository -- the page at https://crates.io/crates/backtrace-sys links to here.
When attempting to build backtrace-rs
for arm7-unknown-linux-musleabi
, I get the error cargo:warning=cc1.exe: error: '-mfloat-abi=hard': selected processor lacks an FPU
.
Full cargo
output:
❯ cargo build --target=armv7-unknown-linux-musleabihf
Compiling cc v1.0.42
Compiling rustc-demangle v0.1.16
Compiling libusb-sys v0.2.5 (D:\Code\Fomu\wishbone-adapter\wishbone-tool\libusb-sys)
Compiling backtrace-sys v0.1.31
error: failed to run custom build command for `backtrace-sys v0.1.31`
Caused by:
process didn't exit successfully: `D:\Code\Fomu\wishbone-adapter\wishbone-tool\target\debug\build\backtrace-sys-518864e4e1eb0544\build-script-build` (exit code: 1)
--- stdout
cargo:rustc-cfg=rbt
TARGET = Some("armv7-unknown-linux-musleabihf")
OPT_LEVEL = Some("0")
HOST = Some("x86_64-pc-windows-msvc")
CC_armv7-unknown-linux-musleabihf = None
CC_armv7_unknown_linux_musleabihf = None
TARGET_CC = None
CC = Some("arm-linux-musleabihf-gcc")
CFLAGS_armv7-unknown-linux-musleabihf = None
CFLAGS_armv7_unknown_linux_musleabihf = None
TARGET_CFLAGS = None
CFLAGS = None
CRATE_CC_NO_DEFAULTS = None
CARGO_CFG_TARGET_FEATURE = Some("crt-static")
running: "arm-linux-musleabihf-gcc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-static" "-march=armv7-a" "-I" "src/libbacktrace" "-I" "D:\\Code\\Fomu\\wishbone-adapter\\wishbone-tool\\target\\armv7-unknown-linux-musleabihf\\debug\\build\\backtrace-sys-8a0e27e4d3390088\\out" "-fvisibility=hidden" "-DBACKTRACE_ELF_SIZE=32" "-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" "-Dmacho_get_view=__rbt_macho_get_view" "-Dmacho_symbol_type_relevant=__rbt_macho_symbol_type_relevant" "-Dmacho_get_commands=__rbt_macho_get_commands" "-Dmacho_try_dsym=__rbt_macho_try_dsym" "-Dmacho_try_dwarf=__rbt_macho_try_dwarf" "-Dmacho_get_addr_range=__rbt_macho_get_addr_range" "-Dmacho_get_uuid=__rbt_macho_get_uuid" "-Dmacho_add=__rbt_macho_add" "-Dmacho_add_symtab=__rbt_macho_add_symtab" "-Dmacho_file_to_host_u64=__rbt_macho_file_to_host_u64" "-Dmacho_file_to_host_u32=__rbt_macho_file_to_host_u32" "-Dmacho_file_to_host_u16=__rbt_macho_file_to_host_u16" "-o" "D:\\Code\\Fomu\\wishbone-adapter\\wishbone-tool\\target\\armv7-unknown-linux-musleabihf\\debug\\build\\backtrace-sys-8a0e27e4d3390088\\out\\src/libbacktrace\\alloc.o" "-c" "src/libbacktrace/alloc.c"
cargo:warning=cc1.exe: error: '-mfloat-abi=hard': selected processor lacks an FPU
exit code: 1
--- stderr
error occurred: Command "arm-linux-musleabihf-gcc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-static" "-march=armv7-a" "-I" "src/libbacktrace" "-I" "D:\\Code\\Fomu\\wishbone-adapter\\wishbone-tool\\target\\armv7-unknown-linux-musleabihf\\debug\\build\\backtrace-sys-8a0e27e4d3390088\\out" "-fvisibility=hidden" "-DBACKTRACE_ELF_SIZE=32" "-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" "-Dmacho_get_view=__rbt_macho_get_view" "-Dmacho_symbol_type_relevant=__rbt_macho_symbol_type_relevant" "-Dmacho_get_commands=__rbt_macho_get_commands" "-Dmacho_try_dsym=__rbt_macho_try_dsym" "-Dmacho_try_dwarf=__rbt_macho_try_dwarf" "-Dmacho_get_addr_range=__rbt_macho_get_addr_range" "-Dmacho_get_uuid=__rbt_macho_get_uuid" "-Dmacho_add=__rbt_macho_add" "-Dmacho_add_symtab=__rbt_macho_add_symtab" "-Dmacho_file_to_host_u64=__rbt_macho_file_to_host_u64" "-Dmacho_file_to_host_u32=__rbt_macho_file_to_host_u32" "-Dmacho_file_to_host_u16=__rbt_macho_file_to_host_u16" "-o" "D:\\Code\\Fomu\\wishbone-adapter\\wishbone-tool\\target\\armv7-unknown-linux-musleabihf\\debug\\build\\backtrace-sys-8a0e27e4d3390088\\out\\src/libbacktrace\\alloc.o" "-c" "src/libbacktrace/alloc.c" with args "arm-linux-musleabihf-gcc" did not execute successfully (status code exit code: 1).
warning: build failed, waiting for other jobs to finish...
error: build failed
❯
Note that it is attempting to build with -march=armv7-a
and -mfloat-abi=hard
. It seems that as of https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=262556 the armv7-a
target no longer includes an FPU by default, and instead you need to specify -march=armv7-a+fp
.
I am able to compile other software using build.rs
where I have added the following to build.rs
:
if target_os == "linux" {
if target_triple == "armv7-unknown-linux-musleabihf" {
base_config.flag("-mfpu=neon");
}
}
Metadata
Metadata
Assignees
Labels
No labels