dbt-labs/dbt-core · error · anyhow

no binaries found under

Error message

no binaries found under {} (expected files named by cargo target triple)

What it means

The wheel-packing step found no binaries under the given binaries directory that are named by cargo target triple — there is nothing to embed into the wheel. Typically the --binaries-dir points at the wrong location or the release build/copy step hasn't produced/copied the executables yet.

Solutions

  1. Point --binaries-dir at the directory containing the triple-named release binaries
  2. Run the cargo build/release step that produces the binaries before packing
  3. Verify filenames match the expected target-triple naming exactly
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at crates/dbt-ci/src/pack.rs:50 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of dbt-labs/dbt-core@0267ce9170 (2026-09-07). Data as JSON: /api/errors/6a97cd0042144feb. Report an issue: GitHub.

Appendix: source

Thrown at crates/dbt-ci/src/pack.rs:50

        .bin_name
        .clone()
        .unwrap_or_else(|| spec.wheel_name.clone());
    let out_dir = args
        .out
        .as_ref()
        .map(PathBuf::from)
        .unwrap_or_else(|| spec.pyproject_dir.join("target/wheels"));
    fs::create_dir_all(&out_dir).with_context(|| format!("create {}", out_dir.display()))?;

    eprintln!("→ wheel name:   {}", spec.wheel_name);
    eprintln!("→ wheel ver:    {version_pep440}");
    eprintln!("→ bin name:     {bin_name}");
    eprintln!("→ binaries dir: {}", args.binaries_dir.display());
    eprintln!("→ out:          {}", out_dir.display());

    let binaries = collect_binaries(&args.binaries_dir)?;
    if binaries.is_empty() {
        bail!(
            "no binaries found under {} (expected files named by cargo target triple)",
            args.binaries_dir.display()
        );
    }

    for bin in &binaries {
        let path = pack_wheel(&spec, &version_pep440, &bin_name, bin, &out_dir)
            .with_context(|| format!("pack {}", bin.path.display()))?;
        eprintln!("✓ {}", path.display());
    }
    eprintln!(
        "\n{} wheel(s) written to {}",
        binaries.len(),
        out_dir.display()
    );
    Ok(())
}

View on GitHub (pinned to 0267ce9170)