Skip to content

Error building dependencies with a custom build.rs script #219

@jdiez17

Description

@jdiez17

Hi, I'm trying to build a Cargo workspace which depends on the ring crate. This crate has a custom build.rs script, and my Yocto build fails with the following output:

|   CC = Some(/home/builder/cybeesat/build/tmp/work/cortexa5t2hf-neon-vfpv4-poky-linux-gnueabi/cybeesat-flight-software/git/wrappers/cc-wrapper.sh)                                     [7/1944]
|   RUSTC_WRAPPER = None
|   cargo:rerun-if-env-changed=CC_ENABLE_DEBUG_OUTPUT
|   cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
|   CRATE_CC_NO_DEFAULTS = None
|   DEBUG = Some(true)
|   CARGO_CFG_TARGET_FEATURE = Some(fxsr,sse,sse2)
|   cargo:rerun-if-env-changed=CFLAGS
|   CFLAGS = Some( -O2 -pipe -g -feliminate-unused-debug-types -fcanon-prefix-map  -fmacro-prefix-map=/home/builder/cybeesat/build/tmp/work/cortexa5t2hf-neon-vfpv4-poky-linux-gnueabi/cybeesat-
flight-software/git/git=/usr/src/debug/cybeesat-flight-software/git  -fdebug-prefix-map=/home/builder/cybeesat/build/tmp/work/cortexa5t2hf-neon-vfpv4-poky-linux-gnueabi/cybeesat-flight-softwar
e/git/git=/usr/src/debug/cybeesat-flight-software/git  -fmacro-prefix-map=/home/builder/cybeesat/build/tmp/work/cortexa5t2hf-neon-vfpv4-poky-linux-gnueabi/cybeesat-flight-software/git/target=/
usr/src/debug/cybeesat-flight-software/git  -fdebug-prefix-map=/home/builder/cybeesat/build/tmp/work/cortexa5t2hf-neon-vfpv4-poky-linux-gnueabi/cybeesat-flight-software/git/target=/usr/src/deb
ug/cybeesat-flight-software/git  -fdebug-prefix-map=/home/builder/cybeesat/build/tmp/work/cortexa5t2hf-neon-vfpv4-poky-linux-gnueabi/cybeesat-flight-software/git/recipe-sysroot=  -fmacro-prefi
x-map=/home/builder/cybeesat/build/tmp/work/cortexa5t2hf-neon-vfpv4-poky-linux-gnueabi/cybeesat-flight-software/git/recipe-sysroot=  -fdebug-prefix-map=/home/builder/cybeesat/build/tmp/work/co
rtexa5t2hf-neon-vfpv4-poky-linux-gnueabi/cybeesat-flight-software/git/recipe-sysroot-native= )
|   cargo:rerun-if-env-changed=CC_SHELL_ESCAPED_FLAGS
|   CC_SHELL_ESCAPED_FLAGS = None
|   cargo:rerun-if-env-changed=HOST_CFLAGS
|   HOST_CFLAGS = Some()
|   cargo:rerun-if-env-changed=CFLAGS_x86_64_unknown_linux_gnu
|   CFLAGS_x86_64_unknown_linux_gnu = None
|   cargo:rerun-if-env-changed=CFLAGS_x86_64-unknown-linux-gnu
|   CFLAGS_x86_64-unknown-linux-gnu = None
|   CARGO_ENCODED_RUSTFLAGS = Some()
|   cargo:warning=arm-poky-linux-gnueabi-gcc: error: unrecognized command-line option '-m64'
|
|   --- stderr
|
|
|   error occurred in cc-rs: command did not execute successfully (status code exit status: 1): LC_ALL="C" "/home/builder/cybeesat/build/tmp/work/cortexa5t2hf-neon-vfpv4-poky-linux-gnueabi/cyb
eesat-flight-software/git/wrappers/cc-wrapper.sh" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-gdwarf-4" "-fno-omit-frame-pointer" "-m64" "-I" "/home/builder/cybeesat/build/tmp/work
/cortexa5t2hf-neon-vfpv4-poky-linux-gnueabi/cybeesat-flight-software/git/cargo_home/registry/src/index.crates.io-1949cf8c6b5b557f/ring-0.17.14/include" "-I" "/home/builder/cybeesat/build/tmp/w
ork/cortexa5t2hf-neon-vfpv4-poky-linux-gnueabi/cybeesat-flight-software/git/cargo_home/registry/src/index.crates.io-1949cf8c6b5b557f/ring-0.17.14/pregenerated" "-fvisibility=hidden" "-std=c1x"
 "-Wall" "-Wbad-function-cast" "-Wcast-align" "-Wcast-qual" "-Wconversion" "-Wmissing-field-initializers" "-Wmissing-include-dirs" "-Wnested-externs" "-Wredundant-decls" "-Wshadow" "-Wsign-com
