Como corrigir “/lib/x86_64-linux-gnu/libc.so.6: versão` GLIBC_2.14 'não encontrada ”?

29

Como corrigir este erro:

/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found

Plataforma:

Linux alef 3.2.0-4-amd64 #1 SMP Debian 3.2.35-2 x86_64 GNU/Linux
xliiv
fonte

Respostas:

30

Isso significa que o programa foi compilado com a glibc versão 2.14 e requer que essa versão seja executada, mas seu sistema possui uma versão mais antiga instalada. Você precisará recompilar o programa com a versão do glibc existente no seu sistema ou instalar uma versão mais recente do glibc (o pacote "libc6" no Debian).

O Debian possui o glibc 2.16 no repositório "experimental", mas recompilar o programa é a opção mais segura. Glibc é a biblioteca da qual tudo depende, portanto, a atualização pode ter implicações de longo alcance. Embora provavelmente não haja nada de errado com o pacote glibc 2.16 do Debian, o fato de ele estar no repositório experimental significa que ele não recebeu tantos testes.

Wyzard - Pare de prejudicar Monica--
fonte
4
Essa é uma resposta muito legal e eu entendi cada frase :). Como recompilar (o aplicativo é desenvolvedor do tidesdk) na minha máquina, alguma referência? No entanto, eu vou aceitar esta resposta, legal.
precisa saber é
atualizar para o debian jessie ajudou aqui.
cweiske
5
Isso significa que você precisa exatamente da versão 2.14 da glibc ou pelo menos da versão 2.14?
Philippe
20

Publiquei minha solução aqui , repassá-la para referência.

Na minha situação, o erro aparece quando tento executar um aplicativo (compilado no Ubuntu 12.04 LTS) usando GLIBC_2.14 no Debian Wheezy (que instala o glibc 2.13 por padrão).

Eu uso uma maneira complicada de executá-lo e obtenho o resultado correto:

  1. Download libc6 e libc6-dev do Ubuntu 12.04 LTS

  2. Execute o comando dpkg para instalá-los em um diretório (/ home / user / fakeroot / por exemplo):

    $ dpkg -x libc6-dev_2.15-0ubuntu10.6_amd64.deb /home/user/fakeroot/
    $ dpkg -x libc6_2.15-0ubuntu10.6_amd64.deb /home/user/fakeroot/
    
  3. Execute seu comando com LD_LIBRARY_PATH especificado:

    $ LD_LIBRARY_PATH=/home/user/fakeroot/lib/x86_64-linux-gnu/ YOUR_COMMAND
    
  4. Meu aplicativo usa apenas memcpy () de GLIBC_2.14 e funciona.

Não sei se funcionará com sucesso para outros aplicativos. Desejo útil.

Bin S
fonte
0
apt-get update && apt-get -reinstall install vesta-nginx vesta-php

Isso deve corrigi-lo sem interromper o sistema operacional.  

Ajibola L'Don Jibson Olayanju
fonte
2
Por quê? Você poderia explicar? Como o vestapainel de controle da hospedagem está relacionado à pergunta?
IX3 6/1118