Skip to content

ARM64 SCA runner missing C header files (xxhash.h, usearch.h) causes go vet failure #370

Description

@matrix-meow

Problem

The SCA Test on Linux/arm64 job fails during go vet because CGO compilation cannot find required C header files:

bloom.c:24:10: fatal error: xxhash.h: No such file or directory
   24 | #include "xxhash.h"
      |          ^~~~~~~~~~

../../../go/pkg/mod/github.com/cpegeric/usearch/golang@.../lib.go:30:10: fatal error: usearch.h: No such file or directory
   30 | #include "usearch.h"
      |          ^~~~~~~~~~~

Recent Occurrences

Date PR/Run Job
2026-06-26 PR #25174 SCA Test on Linux/arm64

Root Cause

The ARM64 GitHub Actions runner does not have the thirdparty C libraries (xxhash, usearch) installed in thirdparties/install/include/ before go vet runs. The SCA job enables CGO (via CGO_CFLAGS="-I.../thirdparties/install/include"), but the include directory is empty or missing these headers.

This is related to the broader ARM64 runner environment setup issues (similar to Build job missing file command in run 27733163070).

Suggested Fix

  1. Ensure ARM64 runner image includes xxhash and usearch headers
  2. Or add a build step to compile/install thirdparty dependencies before running SCA on ARM64
  3. Or skip CGO-dependent packages in ARM64 SCA (use -tags nocgo or exclude specific packages)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    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