Skip to content

Homebrew installs x86-64 binary on Linux aarch64 #23

Description

@arcavenai

Summary

brew install arcavenae/tap/sideshow on Linux aarch64 (Raspberry Pi OS, Pi 5) delivers an x86-64 binary. It's installed to the correct path but cannot execute:

$ sideshow
bash: /home/skippy/brew/bin/sideshow: cannot execute binary file: Exec format error

$ file $(readlink -f $(which sideshow))
/home/skippy/brew/Cellar/sideshow/0.1.0-alpha.20260419.015238.d9ba561/bin/sideshow: \
  ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, \
  BuildID[sha1]=c4525119512081ed2259eb956c11d51a99ab271e, with debug_info, not stripped

$ uname -m
aarch64

Curious

Brew reports "Built from source":

$ brew info sideshow
==> arcavenae/tap/sideshow: stable 0.1.0-alpha.20260419.015238.d9ba561
Installed (on request)
/home/skippy/brew/Cellar/sideshow/0.1.0-alpha.20260419.015238.d9ba561 (4 files, 4.4MB)
  Built from source on 2026-04-18 at 21:43:24

...yet the installed binary's ELF header says x86-64. Either the formula pulled a pre-built bottle that's mislabeled as source, or the build ran with GOARCH=amd64 somehow. This is exactly the class of bug ArcavenAE/forestage#54 fixed, but for sideshow.

Compare — forestage on the same host works

$ file $(readlink -f $(which forestage-a))
ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), ...

Forestage gets the right binary; sideshow does not. Likely the sideshow.rb formula is missing a linux_arm64 bottle or its source build step is cross-compiling wrong.

Impact

Blocks all Linux aarch64 users from using sideshow — including the Pi fleet this platform targets as a tier-1 deployment surface. Also blocks verification of #18 (bmad version detection) on this hardware.

Environment

  • Host: Raspberry Pi OS, Linux aarch64
  • Homebrew: ~/brew (linuxbrew)
  • Formula: arcavenae/tap/sideshow
  • Installed: 2026-04-18 21:43:24

Suggested fix

Mirror whatever forestage does in homebrew-tap/Formula/forestage-a.rb for the sideshow formula. Either ship linux_arm64 bottles or make sure the from-source build respects the host arch.

Metadata

Metadata

Assignees

No one assigned

    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