Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Platforms and troubleshooting

Platforms

PlatformBinary formatRuntime search environment
Windows x64PEChild process PATH
Linux x64ELFLD_LIBRARY_PATH
macOS ARM64 / x64Mach-ODYLD_LIBRARY_PATH

Availability also requires an official SDK asset for the exact version and architecture with a SHA-256 checksum. Linux supports x64. macOS supports native command-line programs and selects the matching architecture slice. Application distributors handle .app bundles and Rosetta translation.

Check SDK version metadata

Run cjr inspect <binary> first. ELF requires section headers. Mach-O supports both ordinary version pointers and chained fixups. Version detection requires an intact version table with a supported layout. Parsing failures produce a diagnostic. Ask the application distributor for a build that preserves version metadata.

Check official release records

The complete SDK version, platform and official checksum must match. Check that the manifest includes the target version and its checksum; cjr uses an exact version match. Offline use also requires local metadata or an existing runtime record.

Runtime present, launch still fails

Check application-local libraries and embedded search paths. Windows application-directory DLLs, old ELF RPATH entries, preload variables and explicit library paths can take precedence over the chosen runtime. cjr rejects detected conflicts. The application distributor should correct the conflicting files or paths.

Application distributors provide application libraries and stdx; the system package manager supplies glibc and other system dependencies. Use the system loader’s diagnostic to identify missing dependencies.

Restricted macOS programs

cjr rejects loading-environment injection for recognized hardened or restricted programs. Signatures, entitlements and SIP stay intact. Applications distributed this way should bundle and sign their own runtimes.

Non-ASCII arguments

cjr passes native operating-system arguments. Some Cangjie Windows SDKs may fail to decode Chinese arguments in main(args). If direct execution fails in the same way, the SDK or application needs to address it.

Static dependency checks read dependencies declared in the binary. The system loader or application reports errors from runtime plugins, delay loading and custom loaders.