我正在尝试在Debian 9上编译chrome for android并且我收到此错误,有人可以帮我吗?
dacod@phoenix:~/Devel/chromium/src$ ninja -C out/Default cast_shell_apk
ninja: Entering directory `out/Default'
[0/21317] ACTION //third_party/WebKit/Source/bindings/modules/v8:generate...snapshot_external_references(//build/toolchain/android:android_clang_arm)
ninja: error:
WriteFile(__third_party_WebKit_Source_bindings_modules_v8_generate_v8_context_snapshot_external_references___build_toolchain_android_android_clang_arm__rule.rsp):
Unable to create file. File name too long
ninja: build stopped: .
答案 0 :(得分:3)
您正在构建的文件系统不支持足够长的名称大小以容纳150个字符的文件名:
__ third_party_WebKit_Source_bindings_modules_v8_generate_v8_context_snapshot_external_references ___ build_toolchain_android_android_clang_arm__rule.rsp
典型的文件系统将支持255个字符的文件名。这是一个参考:
https://serverfault.com/questions/9546/filename-length-limits-on-linux
但是,eCryptfs仅支持143个字符文件名,如果它还配置为加密文件名本身[source]。您是否在您的主文件夹中构建并加密了吗?如果是这样,这可能是原因。要检查文件名大小,请在构建文件夹中运行以下命令:
$ getconf NAME_MAX .
143
如果不是255,则可能正在构建ecryptfs分区。尝试在/ tmp中构建,因为它可能没有加密。您可以通过以下方式查看:
$ getconf NAME_MAX /tmp
255