Open OparinE opened 2 weeks ago
I can't reproduce this on my MacBook. Could you provide a complete reproducer, e.g. a zip file or GitHub repo?
@fmeum , thank you for quick response! Well, I double check my issue and result surprised me. First, you are right, issue is not general. It's ok, that you didn't reproduce it.
Second, the root cause of the issue was incorrect list of cxx_builtin_include_directories
passed to the cc_common.create_cc_toolchain_config_info in cc toolchain.
I suddenly passed there output_base
path additionally to the proper include paths. Bazel didn't fire any error, got the path, found all include folders and worked fine (there was no problems with cc targets building).
I fixed this on my cc toolchain and bug was hilled.
However, broken incremental build logic for headers doens't have direct connection with toolchain builtin paths in my mind.
It will be great to have some validation checks for cxx_builtin_include_directories
on bazel side to avoid similar side effects.
And could you please comment possible relations between cxx_builtin_include_directories
and build incrementality?
Description of the bug:
Bazel doesn't rebuild target if changes were made in header files of cc_library
Which category does this issue belong to?
C++ Rules, Core
What's the simplest, easiest way to reproduce this bug? Please provide a minimal example if possible.
I have cc_library target
It contains "lib.cpp", which includes "lib.h"
If I modify
lib.h
, bazel doesn't rebuildfoo
, just finish successfully.Which operating system are you running Bazel on?
MacOS Ventura 13.5
What is the output of
bazel info release
?7.3.2
If
bazel info release
returnsdevelopment version
or(@non-git)
, tell us how you built Bazel.No response
What's the output of
git remote get-url origin; git rev-parse HEAD
?No response
If this is a regression, please try to identify the Bazel commit where the bug was introduced with bazelisk --bisect.
No response
Have you found anything relevant by searching the web?
No response
Any other information, logs, or outputs that you want to share?
Provided example works fine on Linux and Windows