nicmr / fidelitas

Rust network audio player and web client using actix and crossbeam multithreading, websockets, libvlc, and an Elm frontend.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Cross compile build error - arm-linux-gnueabihf-gcc

nicmr opened this issue · comments

commented
Compiling backtrace-sys v0.1.31

     Running `/home/travis/build/nicmr/fidelitas/target/debug/build/backtrace-sys-3439c8675d48dc08/build-script-build`

error: failed to run custom build command for `backtrace-sys v0.1.31`

Caused by:

  process didn't exit successfully: `/home/travis/build/nicmr/fidelitas/target/debug/build/backtrace-sys-3439c8675d48dc08/build-script-build` (exit code: 1)

--- stdout

cargo:rustc-cfg=rbt

TARGET = Some("armv7-unknown-linux-gnueabihf")

OPT_LEVEL = Some("0")

HOST = Some("x86_64-unknown-linux-gnu")

CC_armv7-unknown-linux-gnueabihf = None

CC_armv7_unknown_linux_gnueabihf = None

TARGET_CC = None

CC = None

CROSS_COMPILE = None

CFLAGS_armv7-unknown-linux-gnueabihf = None

CFLAGS_armv7_unknown_linux_gnueabihf = None

TARGET_CFLAGS = None

CFLAGS = None

CRATE_CC_NO_DEFAULTS = None

CARGO_CFG_TARGET_FEATURE = None

running: "arm-linux-gnueabihf-gcc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-march=armv7-a" "-I" "src/libbacktrace" "-I" "/home/travis/build/nicmr/fidelitas/target/armv7-unknown-linux-gnueabihf/debug/build/backtrace-sys-8cb253ac87387a52/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" "/home/travis/build/nicmr/fidelitas/target/armv7-unknown-linux-gnueabihf/debug/build/backtrace-sys-8cb253ac87387a52/out/src/libbacktrace/alloc.o" "-c" "src/libbacktrace/alloc.c"

cargo:warning=In file included from /usr/include/errno.h:28:0,

cargo:warning=                 from src/libbacktrace/alloc.c:35:

cargo:warning=/usr/include/features.h:367:25: fatal error: sys/cdefs.h: No such file or directory

cargo:warning=compilation terminated.
commented

resolved by adding

sudo apt-get install g++-multilib

New error output:

Caused by:

  process didn't exit successfully: `/home/travis/build/nicmr/fidelitas/target/debug/build/backtrace-sys-3439c8675d48dc08/build-script-build` (exit code: 1)

--- stdout

cargo:rustc-cfg=rbt

TARGET = Some("armv7-unknown-linux-gnueabihf")

OPT_LEVEL = Some("0")

HOST = Some("x86_64-unknown-linux-gnu")

CC_armv7-unknown-linux-gnueabihf = None

CC_armv7_unknown_linux_gnueabihf = None

TARGET_CC = None

CC = None

CROSS_COMPILE = None

CFLAGS_armv7-unknown-linux-gnueabihf = None

CFLAGS_armv7_unknown_linux_gnueabihf = None

TARGET_CFLAGS = None

CFLAGS = None

CRATE_CC_NO_DEFAULTS = None

CARGO_CFG_TARGET_FEATURE = None

running: "arm-linux-gnueabihf-gcc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-march=armv7-a" "-I" "src/libbacktrace" "-I" "/home/travis/build/nicmr/fidelitas/target/armv7-unknown-linux-gnueabihf/debug/build/backtrace-sys-8cb253ac87387a52/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" "/home/travis/build/nicmr/fidelitas/target/armv7-unknown-linux-gnueabihf/debug/build/backtrace-sys-8cb253ac87387a52/out/src/libbacktrace/alloc.o" "-c" "src/libbacktrace/alloc.c"

--- stderr

error occurred: Failed to find tool. Is `arm-linux-gnueabihf-gcc` installed?

Is arm-linux-gnueabihf-gcc different from gcc-arm-linux-gnueabihf?

commented

List of binaries supposedly included in the package:
https://packages.ubuntu.com/xenial/amd64/gcc-arm-linux-gnueabihf/filelist
This includes arm-linux-gnueabihf-gcc. Maybe the xenial package is broken? I will attempt to install the binary manually.

Edit: running apt-get update fixed the issue, the outdated version of the package may have not contained the required binary.

arm-linux-gnueabihf-gcc --version

arm-linux-gnueabihf-gcc (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609

Copyright (C) 2015 Free Software Foundation, Inc.

This is free software; see the source for copying conditions.  There is NO

warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

now runs successfully

commented

If anybody ever encounters this issue, this amalgamation of problems was caused by the following:

When installing the dependencies like this:

sudo apt-get install gcc-arm-linux-gnueabihf
sudo apt-get install g++-multilib

g++-multilib will remove the gcc-arm-linux-gnueabihf and try to replace it with its g++-arm-linux-gnueabihf (this seems like terribly unexpected behaviour from apt-get to me).

What you should do instead is look up which of the libraries contained in g++-multilib you really need (in my case it was libc6-dev-armhf-cross), and install that.

Fixed with 8f35728 🎉

Shoutout to my dad for helping me get to the bottom of the issue :)

commented

Will close on merge