{"record":{"id":"0ca857c5e2273871","repo":"DioxusLabs/dioxus","slug":"binary-format-not-supported","errorCode":null,"errorMessage":"Binary format not supported","messagePattern":"Binary format not supported","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/cli/src/cli/link.rs","lineNumber":208,"sourceCode":"\n                // This creates an object file that satisfies rust's use of llvm-objcopy\n                //\n                // I'd rather we *not* do this and instead generate a truly linked file (and then delete it) but\n                // this at least lets us delay linking until the host compiler is ready.\n                //\n                // This is because our host compiler is a stateful server and not a stateless linker.\n                //\n                // todo(jon): do we use Triple::host or the target triple? I think I ran into issues\n                // using the target triple, hence the use of \"host\" but it might not even matter?\n                let triple = Triple::host();\n                let format = match triple.binary_format {\n                    target_lexicon::BinaryFormat::Elf => object::BinaryFormat::Elf,\n                    target_lexicon::BinaryFormat::Coff => object::BinaryFormat::Coff,\n                    target_lexicon::BinaryFormat::Macho => object::BinaryFormat::MachO,\n                    target_lexicon::BinaryFormat::Wasm => object::BinaryFormat::Wasm,\n                    target_lexicon::BinaryFormat::Xcoff => object::BinaryFormat::Xcoff,\n                    target_lexicon::BinaryFormat::Unknown => unimplemented!(),\n                    _ => unimplemented!(\"Binary format not supported\"),\n                };\n\n                let arch = match triple.architecture {\n                    target_lexicon::Architecture::Wasm32 => object::Architecture::Wasm32,\n                    target_lexicon::Architecture::Wasm64 => object::Architecture::Wasm64,\n                    target_lexicon::Architecture::X86_64 => object::Architecture::X86_64,\n                    target_lexicon::Architecture::Arm(_) => object::Architecture::Arm,\n                    target_lexicon::Architecture::Aarch64(_) => object::Architecture::Aarch64,\n                    target_lexicon::Architecture::LoongArch64 => object::Architecture::LoongArch64,\n                    target_lexicon::Architecture::Unknown => object::Architecture::Unknown,\n                    _ => unimplemented!(\"Architecture not supported\"),\n                };\n\n                let endian = match triple.endianness() {\n                    Ok(target_lexicon::Endianness::Little) => object::Endianness::Little,\n                    Ok(target_lexicon::Endianness::Big) => object::Endianness::Big,\n                    Err(_) => unimplemented!(\"Endianness not supported\"),\n                };","sourceCodeStart":190,"sourceCodeEnd":226,"githubUrl":"https://github.com/DioxusLabs/dioxus/blob/24f6a829df0dfa203961a98ea4cae21c2ff27e28/packages/cli/src/cli/link.rs#L190-L226","documentation":"The CLI's linker stub hit a target binary format it cannot synthesize an object file for. Only Elf, Coff, MachO, and Wasm are handled; any other target_lexicon BinaryFormat falls through to this unimplemented arm while creating the placeholder object file.","triggerScenarios":"Thrown at packages/cli/src/cli/link.rs:208 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["The binary format of the target is not supported by the dx linker. Link a supported format (Mach-O, ELF, or PE)."],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"24f6a829df0dfa203961a98ea4cae21c2ff27e28","analyzedAt":"2026-08-23T07:10:14.078Z","contentChangedAt":"2026-08-23T07:10:14.078Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}