pare" "-Wsign-conversion" "-Wstrict-prototypes" "-Wundef" "-Wuninitialized" "-g3" "-DNDEBUG" "-O2" "-pipe" "-g" "-feliminate-unused-debug-types" "-fcanon-prefix-map" "-fmacro-prefix-map=/home/
builder/cybeesat/build/tmp/work/cortexa5t2hf-neon-vfpv4-poky-linux-gnueabi/cybeesat-flight-software/git/git=/usr/src/debug/cybeesat-flight-software/git" "-fdebug-prefix-map=/home/builder/cybee
sat/build/tmp/work/cortexa5t2hf-neon-vfpv4-poky-linux-gnueabi/cybeesat-flight-software/git/git=/usr/src/debug/cybeesat-flight-software/git" "-fmacro-prefix-map=/home/builder/cybeesat/build/tmp
/work/cortexa5t2hf-neon-vfpv4-poky-linux-gnueabi/cybeesat-flight-software/git/target=/usr/src/debug/cybeesat-flight-software/git" "-fdebug-prefix-map=/home/builder/cybeesat/build/tmp/work/cort
exa5t2hf-neon-vfpv4-poky-linux-gnueabi/cybeesat-flight-software/git/target=/usr/src/debug/cybeesat-flight-software/git" "-fdebug-prefix-map=/home/builder/cybeesat/build/tmp/work/cortexa5t2hf-n
eon-vfpv4-poky-linux-gnueabi/cybeesat-flight-software/git/recipe-sysroot=" "-fmacro-prefix-map=/home/builder/cybeesat/build/tmp/work/cortexa5t2hf-neon-vfpv4-poky-linux-gnueabi/cybeesat-flight-
software/git/recipe-sysroot=" "-fdebug-prefix-map=/home/builder/cybeesat/build/tmp/work/cortexa5t2hf-neon-vfpv4-poky-linux-gnueabi/cybeesat-flight-software/git/recipe-sysroot-native=" "-o" "/h
ome/builder/cybeesat/build/tmp/work/cortexa5t2hf-neon-vfpv4-poky-linux-gnueabi/cybeesat-flight-software/git/target/release/build/ring-b223ecc4d5a766a0/out/25ac62e5b3c53843-curve25519.o" "-c" "
/home/builder/cybeesat/build/tmp/work/cortexa5t2hf-neon-vfpv4-poky-linux-gnueabi/cybeesat-flight-software/git/cargo_home/registry/src/index.crates.io-1949cf8c6b5b557f/ring-0.17.14/crypto/curve
25519/curve25519.c"

My recipe is very simple:

SUMMARY = "CyBEEsat Flight Software"
HOMEPAGE = "https://gitlab.com/rccn/missions/cybeesat/"
LICENSE = "GPL"

inherit cargo_bin

# Enable network for the compile task allowing cargo to download dependencies
do_compile[network] = "1"

SRC_URI = "gitsm://gitlab.com/rccn/missions/cybeesat.git;protocol=https;branch=main"
SRCREV="3db10d6228be6452fad99c0cd8c336d2e42331ee"
S = "${WORKDIR}/git"
LIC_FILES_CHKSUM = "file://LICENSE;md5=79409ca9a2f1e5e21d07bb10c0f5c7b7"

I'm not sure if this is a general problem when building build scripts (which are compiled for the host architecture), something specific to my setup, or something else entirely. Any help would be greatly appreciated. Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions