ipfs/kubo · error

no binary found in archive

Error message

no binary found in archive

What it means

Fired by unpackTgz when the whole tar.gz was scanned and no entry matching <root>/<name> (the expected migration binary path) exists. The archive is valid but does not contain the binary the migration expects, so nothing is written to the output path.

Source

Thrown at repo/fsrepo/migrations/unpack.go:62

	lookFor := root + "/" + name
	for {
		th, err := tarr.Next()
		if err != nil {
			if err == io.EOF {
				break
			}
			return fmt.Errorf("cannot read archive: %w", err)
		}

		if th.Name == lookFor {
			bin = tarr
			break
		}
	}

	if bin == nil {
		return errors.New("no binary found in archive")
	}

	return writeToPath(bin, out)
}

func unpackZip(arcPath, root, name, out string) error {
	zipr, err := zip.OpenReader(arcPath)
	if err != nil {
		return fmt.Errorf("error opening zip reader: %w", err)
	}
	defer zipr.Close()

	lookFor := root + "/" + name
	var bin io.ReadCloser
	for _, fis := range zipr.File {
		if fis.Name == lookFor {
			rc, err := fis.Open()
			if err != nil {

View on GitHub (pinned to 329838acdf)

Solutions

  1. Retry with a different/newer release; archive layout may differ from what was expected
  2. Verify the download matches the expected release
  3. Extract the binary manually from the official archive
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at repo/fsrepo/migrations/unpack.go:62 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of ipfs/kubo@329838acdf (2026-09-03). Data as JSON: /api/errors/f76fa18627321acd. Report an issue: GitHub.