{"record":{"id":"7b93d699615e19c8","repo":"oraios/serena","slug":"unsupported-operating-system-system","errorCode":null,"errorMessage":"Unsupported operating system: {system}","messagePattern":"Unsupported operating system: (.+?)","errorType":"exception","errorClass":"RuntimeError","httpStatus":null,"severity":"error","filePath":"src/solidlsp/language_servers/lua_ls.py","lineNumber":147,"sourceCode":"                download_name = f\"lua-language-server-{lua_ls_version}-linux-x64.tar.gz\"\n            elif machine in [\"aarch64\", \"arm64\"]:\n                download_name = f\"lua-language-server-{lua_ls_version}-linux-arm64.tar.gz\"\n            else:\n                raise RuntimeError(f\"Unsupported Linux architecture: {machine}\")\n        elif system == \"Darwin\":\n            if machine in [\"x86_64\", \"amd64\"]:\n                download_name = f\"lua-language-server-{lua_ls_version}-darwin-x64.tar.gz\"\n            elif machine in [\"arm64\", \"aarch64\"]:\n                download_name = f\"lua-language-server-{lua_ls_version}-darwin-arm64.tar.gz\"\n            else:\n                raise RuntimeError(f\"Unsupported macOS architecture: {machine}\")\n        elif system == \"Windows\":\n            if machine in [\"amd64\", \"x86_64\"]:\n                download_name = f\"lua-language-server-{lua_ls_version}-win32-x64.zip\"\n            else:\n                raise RuntimeError(f\"Unsupported Windows architecture: {machine}\")\n        else:\n            raise RuntimeError(f\"Unsupported operating system: {system}\")\n\n        download_url = f\"https://github.com/LuaLS/lua-language-server/releases/download/{lua_ls_version}/{download_name}\"\n\n        install_dir = _lua_ls_install_dir(LuaLanguageServer.ls_resources_dir(solidlsp_settings), lua_ls_version)\n        install_dir.mkdir(parents=True, exist_ok=True)\n\n        log.info(\"Downloading lua-language-server from %s\", download_url)\n        archive_type = \"gztar\" if download_name.endswith(\".tar.gz\") else \"zip\"\n        FileUtils.download_and_extract_archive_verified(\n            download_url,\n            str(install_dir),\n            archive_type,\n            expected_sha256=_lua_ls_sha(lua_ls_version, download_name),\n            allowed_hosts=LUA_LS_ALLOWED_HOSTS,\n        )\n\n        # Make executable on Unix systems\n        if system != \"Windows\":","sourceCodeStart":129,"sourceCodeEnd":165,"githubUrl":"https://github.com/oraios/serena/blob/7fcbca7e62555ec2287ddb2f083caee805848ea6/src/solidlsp/language_servers/lua_ls.py#L129-L165","documentation":"Raised during lua-language-server download when the operating system is neither Linux, Darwin (macOS), nor Windows, so no release asset naming rule applies. system() returns values like 'FreeBSD', 'OpenBSD', 'SunOS', or anything outside the three supported families.","triggerScenarios":"Running _setup_runtime_dependency (via _download_lua_ls) on BSD variants, Solaris/illumos, or other exotic POSIX systems where platform.system() is not Linux/Darwin/Windows.","commonSituations":"FreeBSD servers or CI, NixOS-derived containers reporting unusual system strings (rare), Solaris heritage systems, custom OS builds used in embedded appliances.","solutions":["Run the library on Linux, macOS, or Windows (e.g. inside a Docker linux container on the BSD host)","Build lua-language-server from source on the target OS and place the binary at the expected install_dir path so download is skipped","Contribute/patch lua_ls.py to add an asset rule for your OS if a release asset exists","Use a managed CI runner with a supported OS"],"exampleFix":"// before\n# running multilspy directly on FreeBSD host\n// after\ndocker run -v $(pwd):/work -w /work python:3.11  # linux container on FreeBSD via jail/podman","handlingStrategy":"validation","validationCode":"import platform\nif platform.system() not in (\"Linux\", \"Darwin\", \"Windows\"):\n    raise SystemExit(f\"lua-language-server auto-install supports Linux/macOS/Windows only; got {platform.system()}. Use a Linux container.\")","typeGuard":null,"tryCatchPattern":"try:\n    server = create_lua_server()\nexcept RuntimeError as e:\n    if \"Unsupported operating system\" in str(e):\n        run_in_linux_container()\n    else:\n        raise","preventionTips":["Run multilspy workloads inside a Linux Docker container on BSD/Solaris hosts","Gate OS-specific tests with platform checks in CI","Pre-provision binaries manually for exotic OSes","Prefer managed linux CI runners"],"tags":["lua","operating-system","unsupported-platform","installation"],"backgroundTag":"unsupported-platform","analyzedSha":"7fcbca7e62555ec2287ddb2f083caee805848ea6","analyzedAt":"2026-08-29T00:04:09.619Z","schemaVersion":2},"datasetVersion":"2026-08-29T02:17:18.158Z"}