我正在尝试使用通过 copr 安装的 Bazel 0.16.1 和通过 DNF 安装的 ccache 3.4.2 在 Fedora 28 上构建 C++ 应用程序。我正在使用默认的 cc_binary 和 cc_library 规则。当我运行 bazel build 命令时,ccache 出现以下错误:
ccache: error: Failed to create temporary file for /home/mwalker/.ccache/tmp/time.stdout: Read-only file system
Run Code Online (Sandbox Code Playgroud)
我可以看到,当我构建时--verbose_failures --sandbox_debug,我们没有安装 ccache tmp 目录 r/w。
那么,如何让 bazel 挂载我的 ccache 目录 r/w,或者如何通过 bazel 告诉 ccache 我的工作区的正确缓存目录所在的位置?
当我在 Ubuntu 18.04 上运行相同的命令时它会成功,所以这让我相信 ccache 以某种方式得到支持。
看起来我的问题的一部分是 ccache 将其编译器驱动程序安装为 gcc。例如which gcc -> /usr/lib64/ccache/gcc。必须显式调用 Ubuntu ccache 上的何处,并且默认工具链未调用它。
Lás*_*zló 11
您可以使用 [1] 将现有目录添加到沙箱中--sandbox_writable_path=<path>。
[1] https://docs.bazel.build/versions/master/command-line-reference.html
| 归档时间: |
|
| 查看次数: |
2193 次 |
| 最近记录: |