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 无法创建临时文件的主要内容,如果未能解决你的问题,请参考以下文章