Во время отладки (в 64-битной системе) gdb
сказал мне:
warning: the debug information found in "/lib64/ld-2.19.so" does not match "/lib64/ld-linux-x86-64.so.2" (CRC mismatch).
Попытка отследить (и разрешить) это сообщение привела меня к:
$ 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
Таким образом, libc6-amd64
означает libc6-amd64:i386
и описывает себя как «Встроенная библиотека GNU C: 64-битные общие библиотеки для AMD64», тогда как libc6:amd64
- libc6
и описывает себя как «Встроенная библиотека GNU C: общие библиотеки» (через dpkg -L
).
Кто-нибудь может объяснить разницу между этими двумя пакетами? Я не решаюсь удалить что-либо, чье имя начинается с libc
, так как я знаю о многих путях к режиму остановки, которые начинаются с аналогичных «простых» шагов.
libc6:amd64
Ваш собственный пакет, никогда не касаются этого, для наблюдения, почему попытка это apt-cache rdepends libc6:amd64
для наблюдения всех пакетов, для которых нужен он.
Это libc6-amd64:i386
странно! Система AFAIK 32 битов не может запустить программы на 64 бита. Нормально видеть libc6-i386:amd64
, но libc6-amd64:i386
.
Проверка пакетов, что реле на нем apt-cache rdepends libc6-amd64:i386
. Только некоторые пакеты, которые являются в основном: компилятор, отладчик, c библиотеки. Затем это - просто набор инструментальных средств кросс-компиляции на 64 бита, подготовленный к Ubuntu 32bit.
, Таким образом, это бесполезно в Вашем случае, поскольку у Вас уже есть система на 64 бита. Можно удалить его, но проверить хорошо список удаления, прежде чем примут с да. (необходимо видеть, почти :i386
пакеты)
sudo apt-get remove libc6-amd64:i386