-
Notifications
You must be signed in to change notification settings - Fork 4.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bad incremental build after APT update: undeclared inclusions #9213
Comments
I need to expunge this cache to proceed with my work, but I have (note to self: |
My hunch is that this only happens with auto-configured toolchains. Those are essentially non-hermetic, so an OS update can break us in cache-poisoning ways. The best short term solution is |
I used
This is the same output that I see when I build a
Does this mean that the default toolchains as of Bazel 0.28.1 are |
Yes, the entire I'm not sure what we can do about the actual error: @hlopko and @lberki, is there anything we can do to checksum the compiler state and invalidate it when the local compiler is updated? |
There is no such support in Starlark repositories, but @aehlig |
This will happen in https://bazel-review.googlesource.com/c/bazel/+/111372 However, to keep the property that bazel at HEAD can be built with the latest released bazel, this change will only be submitted after the release of bazel 0.29.0 (which will be the first bazel release containing the concept of configure rules). |
@katre Watching the compiler binary for changes is not enough: the compiler calls other programs, or might even be wrapper itself; auto-configured tool chains also depend on other files like, as in this case, the location of standard header files. So, a complete check would basically mean rerunning the auto-configuration rules unconditionally. This, however, is too expensive to do at every build (think of the time, an |
So that the auto configuration can be re-done by `bazel sync --configure`. Related to #9213. Change-Id: Ibc93015d094416a92a969e2d3656d142e6ff850b PiperOrigin-RevId: 266099342
Is there a workaround for this issue? I've tried |
Can it be that you're using local disk cache or remote cache? If so, #9296 applies to you. Have you tried Bazel 0.29.1? |
I'm on 0.29.1 now and ran |
|
There seems to be a Bazel issue which can be resolved by expunging the cache: bazelbuild/bazel#9213
There seems to be a Bazel issue which can be resolved by expunging the cache: bazelbuild/bazel#9213
There seems to be a Bazel issue which can be resolved by expunging the cache: bazelbuild/bazel#9213
There seems to be a Bazel issue which can be resolved by expunging the cache: bazelbuild/bazel#9213
Hi there! We're doing a clean up of old issues and will be closing this one. Please reopen if you’d like to discuss anything further. We’ll respond as soon as we have the bandwidth/resources to do so. |
Description of the problem / feature request:
Building a tree that worked fine yesterday now fails with this error:
These four include files are provided by
libgcc-8-dev:amd64
, which wasupdated this morning between the successful build and the failing build.
This seems like a probable culprit?
A coworker of mine, @caisq, encountered the exact same failure
yesterday, with the same undeclared inclusions (
@zlib_archive//:zlib
).He ran
bazel clean --expunge
, which resolved the error. But myunderstanding per the
bazel clean
docs is that any case isthat any case in which
bazel clean
changes the output of a build isconsidered a high-priority bug.
Feature requests: what underlying problem are you trying to solve with this feature?
N/A
Bugs: what's the simplest, easiest way to reproduce this bug? Please provide a minimal example if possible.
This is a cache poisoning bug. I cannot reproduce it from a clean state.
If I run
bazel clean --expunge
, the problem will go away. Cloning therepository into a fresh temp directory and building there works fine.
With my cache, running
bazel build //tensorboard
is sufficient totrigger the above error.
What operating system are you running Bazel on?
gLinux (like Debian)
What's the output of
bazel info release
?release 0.28.1
If
bazel info release
returns "development version" or "(@non-git)", tell us how you built Bazel.N/A
What's the output of
git remote get-url origin ; git rev-parse master ; git rev-parse HEAD
?(I don’t use a
master
branch; I work mostly in detached HEAD states.)Have you found anything relevant by searching the web?
I’ve found various related issues:
…but none with an actual solution. Modifying an upstream CROSSTOOL file
clearly isn’t the answer, and the others just seem to suggest running
bazel clean
.Any other information, logs, or outputs that you want to share?
This project uses
--incompatible_use_python_toolchains=false
, but thebuilds from yesterday and today were in the same virtualenv with the
same packages. (Also, this doesn’t look like a Python problem.)
The text was updated successfully, but these errors were encountered: