Skip to content

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

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: rav1d@1.1.0: src/arm/64/refmvs.S:28:10: fatal error: src/arm/asm-offsets.h: No such file or directory
warning: rav1d@1.1.0:    28 | #include "src/arm/asm-offsets.h"
warning: rav1d@1.1.0:       |          ^~~~~~~~~~~~~~~~~~~~~~~
warning: rav1d@1.1.0: 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
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions