Skip to content

arm64 cross-compiled build failed: src/arm/asm-offsets.h: No such file or directory #1449

@Astatin3

Description

@Astatin3

Hello!
After creating a base "hello world" project with cargo and adding rav1d as a dependency, then attempting to compile for arm64, the build script gives the following output:

astatin3@tux:~/Documents/temp/raspivid$ RUSTFLAGS="-C linker=aarch64-linux-gnu-gcc-14" cargo build --target aarch64-unknown-linux-gnu
   Compiling libc v0.2.174
   Compiling lock_api v0.4.13
   Compiling smallvec v1.15.1
   Compiling cfg-if v1.0.1
   Compiling scopeguard v1.2.0
   Compiling bitflags v2.9.1
   Compiling byteorder v1.5.0
   Compiling assert_matches v1.5.0
   Compiling to_method v1.1.0
   Compiling parking_lot_core v0.9.11
   Compiling atomig v0.4.3
   Compiling strum v0.26.3
   Compiling rav1d v1.1.0
   Compiling raw-cpuid v11.5.0
   Compiling zerocopy v0.7.35
warning: [email protected]: src/arm/64/refmvs.S:28:10: fatal error: src/arm/asm-offsets.h: No such file or directory
warning: [email protected]:    28 | #include "src/arm/asm-offsets.h"
warning: [email protected]:       |          ^~~~~~~~~~~~~~~~~~~~~~~
warning: [email protected]: compilation terminated.
error: failed to run custom build command for `rav1d v1.1.0`

Caused by:
  process didn't exit successfully: `/home/astatin3/Documents/temp/raspivid/target/debug/build/rav1d-042bbed61696c152/build-script-build` (exit status: 1)
  --- stdout
  cargo:rerun-if-changed=src/arm/64/itx.S
  cargo:rerun-if-changed=src/arm/64/msac.S
  cargo:rerun-if-changed=src/arm/64/refmvs.S
  cargo:rerun-if-changed=src/arm/64/looprestoration_common.S
  cargo:rerun-if-changed=src/arm/64/mc_dotprod.S
  cargo:rerun-if-changed=src/arm/64/mc16_sve.S
  cargo:rerun-if-changed=src/arm/64/cdef.S
  cargo:rerun-if-changed=src/arm/64/filmgrain.S
  cargo:rerun-if-changed=src/arm/64/ipred.S
  cargo:rerun-if-changed=src/arm/64/loopfilter.S
  cargo:rerun-if-changed=src/arm/64/looprestoration.S
  cargo:rerun-if-changed=src/arm/64/mc.S
  cargo:rerun-if-changed=src/arm/64/cdef16.S
  cargo:rerun-if-changed=src/arm/64/filmgrain16.S
  cargo:rerun-if-changed=src/arm/64/ipred16.S
  cargo:rerun-if-changed=src/arm/64/itx16.S
  cargo:rerun-if-changed=src/arm/64/loopfilter16.S
  cargo:rerun-if-changed=src/arm/64/looprestoration16.S
  cargo:rerun-if-changed=src/arm/64/mc16.S
  OUT_DIR = Some(/home/astatin3/Documents/temp/raspivid/target/aarch64-unknown-linux-gnu/debug/build/rav1d-a85223ba6ce6247e/out)
  OPT_LEVEL = Some(0)
  TARGET = Some(aarch64-unknown-linux-gnu)
  HOST = Some(x86_64-unknown-linux-gnu)
  cargo:rerun-if-env-changed=CC_aarch64-unknown-linux-gnu
  CC_aarch64-unknown-linux-gnu = None
  cargo:rerun-if-env-changed=CC_aarch64_unknown_linux_gnu
  CC_aarch64_unknown_linux_gnu = None
  cargo:rerun-if-env-changed=TARGET_CC
  TARGET_CC = None
  cargo:rerun-if-env-changed=CC
  CC = None
  cargo:rerun-if-env-changed=CROSS_COMPILE
  CROSS_COMPILE = None
  RUSTC_LINKER = None
  cargo:rerun-if-env-changed=CC_ENABLE_DEBUG_OUTPUT
  RUSTC_WRAPPER = None
  cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
  CRATE_CC_NO_DEFAULTS = None
  CARGO_CFG_TARGET_FEATURE = Some(neon)
  cargo:rerun-if-env-changed=CFLAGS
  CFLAGS = None
  cargo:rerun-if-env-changed=TARGET_CFLAGS
  TARGET_CFLAGS = None
  cargo:rerun-if-env-changed=CFLAGS_aarch64_unknown_linux_gnu
  CFLAGS_aarch64_unknown_linux_gnu = None
  cargo:rerun-if-env-changed=CFLAGS_aarch64-unknown-linux-gnu
  CFLAGS_aarch64-unknown-linux-gnu = None
  CARGO_ENCODED_RUSTFLAGS = Some(-Clinker=aarch64-linux-gnu-gcc-14)
  cargo:warning=src/arm/64/refmvs.S:28:10: fatal error: src/arm/asm-offsets.h: No such file or directory
  cargo:warning=   28 | #include "src/arm/asm-offsets.h"
  cargo:warning=      |          ^~~~~~~~~~~~~~~~~~~~~~~
  cargo:warning=compilation terminated.

  --- stderr


  error occurred in cc-rs: command did not execute successfully (status code exit status: 1): LC_ALL="C" "aarch64-linux-gnu-gcc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-gdwarf-4" "-fno-omit-frame-pointer" "-I" "." "-I" "/home/astatin3/Documents/temp/raspivid/target/aarch64-unknown-linux-gnu/debug/build/rav1d-a85223ba6ce6247e/out" "-Wall" "-Wextra" "-march=armv8.6-a+sve2" "-o" "/home/astatin3/Documents/temp/raspivid/target/aarch64-unknown-linux-gnu/debug/build/rav1d-a85223ba6ce6247e/out/a6159f0d8bd0c0a6-refmvs.o" "-c" "src/arm/64/refmvs.S"


warning: build failed, waiting for other jobs to finish...
  • rustc 1.88.0 (6b00bc388 2025-06-23)
  • cargo 1.88.0 (873a06493 2025-05-10)
  • rustup 1.28.2 (e4f3ad6f8 2025-04-28)
  • rav1d = "1.1.0"
  • I have meson and libdav1d-dev installed, and I could not see if this project depends on any other library.
  • A non cross-compiled build works just fine

Metadata

Metadata

Assignees

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