Ubuntu libc6:i386和libc6-i386之间有什么区别

Ubuntu libc6:i386和libc6-i386之间有什么区别,ubuntu,libc,Ubuntu,Libc,我正在使用Ubuntu 14.04.2 LTS\n\l 这是我安装的libcs $ dpkg --list | grep libc6 ii libc6:amd64 2.19-0ubuntu6.7 amd64 Embedded GNU C Library: Shared libraries ii libc6-dbg:amd64

我正在使用Ubuntu 14.04.2 LTS\n\l

这是我安装的libcs

$ dpkg --list | grep libc6
ii  libc6:amd64                                           2.19-0ubuntu6.7                                     amd64        Embedded GNU C Library: Shared libraries
ii  libc6-dbg:amd64                                       2.19-0ubuntu6.7                                     amd64        Embedded GNU C Library: detached debugging symbols
ii  libc6-dev:amd64                                       2.19-0ubuntu6.7                                     amd64        Embedded GNU C Library: Development Libraries and Header Files
ii  libc6-i386                                            2.19-0ubuntu6.7                                     amd64        Embedded GNU C Library: 32-bit shared libraries for AMD64
rc  libc6-x32                                             2.19-0ubuntu6.7                                     amd64        Embedded GNU C Library: X32 ABI Shared libraries for AMD64
但是当我执行$sudo apt安装libdbus-1-3:i386时

出现以下错误

Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libdbus-1-3:i386 : Depends: libc6:i386 (>= 2.10) but it is not going to be installed
 unity-control-center : Depends: libcheese-gtk23 (>= 3.4.0) but it is not going to be installed
                        Depends: libcheese7 (>= 3.0.1) but it is not going to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

我想知道libc6:i386和libc6-i386之间有什么区别?

libc6:i386是i386体系结构内核/系统的libc的i386版本。这用于运行为i386系统构建的软件包,如果您试图在amd64系统上使用i386软件包,则需要此功能。这就是所谓的多拱


libc6-i386是用于amd64系统的32位libc开发包。这不是用于运行软件,而是用于编译和链接32位代码。

在此处添加注释以跟踪此注释。。。哎呀!很高兴知道他们不是苹果对苹果。看起来像这样,但没有回应。很高兴看到它再次出现。如果你得到了一个好的答案,这个问题很可能会被标记为这个问题的重复。我知道这是一个很糟糕的问题,但是:你能解释一下区别吗?当我在amd64上针对i386的libc6链接代码时,我不需要libc6:i386库而不是libc6-i386:amd64库吗?libc6-i386是否包含真正的实现?看起来完全一样。那么,在没有libc6:i386的情况下,理论上我可以在amd64机器上运行i386编译的二进制文件吗?这么多问题,事实上:对我来说,这是不对的。在我的Debian系统上,libc6:amd64的大部分文件位于/usr/lib/x86_64-linux-gnu中。libc-amd64的大部分文件位于/usr/lib64中。文件非常相似:gconv/UTF-32.so、libdl.so.2、libnss_compat-2.28.so、ld-2.28.so等。没有开发头。与dhex的比较表明,尽管存在一些调试符号ID,但某些文件似乎是相同的,而其他文件在几个标志上有所不同,但具有完全相同的二进制布局和大小。您可以在安装了至少一个:i386/-i386的情况下运行i386编译的二进制文件。但别问我如何告诉他们使用正确的身份证。也许他们会自动找到。