Bazel抱怨系统标头文件的依赖性



我们的bazel build抱怨

ERROR: XXX/BUILD:5:1: undeclared inclusion(s) in rule 'YYY':
this rule is missing dependency declarations for the following files included by 'ZZZ.c':
  '/usr/lib/gcc/x86_64-linux-gnu/6/include/stddef.h'
  '/usr/lib/gcc/x86_64-linux-gnu/6/include/stdint.h'.

为什么它抱怨依赖GCC系统标头文件?

我正在使用ubuntu 17.04与GCC 6.3.0。

您是否使用自定义Crosstool?如果是这样,您可以检查这些目录是否由CXX_BUILTIN_INCLUDE_DIRECTORY消息覆盖?

如果您使用内置的Bazel AutoConfiguration,可以确保Bazel不使用其他海湾合作委员会吗?Bazel称cc -E -xc++ - -v查找所有内置目录,您希望这能起作用吗?另外,Bazel检查是否设置了CC环境变量,如果是的,则会将编译器从那里带走。

我通过清理Bazels临时文件解决了它。

原因是在Bazel开发期间对海湾合作委员会的升级。

最新更新