oraios/serena · error · RuntimeError
Unsupported Linux architecture: {machine}. luau-lsp only pro
Error message
Unsupported Linux architecture: {machine}. luau-lsp only provides linux-x86_64 and linux-arm64 binaries. Please build from source: https://github.com/JohnnyMorganz/luau-lsp What it means
Raised when selecting the luau-lsp release asset on Linux with an architecture other than x86_64/amd64 or aarch64/arm64. luau-lsp upstream publishes only linux-x86_64 and linux-arm64 zips, so the library refuses to guess and points to build-from-source instructions.
Source
Thrown at src/solidlsp/language_servers/luau_lsp.py:230
@staticmethod
def _ensure_executable_bit(binary_path: Path) -> None:
if platform.system() != "Windows":
binary_path.chmod(0o755)
@staticmethod
def _get_binary_name() -> str:
return "luau-lsp.exe" if platform.system() == "Windows" else "luau-lsp"
@staticmethod
def _get_luau_lsp_asset_name() -> str:
system = platform.system()
machine = platform.machine().lower()
if system == "Linux":
if machine in ["x86_64", "amd64"]:
return "luau-lsp-linux-x86_64.zip"
if machine in ["aarch64", "arm64"]:
return "luau-lsp-linux-arm64.zip"
raise RuntimeError(
f"Unsupported Linux architecture: {machine}. "
"luau-lsp only provides linux-x86_64 and linux-arm64 binaries. "
"Please build from source: https://github.com/JohnnyMorganz/luau-lsp"
)
if system == "Darwin":
return "luau-lsp-macos.zip"
if system == "Windows":
return "luau-lsp-win64.zip"
raise RuntimeError(f"Unsupported operating system: {system}")
@staticmethod
def _get_platform_type(custom_settings: SolidLSPSettings.CustomLSSettings) -> str:
platform_type = custom_settings.get("platform", "roblox")
if platform_type not in SUPPORTED_PLATFORMS:
raise ValueError(f"Unsupported Luau platform: {platform_type}. Expected one of: {', '.join(sorted(SUPPORTED_PLATFORMS))}")
return platform_type
View on GitHub (pinned to 7fcbca7e62)
Solutions
- Run on linux/amd64 or linux/arm64 (change Docker --platform or move to a 64-bit host/runner)
- Build luau-lsp from source per https://github.com/JohnnyMorganz/luau-lsp and install the binary so download is skipped
- Use QEMU user emulation to run an amd64 build of the whole stack on the exotic arch
- On 32-bit ARM hardware that supports it, switch to a 64-bit (arm64) OS
Example fix
// before FROM --platform=linux/riscv64 python:3.11 // after FROM --platform=linux/amd64 python:3.11 # + qemu-user if hosting on riscv64
Defensive patterns
Strategy: validation
Validate before calling
import platform
machine = platform.machine().lower()
if platform.system() == "Linux" and machine not in ("x86_64", "amd64", "aarch64", "arm64"):
raise SystemExit(f"luau-lsp provides only linux-x86_64/linux-arm64; got {machine}. Build from source: https://github.com/JohnnyMorganz/luau-lsp") Try / catch
try:
server = create_luau_server()
except RuntimeError as e:
if "Unsupported Linux architecture" in str(e):
use_source_built_luau_lsp()
else:
raise Prevention
- Restrict luau tests to amd64/arm64 CI runners
- Set explicit Docker --platform for multi-arch builds
- Pre-build luau-lsp from source for niche hardware
- Avoid 32-bit userlands on 64-bit boards
When it happens
Trigger: _get_luau_lsp_asset_name (called from _download_luau_lsp) running on Linux where platform.machine() returns armv7l, i686, riscv64, ppc64le, s390x, etc.
Common situations: 32-bit Raspberry Pi OS (armv7l), embedded ARM boards, riscv64 dev boards, s390x enterprise CI, multi-arch Docker builds targeting less common platforms.
Related errors
- Unsupported Linux architecture: {machine}
- Unsupported operating system: {system}
- Unsupported macOS architecture: {machine}
- Unsupported Windows architecture: {machine}
- Unsupported operating system: {system}
AI-assisted analysis of oraios/serena@7fcbca7e62 (2026-08-29).
Data as JSON: /api/errors/424737ad98c06b16.
Report an issue: GitHub.