2017-06-07 95 views
0

我们巴泽勒构建抱怨作为巴泽尔抱怨依赖于系统头文件

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。

回答

1

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

如果你使用内建的Bazel自动配置,你能确保Bazel没有使用其他的gcc吗? Bazel电话cc -E -xc++ - -v找到所有的内置目录,你预计这工作吗?另外,Bazel检查是否设置了CC环境变量,如果是,则会从那里获取编译器。

0

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

原因是Bazel开发期间GCC的升级。