Errors#
This page lists common conda-ship errors and the usual fix.
cs prints human-readable diagnostics by default. The conda ship adapter uses
an internal structured diagnostic mode so it can show the same errors through
conda without depending on terminal formatting.
Project Input#
could not find project root containing conda.toml, pixi.toml, or supported pyproject.tomlRun from the project root or pass
--root PATH.could not find conda.toml, pixi.toml, or supported pyproject.tomlAdd a supported manifest to the selected root. A
pyproject.tomlneeds a nonempty[tool.conda.workspace]or[tool.pixi.workspace]table.[tool.conda-ship]alone does not define a source workspace.lockfile not foundRefresh and commit the matching source lockfile with
conda workspace lockorpixi lock.source environment is requiredSet
[tool.conda-ship].source-environment.source environment "NAME" not foundAdd the environment to the source manifest and refresh the source lockfile.
source environment "NAME" contains unsupported PyPI packagesDiagnostic kind:
unsupported_pypi_packages. Use conda packages or select a source environment containing only conda packages, then refresh the lockfile withconda workspace lockorpixi lock.runtime version is requiredPass
--runtime-version, set[tool.conda-ship].runtime-version, define static[project].versionin the selectedpyproject.toml, or opt intoruntime-version = { from = "project-metadata" }through the Pythonconda shipadapter for dynamic Python project versions.failed to read condarc-fileCheck
[tool.conda-ship].condarc-file. Relative paths start from the selected manifest directory.failed to parse condarc-file as YAMLFix the referenced YAML file.
condarc-file must contain a YAML mappingUse normal condarc key and value entries rather than a top-level scalar or sequence.
Package Archives#
cannot bundle packages without SHA256 hashesRefresh the source lockfile with package hash metadata before building
externalorembeddedlayouts.no default environment in ... runtime.lockThe derived runtime lock is malformed. Rebuild from the source lockfile.
Template Selection#
runtime template not foundInstall a conda-ship package that includes
cs-template, setCONDA_SHIP_TEMPLATE, or pass--template PATH.cross-builds require --templatePass a prebuilt runtime template for the requested target.
runtime template is already stamped--templatepoints at a generated runtime instead of a generic template.runtime template is incompatible with authenticated runtime dataMach-O and PE templates must contain the exact reader ABI declaration from the current format implementation in its dedicated image section. Use
cs-templatefrom the same conda-ship release as the builder. conda-ship 0.9.0 rejects native templates from 0.8.0 and earlier even when their executable layout could otherwise be stamped. The declaration is not proof of template provenance.universal Mach-O binaries are not supportedUse a thin macOS template for the selected target. The builder also rejects 32-bit and big-endian Mach-O templates.
Mach-O runtime template is not an executable imageUse a thin
MH_EXECUTEtemplate, not a dynamic library or another Mach-O file type.Mach-O runtime template CPU type ... with subtype ... does not match platform ...Use an x86_64 template for
osx-64and an arm64 template forosx-arm64.unsupported Mach-O load command: ...Rebuild with the matching
cs-template. conda-ship accepts the bounded set of modern load commands used by its runtime templates and fails closed on unknown commands that might reference removed signature bytes.Mach-O runtime template targets unsupported platform ...Use a macOS template. iOS, Catalyst, simulator, and other Apple platform binaries are not accepted.
Mach-O code signature overlaps referenced file dataRebuild the template with a linker-generated signature after all link-edit tables. conda-ship will not truncate data referenced by another load command.
Mach-O LC_MAIN entry point is outside executable file dataRebuild the template as a normal modern macOS executable with one
LC_MAINentry point inside an executable segment.Mach-O header has no room for a code signature commandAn unsigned custom template needs at least 16 bytes between its load-command table and first file-backed section so native
codesigncan addLC_CODE_SIGNATURE. Use a linker-generated signature or reserve that space.Mach-O code signature is not the final data in the fileRebuild the custom template so its linker-generated signature is the final file data before conda-ship stamps it.
Mach-O load command table is too largeRebuild the custom template with a normal thin Mach-O load-command table. conda-ship rejects tables larger than 1 MiB before allocating memory for them.
PE certificate table is not the final data in the fileFinalize the PE so its Security Directory certificate range ends at the physical end of the executable. Do not append data after Authenticode signing.
signed PE runtime data has no authenticated anchor sectionRebuild the Windows runtime with a matching conda-ship 0.9.0 builder and template, then apply Authenticode signing to the new artifact. A legacy signed PE overlay cannot be repaired by re-signing it. A Windows runtime from 0.8.0 or earlier also cannot consume a 0.9.0 executable update candidate, so an adopting installer or package manager must record external ownership during replacement. An installation that must remain directly managed needs a fresh install that does not reuse its old direct-install metadata.
signed PE templates must be unsigned before runtime stampingRemove the existing Authenticode signature or rebuild an unsigned template. Sign the generated runtime after conda-ship adds its
.cshipanchor.PE runtime template has data outside its declared sectionsRebuild the template without an existing overlay. conda-ship creates the runtime overlay itself and binds it to the signed
.cshipfooter.PE headers have no room for a runtime anchor sectionRebuild the template with at least one zero-filled 40-byte section-header slot before the first raw section.
PE runtime template machine ... with image kind ... does not match platform ...Use a PE32 x86 template for
win-32, a PE32+ x86_64 template forwin-64, and a PE32+ ARM64 template forwin-arm64.
Naming#
runtime name must start with an ASCII letter or digitUse a filename-safe runtime name such as
demoordemo-runtime.delegate executable may only contain ASCII letters, digits, dots, dashes, and underscoresUse an executable name, not a path.
target triple may only contain ASCII letters, digits, dots, dashes, and underscoresUse a target triple string, not a path to a custom target file.
installer may only contain ASCII letters, digits, dots, dashes, and underscoresUse a short installer name such as
homebrew,conda-package, orstandalone.
Runtime Bootstrap#
runtime template, not a runnable runtimeRun a binary produced by
cs build, not the generic runtime template.runtime has no stamped lockfileThe binary is not a properly stamped runtime. Rebuild it with
cs build.offline bootstrap requires a stamped runtime lockOffline bootstrap requires a runtime built by
cs build.runtime bundle path is not a directoryPoint the runtime-specific
_BUNDLEenvironment variable at a directory containing package archive files, not the compressed.bundle.tar.zstfile itself.
Prefix Ownership#
refusing to bootstrap into existing non-empty pathSet
CONDA_SHIP_PREFIXto another path or remove the existing directory yourself. Runtime-specific_PREFIXvariables also work for names other thanconda.refusing to use unmanaged install pathThe prefix does not contain ownership metadata for this runtime.
refusing to use install path with invalid bootstrap stateThe internal installing marker is malformed or belongs to another runtime. A non-empty prefix without matching ownership state is rejected.