android ccache在只读时失败

wfsdck30  于 2023-03-06  发布在  Android
关注(0)|答案(2)|浏览(155)

我正在ubuntu机器上构建android 10。源代码是自定义的,而不是谷歌的。源代码是硬编码的,用于预构建的clang来使用ccache。我已经安装了ccache并添加到bashrc这些变量:
缓存执行=/usr/bin/ccache
高速缓存执行-M 50 G
导出使用缓存=1
chmod和chown the ~/.ccache在构建期间具有相同的结果,实际错误为:
ccache:错误:无法创建目录/home/brandonabandon/.ccache/tmp:只读文件系统。
我无法联系源代码的所有者。我已经尝试禁用ccache,由于最近的硬编码ccache提交,这导致错误进一步。我以前可以构建得很好。我被难倒了一个星期。有什么想法吗?

jq6vz3qz

jq6vz3qz1#

看起来你的ccache和你的源代码在同一个分区上。soong沙盒机制不喜欢这样:(你有两个选择:
1.开始为ccache使用另一个分区/驱动器
1.将当前ccache挂载到另一个分区(例如/mnt)
以下是第二个选项的步骤列表:

sudo mkdir /mnt/ccache
sudo mount --bind /home/<your_current_path>/ccache /mnt/ccache

和所需的env:

export USE_CCACHE=1
export CCACHE_EXEC=/usr/bin/ccache
export CCACHE_DIR=/mnt/ccache
ccache -M 100G -F 0
mqkwyuun

mqkwyuun2#

在我第二次点击这个时,改进这里的公认答案:PS:我以root身份运行

mkdir /mnt/ccache
mount --bind ~/.ccache /mnt/ccache

和env变量同上:

export USE_CCACHE=1
export CCACHE_EXEC=/usr/bin/ccache
export CCACHE_DIR=/mnt/ccache
ccache -M 100G -F 0

此外,我建议使用以下命令将这些放在.profile文件中:

echo -e "\nexport USE_CCACHE=1\nexport CCACHE_EXEC=/usr/bin/ccache\nexport CCACHE_DIR=/mnt/ccache\nccache -M 100G -F 0" >> ~/.profile

相关问题