Bazel抱怨系统头文件的依赖关系

时间:2017-06-07 13:28:26

标签: bazel

我们的Bazel构建抱怨为

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。

2 个答案:

答案 0 :(得分:1)

您使用自定义的crosstool吗?如果是,您可以检查cxx_builtin_include_directory消息是否涵盖了这些目录吗?

如果你使用内置的Bazel自动配置,你能确定Bazel没有使用其他一些gcc吗? Bazel调用cc -E -xc++ - -v来查找所有内置目录,你期望这个工作吗?此外,Bazel检查是否设置了CC环境变量,如果是,则从那里开始编译。

答案 1 :(得分:0)

我通过清理Bazels临时文件解决了这个问题。

原因是在Bazel开发过程中升级了GCC。