bazel 无法创建临时文件

Posted

技术标签:

【中文标题】bazel 无法创建临时文件【英文标题】:bazel Failed to create temporary file 【发布时间】:2018-03-08 17:23:32 【问题描述】:

我已经下载了包含c++ tutorial for bazel 的 git repo,我正在尝试编译示例。 执行命令bazel build //main:hello-world时,出现以下错误:

ccache: error: Failed to create temporary file for /home/username/.ccache/tmp/tmp.cpp_stderr: Read-only file system

因此我尝试了几个操作:sudo bazel,将权限更改为 /.ccache/tmp/ 文件夹,但没有一个有效。我怎样才能摆脱这个错误?

我在 fedora27 上工作。

【问题讨论】:

这能回答你的问题吗? How to get Bazel, ccache, and sandboxing to work together (ccache read only filesystem) 为什么尝试同时使用 ccache 和 Bazel?你会使用冗余缓存,不是吗? 【参考方案1】:

这个错误的原因是使用了ccache并且需要写访问~/.ccache。 请参阅 Ondrej 的评论:Bazel building C++ sample with ccache fails

使用 --sandbox_writable_path ~/.ccache 可以在不禁用沙盒功能的情况下修复该问题。

【讨论】:

【参考方案2】:

使用选项--strategy=CppCompile=standalone 解决:

bazel build //main:hello-world --strategy=CppCompile=standalone

【讨论】:

请记住,此更改将禁用沙盒,这可能不是您真正想要的...

以上是关于bazel 无法创建临时文件的主要内容,如果未能解决你的问题,请参考以下文章

无法创建临时文件夹错误5拒绝访问

word无法创建工作文件 请检查临时环境变量

上传时无法创建临时文件

无法创建 externalDataReference 临时文件

编译时无法创建临时文件

word2010 无法创建工作文件 请检查临时环境变量