diff --git a/lib/spack/spack/installer.py b/lib/spack/spack/installer.py index 226130e8f40..4ad26d0d6a9 100644 --- a/lib/spack/spack/installer.py +++ b/lib/spack/spack/installer.py @@ -1754,8 +1754,14 @@ def _requeue_as_build_task(self, task): dep_pkg = dep.package dep_id = package_id(dep) + # Add a new task if we need one if dep_id not in self.build_tasks and dep_id not in self.installed: self._add_init_task(dep_pkg, task.request, False, self.all_dependencies) + # Add edges for an existing task if it exists + elif dep_id in self.build_tasks: + for parent in dep.dependents(): + parent_id = package_id(parent) + self.build_tasks[dep_id].add_dependent(parent_id) # Clear any persistent failure markings _unless_ they # are associated with another process in this parallel build