在安装Android-EABI工具链时,我可以覆盖/ usr中的文件吗?

时间:2014-05-23 12:40:36

标签: linux gcc android-ndk cross-compiling

我刚刚下载了Android NDK,并希望将GCC交叉编译工具链复制/安装到 / usr 文件夹(我还有其他交叉编译器)。这些是工具链forlder的内容:

$ ls
4,0K drwxr-xr-x 4 carles carles 4,0K  2014-gen-16  18:13:44 arm-linux-androideabi/
4,0K drwxr-xr-x 2 carles carles 4,0K  2014-mar-01  01:57:40 bin/
4,0K drwxr-xr-x 2 carles carles 4,0K  2014-gen-16  18:13:46 include/
4,0K drwxr-xr-x 3 carles carles 4,0K  2014-gen-16  18:14:15 lib/
4,0K drwxr-xr-x 2 carles carles 4,0K  2014-gen-16  18:14:24 lib32/
4,0K drwxr-xr-x 2 carles carles 4,0K  2014-gen-16  18:14:15 lib64/
4,0K drwxr-xr-x 3 carles carles 4,0K  2014-gen-16  18:13:46 libexec/
4,0K drwxr-xr-x 3 carles carles 4,0K  2014-gen-16  18:14:24 share/
 20K -rw-r--r-- 1 carles carles  18K  2014-gen-16  18:14:24 COPYING
 28K -rw-r--r-- 1 carles carles  26K  2014-gen-16  18:14:24 COPYING.LIB
4,0K -rw-r--r-- 1 carles carles 2,6K  2014-gen-16  18:14:25 SOURCES

要在 / usr 中安装,我就这样做了:

$ cp * /usr -uvir 

结果我发现有些文件与此副本有冲突。特别是,cp会询问是否覆盖以下文件:

cp: voleu sobreescriure «/usr/share/gdb/python/gdb/types.py»? n
cp: voleu sobreescriure «/usr/share/gdb/python/gdb/command/pretty_printers.py»? n
cp: voleu sobreescriure «/usr/share/gdb/python/gdb/command/__init__.py»? n
cp: voleu sobreescriure «/usr/share/gdb/python/gdb/printing.py»? n
cp: voleu sobreescriure «/usr/share/gdb/python/gdb/__init__.py»? n
cp: voleu sobreescriure «/usr/share/gdb/syscalls/mips-o32-linux.xml»? n
cp: voleu sobreescriure «/usr/share/gdb/syscalls/sparc-linux.xml»? n
cp: voleu sobreescriure «/usr/share/gdb/syscalls/mips-n32-linux.xml»? n
cp: voleu sobreescriure «/usr/share/gdb/syscalls/ppc-linux.xml»? n
cp: voleu sobreescriure «/usr/share/gdb/syscalls/amd64-linux.xml»? n
cp: voleu sobreescriure «/usr/share/gdb/syscalls/i386-linux.xml»? n
cp: voleu sobreescriure «/usr/share/gdb/syscalls/sparc64-linux.xml»? n
cp: voleu sobreescriure «/usr/share/gdb/syscalls/gdb-syscalls.dtd»? n
cp: voleu sobreescriure «/usr/share/gdb/syscalls/ppc64-linux.xml»? n
cp: voleu sobreescriure «/usr/share/gdb/syscalls/mips-n64-linux.xml»? n

我总是回答哪些问题。现在我做了一些diff后我发现虽然其中一些文件基本上为我的文件添加了额外的行,但是其中一些(如果不是全部的话)会改变小变量和名称。

你认为覆盖它们是个好主意吗?如果没有,arm-linux-androideabi-gcc仍然有用吗?

1 个答案:

答案 0 :(得分:2)

将二进制文件放在他们不期望的路径中并不是一个好主意。

相当多的软件包将./configure命令行的路径编译到可执行文件中,因此可以轻松找到其他资源。所以你的gcc是否有效是值得怀疑的。

您列出的文件都属于 gdb 调试程序。如果这些文件确实更新,那么XML数据文件应该可以安全覆盖,但也可能是因为您使用的是旧版本。如果变化很小,Python文件也应该是安全的 - 这些主要关注变量在调试器中的打印方式;这可能对某些字符串类型有用。

这些组都不应该对调试至关重要,所以无论哪种方式都应该没问题。