bazelbuild/bazel

Incremental build fails (missing dep declarations for std lib), requires expunge

Open

#11,200 opened on Apr 22, 2020

View on GitHub
 (5 comments) (0 reactions) (0 assignees)Java (4,465 forks)batch import
P4help wantedteam-Documentationteam-Rules-CPPtype: documentation (cleanup)

Repository metrics

Stars
 (25,384 stars)
PR merge metrics
 (Avg merge 22d 20h) (77 merged PRs in 30d)

Description

With incremental builds, I see errors like

ERROR: /usr/local/google/home/gcmn/.cache/bazel/_bazel_gcmn/151032d5e60e04f24eb0914f43c91bbf/external/com_google_absl/absl/base/BUILD.bazel:145:1: undeclared inclusion(s) in rule '@com_google_absl//absl/base:malloc_internal':
this rule is missing dependency declarations for the following files included by 'external/com_google_absl/absl/base/internal/low_level_alloc.cc':
  '/usr/lib/clang/9.0.1/include/stddef.h'
  '/usr/lib/clang/9.0.1/include/stdint.h'
  '/usr/lib/clang/9.0.1/include/limits.h'
  '/usr/lib/clang/9.0.1/include/__stddef_max_align_t.h'
  '/usr/lib/clang/9.0.1/include/stdarg.h'

The specific starting point varies (not always absl), but it's always an include of some std header. Building with RBE worked, so I think it's something specific about the local state. bazel clean was insufficient to fix the issue, but bazel clean --expunge made it go away. Per the instructions at https://docs.bazel.build/versions/master/user-manual.html#the-clean-command, I'm filing a bug.

Please let me know what additional information I can provide, although I suspect some things may be lost now that I've run expunge.

Contributor guide