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
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
Respostas:
A libc
biblioteca GNU no Debian Wheezy é muito antiga para executar o programa que você precisa.
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.
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.
Cada nova versão da libc
biblioteca 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.
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.
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.Y
ou 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_PRELOAD
variá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.