{"record":{"id":"424737ad98c06b16","repo":"oraios/serena","slug":"unsupported-linux-architecture-machine-luau-ls","errorCode":null,"errorMessage":"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","messagePattern":"Unsupported Linux architecture: (.+?)\\. luau-lsp only provides linux-x86_64 and linux-arm64 binaries\\. Please build from source: https://github\\.com/JohnnyMorganz/luau-lsp","errorType":"exception","errorClass":"RuntimeError","httpStatus":null,"severity":"error","filePath":"src/solidlsp/language_servers/luau_lsp.py","lineNumber":230,"sourceCode":"        @staticmethod\n        def _ensure_executable_bit(binary_path: Path) -> None:\n            if platform.system() != \"Windows\":\n                binary_path.chmod(0o755)\n\n        @staticmethod\n        def _get_binary_name() -> str:\n            return \"luau-lsp.exe\" if platform.system() == \"Windows\" else \"luau-lsp\"\n\n        @staticmethod\n        def _get_luau_lsp_asset_name() -> str:\n            system = platform.system()\n            machine = platform.machine().lower()\n\n            if system == \"Linux\":\n                if machine in [\"x86_64\", \"amd64\"]:\n                    return \"luau-lsp-linux-x86_64.zip\"\n                if machine in [\"aarch64\", \"arm64\"]:\n                    return \"luau-lsp-linux-arm64.zip\"\n                raise RuntimeError(\n                    f\"Unsupported Linux architecture: {machine}. \"\n                    \"luau-lsp only provides linux-x86_64 and linux-arm64 binaries. \"\n                    \"Please build from source: https://github.com/JohnnyMorganz/luau-lsp\"\n                )\n            if system == \"Darwin\":\n                return \"luau-lsp-macos.zip\"\n            if system == \"Windows\":\n                return \"luau-lsp-win64.zip\"\n            raise RuntimeError(f\"Unsupported operating system: {system}\")\n\n    @staticmethod\n    def _get_platform_type(custom_settings: SolidLSPSettings.CustomLSSettings) -> str:\n        platform_type = custom_settings.get(\"platform\", \"roblox\")\n        if platform_type not in SUPPORTED_PLATFORMS:\n            raise ValueError(f\"Unsupported Luau platform: {platform_type}. Expected one of: {', '.join(sorted(SUPPORTED_PLATFORMS))}\")\n        return platform_type\n","sourceCodeStart":212,"sourceCodeEnd":248,"githubUrl":"https://github.com/oraios/serena/blob/7fcbca7e62555ec2287ddb2f083caee805848ea6/src/solidlsp/language_servers/luau_lsp.py#L212-L248","documentation":"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.","triggerScenarios":"_get_luau_lsp_asset_name (called from _download_luau_lsp) running on Linux where platform.machine() returns armv7l, i686, riscv64, ppc64le, s390x, etc.","commonSituations":"32-bit Raspberry Pi OS (armv7l), embedded ARM boards, riscv64 dev boards, s390x enterprise CI, multi-arch Docker builds targeting less common platforms.","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"],"exampleFix":"// before\nFROM --platform=linux/riscv64 python:3.11\n// after\nFROM --platform=linux/amd64 python:3.11  # + qemu-user if hosting on riscv64","handlingStrategy":"validation","validationCode":"import platform\nmachine = platform.machine().lower()\nif platform.system() == \"Linux\" and machine not in (\"x86_64\", \"amd64\", \"aarch64\", \"arm64\"):\n    raise SystemExit(f\"luau-lsp provides only linux-x86_64/linux-arm64; got {machine}. Build from source: https://github.com/JohnnyMorganz/luau-lsp\")","typeGuard":null,"tryCatchPattern":"try:\n    server = create_luau_server()\nexcept RuntimeError as e:\n    if \"Unsupported Linux architecture\" in str(e):\n        use_source_built_luau_lsp()\n    else:\n        raise","preventionTips":["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"],"tags":["luau","architecture","unsupported-platform","installation"],"backgroundTag":"unsupported-architecture","analyzedSha":"7fcbca7e62555ec2287ddb2f083caee805848ea6","analyzedAt":"2026-08-29T00:04:09.619Z","schemaVersion":2},"datasetVersion":"2026-08-29T02:17:18.158Z"}