While debugging (on a 64-bit system), gdb
told me:
warning: the debug information found in "/lib64/ld-2.19.so" does not match "/lib64/ld-linux-x86-64.so.2" (CRC mismatch).
Trying to track down (and resolve) this message led me to:
$ ls -l /lib64/ld-2.19.so /lib64/ld-linux-x86-64.so.2
-rwxr-xr-x 1 root root 140928 Feb 25 12:00 /lib64/ld-2.19.so
lrwxrwxrwx 1 root root 32 Feb 25 11:56 /lib64/ld-linux-x86-64.so.2 -> /lib/x86_64-linux-gnu/ld-2.19.so
$ ls -l -L /lib64/ld-2.19.so /lib64/ld-linux-x86-64.so.2
-rwxr-xr-x 1 root root 140928 Feb 25 12:00 /lib64/ld-2.19.so
-rwxr-xr-x 1 root root 149120 Feb 25 11:56 /lib64/ld-linux-x86-64.so.2
$ for i in /lib64/ld-2.19.so /lib64/ld-linux-x86-64.so.2 /lib/x86_64-linux-gnu/ld-2.19.so ; do dpkg -S $i; done
libc6-amd64: /lib64/ld-2.19.so
libc6:amd64: /lib64/ld-linux-x86-64.so.2
libc6:amd64: /lib/x86_64-linux-gnu/ld-2.19.so
$ for i in libc6-amd64 libc6:amd64 ; do
> apt-cache policy $i
> apt-cache search $i
> done
libc6-amd64:i386:
Installed: 2.19-0ubuntu6.6
Candidate: 2.19-0ubuntu6.6
Version table:
*** 2.19-0ubuntu6.6 0
500 http://ca.archive.ubuntu.com/ubuntu/ trusty-updates/main i386 Packages
500 http://security.ubuntu.com/ubuntu/ trusty-security/main i386 Packages
100 /var/lib/dpkg/status
2.19-0ubuntu6 0
500 http://ca.archive.ubuntu.com/ubuntu/ trusty/main i386 Packages
libc6-amd64 - Embedded GNU C Library: 64bit Shared libraries for AMD64
libc6:
Installed: 2.19-0ubuntu6.6
Candidate: 2.19-0ubuntu6.6
Version table:
*** 2.19-0ubuntu6.6 0
500 http://ca.archive.ubuntu.com/ubuntu/ trusty-updates/main amd64 Packages
500 http://security.ubuntu.com/ubuntu/ trusty-security/main amd64 Packages
100 /var/lib/dpkg/status
2.19-0ubuntu6 0
500 http://ca.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
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
).
Can anyone explain the difference between these two packages? I am hesitant to remove anything whose name starts with libc
, as I know of many paths to doorstop mode that begin with similar "simple" steps.
libc6:amd64
is your native package never touch that, to see why try thisapt-cache rdepends libc6:amd64
to see all packages which need it.This
libc6-amd64:i386
is weird! AFAIK 32bit system can't run 64bit programs. It is ok to seelibc6-i386:amd64
, butlibc6-amd64:i386
.Checking the packages that relay on it
apt-cache rdepends libc6-amd64:i386
. Only some packages which are basically: compiler, debugger, c libraries. Then it is just a 64bit cross-compile tool-chain prepared for Ubuntu 32bit.So it is useless in your case as you already have an 64bit system. You can remove it but check well the removal list before accept with yes.(you should see almost are
:i386
packages)