Debian 7: versão `GLIBC_2.15 'não encontrada

-1

Eu queria jogar com meus amigos particulares em um servidor Unturned dos meus amigos VPS com o Debian 7. Instalei-o de acordo com as instruções , mas quando inicio o servidor, isso aparece .

Por favor ajude, obrigado

Tim3Game
fonte

Respostas:

0

Resposta curta

A libcbiblioteca GNU no Debian Wheezy é muito antiga para executar o programa que você precisa.

Resposta longa

  1. Essa biblioteca C padrão amplamente usada, GNU libc("glibc" para abreviar)), tenta manter a compatibilidade com aplicativos antigos enquanto continua avançando em termos de recursos implementados.

  2. Para tornar isso possível, ele versão seus "símbolos".

    Símbolos são nomes de funções e variáveis ​​que uma biblioteca "exporta" - disponibiliza para o código do programa que "se vincula" à biblioteca.

  3. Cada nova versão da libcbiblioteca GNU que obtém certas alterações nos símbolos que exporta, obtém uma entrada específica na tabela de símbolos que identifica uma versão em particular dessa biblioteca. Você pode pensar nisso como um "identificador" para um conjunto de recursos garantidos específico fornecido por esta biblioteca.

    Isso é feito de forma transparente pelo compilador que vincula o código de um programa compilado à glibc.

  4. Qualquer compilador usado para compilar e vincular seu programa funcionou em um sistema com o glibc 2.15 instalado e, portanto, o programa resultante agora "deseja" o glibc 2.15 ou superior.

Agora veja qual versão glibc minha Debian Jessie (8.0) possui:

$ apt-cache policy libc6
libc6:
  Installed: 2.19-18+deb8u4
  Candidate: 2.19-18+deb8u4
  Version table:
 *** 2.19-18+deb8u4 0
        500 http://http.debian.net/debian/ jessie/main amd64 Packages
...

Mas se observarmos o que o Wheezy possui , veremos que são 2,13 - dois lançamentos de pontos "antes" da versão que seu programa precisa.

O que fazer sobre isso?

Se a reconstrução deste programa não for possível (acredito que não), você terá apenas duas opções:

  • De alguma forma, vinculando uma glibc mais recente ao sistema e fazendo o programa "vê-lo".

    Em teoria, deve ser possível criar uma glibc mais recente, configurando-a no processo de maneira a que seja instalada em um local fora do padrão - como abaixo /opt/glibcX.You algo assim.

    Com uma versão mais recente da glibc disponível, você pode empregar um "truque" padrão para fazer seu programa usar a biblioteca não padrão: a LD_PRELOADvariável de ambiente. Algo assim:

        $ LD_PRELOAD=/opt/glibcX.Y/libc6.so ./myprogram
    
  • Atualize sua instalação Debian.

Se você não gosta muito de construir coisas e mexer em máquinas de baixo nível, a segunda opção é provavelmente uma maneira mais simples de resolver o problema em questão.

kostix
fonte