Confuso sobre os pacotes libc6-amd64 e libc6: amd64

1

Durante a depuração (em um sistema de 64 bits), gdb me disse:

warning: the debug information found in "/lib64/ld-2.19.so" does not match "/lib64/ld-linux-x86-64.so.2" (CRC mismatch).  

Tentar localizar (e resolver) esta mensagem levou-me a:

$ 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  

Então libc6-amd64 é libc6-amd64:i386 e se descreve como "Biblioteca GNU C Embutida: 64bit Bibliotecas compartilhadas para AMD64", enquanto libc6:amd64 é libc6 e se descreve como "Biblioteca GNU C Embutida: Bibliotecas compartilhadas" ( via dpkg -L ).

Alguém pode explicar a diferença entre esses dois pacotes? Eu hesito em remover qualquer coisa cujo nome comece com libc , pois sei de muitos caminhos para o modo doorstop que começam com etapas "simples" semelhantes.

    
por waltinator 13.08.2015 / 00:59

1 resposta

1
  • libc6:amd64 é o seu pacote nativo que nunca toca nisso, para ver por que experimentar este apt-cache rdepends libc6:amd64 para ver todos os pacotes que precisam dele.

  • Este libc6-amd64:i386 é estranho! O sistema AFAIK 32bit não pode executar programas de 64 bits. Não há problema em ver libc6-i386:amd64 , mas libc6-amd64:i386 .

    Verificando os pacotes que retransmitem nele apt-cache rdepends libc6-amd64:i386 . Apenas alguns pacotes que são basicamente: compilador, depurador, bibliotecas c. Então é apenas uma cadeia de ferramentas cross-compile de 64 bits preparada para o Ubuntu 32bits.

    Portanto, é inútil no seu caso, como você já tem um sistema de 64 bits. Você pode removê-lo, mas verifique bem a lista de remoção antes de aceitar com yes (você deve ver quase :i386 packages)

    sudo apt-get remove libc6-amd64:i386
    
por user.dz 24.09.2015 / 17:58