{"record":{"id":"e98dddfffd38335c","repo":"Morganamilo/paru","slug":"can-t-build-base-deps-not-satisfied-deps","errorCode":null,"errorMessage":"can't build {base}, deps not satisfied: {deps}","messagePattern":"can't build (.+?), deps not satisfied: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/install.rs","lineNumber":774,"sourceCode":"                }\n            }\n            Base::Pkgbuild(c) => {\n                for pkg in &c.pkgs {\n                    missing.retain(|mis| {\n                        let provides = pkg.pkg.provides.arch(arch).map(Depend::new);\n                        let v = Version::new(c.version().as_str());\n                        if ver {\n                            !satisfies(Depend::new(*mis), &pkg.pkg.pkgname, v, provides)\n                        } else {\n                            !satisfies_nover(Depend::new(*mis), &pkg.pkg.pkgname, provides)\n                        }\n                    })\n                }\n            }\n        }\n\n        if !missing.is_empty() {\n            bail!(tr!(\n                \"can't build {base}, deps not satisfied: {deps}\",\n                base = base,\n                deps = missing.join(\"  \")\n            ));\n        }\n\n        let (mut pkgdest, version) = if build {\n            self.build_pkgbuild(config, base, repo, &dir)?\n        } else {\n            printtr!(\"{}: parsing pkg list...\", base);\n            let (pkgdests, version) = parse_package_list(config, &dir, pkgdest)?;\n            let debug_paths = self.debug_paths(config, base, &pkgdests)?;\n            self.add_pkg(config, base, repo, &pkgdests, &debug_paths)?;\n            self.queue_install(base, &pkgdests, &debug_paths);\n            (pkgdests, version)\n        };\n\n        match &*base {","sourceCodeStart":756,"sourceCodeEnd":792,"githubUrl":"https://github.com/Morganamilo/paru/blob/9ac3578807a87858651e81a02586ceb947686e7c/src/install.rs#L756-L792","documentation":"Before building, build_install_pkgbuild checks that all dependencies of the package are satisfiable; it collects any missing ones and bails with \"can't build {base}, deps not satisfied: {deps}\". This prevents starting a makepkg run that would fail on dependency resolution.","triggerScenarios":"The missing list built during dependency resolution is non-empty: declared depends/makedepends of the package base are neither installed, nor available in repos, nor provided by other packages in the current build set.","commonSituations":"Package depends on another AUR package not included in the current target list; dependency exists only in an out-of-sync local repo database; typo'd or renamed dependency in the PKGBUILD; partial upgrade leaving repos stale (no pacman -Sy).","solutions":["Include the listed missing dependencies in the same install command so they get built/installed first","Run pacman -Sy (or refresh with the helper) to sync repo databases, then retry","Check whether the missing deps are AUR packages the helper failed to resolve; add them explicitly","Verify the PKGBUILD's depends/makedepends for typos or renamed packages"],"exampleFix":"// before\nparu -S mypackage\n// after (include the missing dependency in the same transaction)\nparu -S mypackage its-missing-dep","handlingStrategy":"validation","validationCode":"// pre-resolve dependencies and warn before building\nfor dep in srcinfo_deps(&base) {\n    let in_repos = pacman_q(&dep) || pacman_si(&dep);\n    if !in_repos && !in_build_set(&dep, targets) {\n        eprintln!(\"{dep} unsatisfied for {base}; add it to the install list\");\n    }\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Always include transitive AUR dependencies in the same command","Refresh repo databases (pacman -Sy / helper refresh) before installs","Check the PKGBUILD's depends/makedepends for typos or renamed packages","Keep the local system upgraded to avoid partial-upgrade dependency gaps"],"tags":["dependencies","build","aur","resolution"],"backgroundTag":"missing-dependency","analyzedSha":"9ac3578807a87858651e81a02586ceb947686e7c","analyzedAt":"2026-09-12T04:57:59.861Z","contentChangedAt":"2026-09-12T04:57:59.861Z","schemaVersion":2},"datasetVersion":"2026-09-16T09:17:16.951Z"}