Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What's the difference between libc6:i386 and libc6-i386

Tags:

ubuntu

libc

I'm using Ubuntu 14.04.2 LTS \n \l.

Here are the libcs I installed.

$ 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

But when I do $ sudo apt-get install libdbus-1-3:i386

The following errors show up

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.

I'm wondering what's the difference between libc6:i386 and libc6-i386?

like image 655
zjk Avatar asked May 19 '16 03:05

zjk


People also ask

What is libc6 i386?

libc6:i386 is the i386 version of libc for i386 architecture kernels/systems. This is for running packages built for i386 systems and would be required if you are trying to use i386 packages on an amd64 system. This is called multiarch. libc6-i386 is the 32bit development package of libc for amd64 systems.

What is libc6 amd64?

So libc6-amd64 is libc6-amd64:i386 and describes itself as "Embedded GNU C Library: 64bit Shared libraries for AMD64", while libc6:amd64 is libc6 and describes itself as "Embedded GNU C Library: Shared libraries" (via dpkg -L ).


1 Answers

libc6:i386 is the i386 version of libc for i386 architecture kernels/systems. This is for running packages built for i386 systems and would be required if you are trying to use i386 packages on an amd64 system. This is called multiarch.

libc6-i386 is the 32bit development package of libc for amd64 systems. This is not for running software, its for compiling and linking 32 bit code.

like image 109
bodangly Avatar answered Sep 28 '22 19:09

bodangly