-
Notifications
You must be signed in to change notification settings - Fork 4.4k
C++ dependency pruning is broken for remote execution on Windows #11765
Copy link
Copy link
Closed as not planned
Closed as not planned
Copy link
Labels
P3We're not considering working on this, but happy to review a PR. (No assignee)We're not considering working on this, but happy to review a PR. (No assignee)area-WindowsWindows-specific issues and feature requestsWindows-specific issues and feature requestsstaleIssues or PRs that are stale (no activity for 30 days)Issues or PRs that are stale (no activity for 30 days)team-Rules-CPPIssues for C++ rulesIssues for C++ rulestype: bug
Description
When using remote execution in Windows Bazel will fail with an error of the type
undeclared inclusion(s) in rule "@foo//:bar" this rule is missing dependency declarations for the following files included by "external/foo/bar.cc".
'C:/bot/w/external/foo/bar.h'
...
This is because the dependency pruning code [1] scanning the /showParams output makes the incorrect assumption that source and generated files have a parent folder named 'execroot'. The assumption only holds for local execution without sandboxing. However, in remote execution we can't make any assumptions about the absolute location of files. Bazel doesn't know under which directory path an action is executed on a remote system.
Related #6931
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
P3We're not considering working on this, but happy to review a PR. (No assignee)We're not considering working on this, but happy to review a PR. (No assignee)area-WindowsWindows-specific issues and feature requestsWindows-specific issues and feature requestsstaleIssues or PRs that are stale (no activity for 30 days)Issues or PRs that are stale (no activity for 30 days)team-Rules-CPPIssues for C++ rulesIssues for C++ rulestype: bug