2017-06-07 67 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的升級。