我正在尝试在 CentOs6 上使用 EasyBuild 编译 tensorflow,但 Bazel 捕获了错误的 binutils 目录,不幸的是,这是一个硬编码的目录,以错误的汇编程序结束。
如果我尝试为链接器 bazel 修补硬编码的“-B/usr/bin”,稍后会告诉我下面的错误......
"find %(builddir)s/ -type f | grep \"cpp/CROSSTOOL\" | xargs -n 1 sed -i \"s|-B/usr/bin/|-B$EBROOTBINUTILS|\"
错误:损坏的安装:文件 _embedded_binaries/embedded_tools/tools/cpp/CROSSTOOL' 已修改。请删除“安装/c3fbdea9fb934f1ff0d8172c25d0dab2”并重试。(在easybuild/tools/run.py:469 在 parse_cmd_output 中)
我花了一些时间来看看是否有办法跳过那些愚蠢的校验和测试,或者重新计算校验和,但这对用户来说真的不透明。
任何想法如何解决?
是的,将文件的 mtime 设置为未来 10 年:
touch -m -t 202712120101 path/to/file
Run Code Online (Sandbox Code Playgroud)
编辑:Bazel 检查安装文件的 mtimes 的原因是为了避免对其进行意外更改。如果您知道自己在做什么,即故意修补 CROSSTOOL 文件,那么这就是绕过检查的方法。
| 归档时间: |
|
| 查看次数: |
693 次 |
| 最近记录: |