{"record":{"id":"f85fc3515447bf37","repo":"jdx/mise","slug":"unsupported-architecture-other","errorCode":null,"errorMessage":"unsupported architecture: {other}","messagePattern":"unsupported architecture: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/plugins/core/erlang.rs","lineNumber":173,"sourceCode":"    fn source_archive_url(version: &str) -> String {\n        format!(\n            \"https://github.com/erlang/otp/archive/{}.tar.gz\",\n            Self::release_tag(version)\n        )\n    }\n\n    fn source_cache_name(url: &str) -> String {\n        format!(\"otp-source-{}.tar.gz\", crate::hash::hash_sha256_to_str(url))\n    }\n\n    fn linux_precompiled_base_url(target: &PlatformTarget) -> Result<String> {\n        if target.libc() == Some(\"musl\") {\n            bail!(\"precompiled erlang is not supported on musl linux\");\n        }\n        let arch = match target.arch_name() {\n            \"x64\" => \"amd64\",\n            \"arm64\" => \"arm64\",\n            other => bail!(\"unsupported architecture: {other}\"),\n        };\n        let os_ver = Self::linux_precompiled_os_version()?;\n        Ok(format!(\"https://builds.hex.pm/builds/otp/{arch}/{os_ver}\"))\n    }\n\n    async fn linux_precompiled_lock_info(\n        version: &str,\n        target: &PlatformTarget,\n    ) -> Result<PlatformInfo> {\n        let base_url = Self::linux_precompiled_base_url(target)?;\n        let release_tag = Self::release_tag(version);\n        let builds = HTTP_FETCH\n            .get_text_cached(format!(\"{base_url}/builds.txt\"))\n            .await?;\n        let checksum = parse_hex_build_checksum(&builds, &release_tag)?;\n        Ok(PlatformInfo {\n            url: Some(format!(\"{base_url}/{release_tag}.tar.gz\")),\n            checksum: Some(checksum),","sourceCodeStart":155,"sourceCodeEnd":191,"githubUrl":"https://github.com/jdx/mise/blob/6f52dcdf99e282ef7a7db68c81301fa4618d0f79/src/plugins/core/erlang.rs#L155-L191","documentation":"While building the hex.pm precompiled URL on Linux, mise maps the platform arch to Bob's build names and only x64→amd64 and arm64→arm64 exist. Any other arch (riscv64, s390x, ppc64le, 32-bit arm/x86) bails here. As with the other precompiled guards it is fatal only when erlang.compile=false; otherwise it falls back to a kerl source build.","triggerScenarios":"`mise install erlang` on exotic Linux hardware (RISC-V, s390x mainframe, POWER, 32-bit ARM boards), or with `mise settings arch` overridden to such a value; also during lock resolution for a cross-compile PlatformTarget with one of those arches.","commonSituations":"QEMU-emulated multi-arch CI building erlang for riscv64/armv7; a stray `mise settings set arch riscv64` left in a shared settings file; NixOS on non-x86 workstations.","solutions":["Set `mise settings set erlang.compile true` to build OTP from source on that architecture","Check for a stale override: `mise settings get arch` — if it names an exotic arch, `mise settings unset arch`","Run the install on x64/arm64 hardware or an emulation VM that presents as one of those"],"exampleFix":"# before\n$ mise settings set arch riscv64   # then: mise install erlang@27.1 → unsupported architecture: riscv64\n\n# after\n$ mise settings unset arch\n$ mise install erlang@27.1","handlingStrategy":"validation","validationCode":"# guard exotic arches before install\nARCH=$(mise settings get arch 2>/dev/null || uname -m)\ncase \"$ARCH\" in\n  x86_64|x64|aarch64|arm64) mise install erlang@27.1 ;;\n  *) mise settings set erlang.compile true && mise install erlang@27.1 ;;\nesac","typeGuard":"supported_erlang_arch() { case \"${1:-$(uname -m)}\" in x86_64|x64|aarch64|arm64) return 0 ;; *) return 1 ;; esac; }","tryCatchPattern":null,"preventionTips":["Never persist a `mise settings set arch <exotic>` without also setting erlang.compile=true","For multi-arch CI matrices, encode the arch→policy mapping in the matrix setup script"],"tags":["mise","erlang","architecture","riscv64","s390x","armv7","precompiled"],"backgroundTag":"unsupported-cpu-architecture","analyzedSha":"6f52dcdf99e282ef7a7db68c81301fa4618d0f79","analyzedAt":"2026-08-22T10:14:23.840Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}