Morganamilo/paru · error
could not find .SRCINFO for
Error message
could not find .SRCINFO for '{}' What it means
download_pkgbuilds expects each requested package to have a .SRCINFO file available locally (after cloning) so it can parse package metadata. If the expected .SRCINFO path does not exist, it bails with "could not find .SRCINFO for '<pkgbase>'".
Solutions
- Clear the cached clone directory for that package (usually ~/.cache/<helper>/<pkgbase>) and retry
- Verify the package still exists and has .SRCINFO on the AUR
- Re-run with a fresh clone so the download step completes fully
- Check disk space and permissions on the cache directory
Example fix
// before rm -rf ~/.cache/paru/paru.db // after (remove just the broken package clone) rm -rf ~/.cache/paru/<pkgbase> && paru -S <pkgbase>
Defensive patterns
Strategy: validation
Validate before calling
let path = cache_dir.join(format!("{pkgbase}/.SRCINFO"));
if !path.exists() {
eprintln!("missing .SRCINFO for {pkgbase}; clearing cache clone");
std::fs::remove_dir_all(cache_dir.join(pkgbase)).ok();
} Prevention
- Clear the per-package cache clone when errors mention missing files
- Verify the package still exists on the AUR before installing
- Avoid interrupting clones mid-download; retry after interruptions
- Check cache directory permissions and free disk space
When it happens
Trigger: During prepare_build's download step, the cloned/downloaded package directory lacks a .SRCINFO file where the code looks for one — e.g. the download produced an empty or partial directory, or the package on the AUR is malformed.
Common situations: AUR package deleted mid-operation; interrupted or failed git clone leaving no .SRCINFO; stale cache directory missing files after an AUR helper upgrade; package that genuinely never had a valid .SRCINFO.
Understand the failure class
Background: "File not found" and ENOENT errors: why libraries can't find a file that should exist — this error's family across 50 libraries.
Related errors
- package list does not match srcinfo
- duplicate PKGBUILD
- {}: {}: {}
- packages failed to build
- can't build , deps not satisfied
AI-assisted analysis of Morganamilo/paru@9ac3578807 (2026-09-12).
Data as JSON: /api/errors/aa69b309deb14eb7.
Report an issue: GitHub.
Appendix: source
Thrown at src/install.rs:207
}
}
download::new_aur_pkgbuilds(config, bases, &self.srcinfos).await?;
for base in &bases.bases {
if self.srcinfos.contains_key(base.package_base()) {
continue;
}
let path = config.build_dir.join(base.package_base()).join(".SRCINFO");
if path.exists() {
if let Entry::Vacant(vacant) = self.srcinfos.entry(base.package_base().to_string())
{
let srcinfo = Srcinfo::from_path(path)
.with_context(|| tr!("failed to parse srcinfo for '{}'", base))?;
vacant.insert(srcinfo);
}
} else {
bail!(tr!("could not find .SRCINFO for '{}'", base.package_base()));
}
}
Ok(())
}
fn chroot_install(&self, config: &Config, build: &[Base], repo_targs: &[String]) -> Result<()> {
if !config.chroot {
return Ok(());
}
if !config.args.has_arg("w", "downloadonly") {
let mut targets = Vec::new();
let iter = build.iter().filter(|b| {
!self
.failed
.iter()
.any(|f| b.package_base() == f.package_base())View on GitHub (pinned to 9ac3578807)