Como executar um aplicativo compilado em uma versão mais recente do Ubuntu em um antigo?

2

Eu tenho um aplicativo compilado no Ubuntu 16.04 que depende de muitas bibliotecas, como Qt, boost e muitas outras com a versão que vem com essa versão. No entanto, eu preciso executar este aplicativo em um servidor que está executando o Ubuntu 12.04, e eu não tenho acesso root nele.

Quando tento executar o aplicativo, ele reclama das bibliotecas que estão em versões diferentes ou não existentes.

Para tentar resolver isso, eu copiei todas as bibliotecas que o ldd reporta para uma pasta e tentei executar o aplicativo com LD_LIBRARY_PATH apontando para essa pasta, mas o aplicativo recebeu um sinal de falha de segmentação.

Compilar o aplicativo no Ubuntu 12.04 não é possível, porque estou usando recursos que não estão presentes em versões mais antigas das bibliotecas. Além disso, não estou planejando criar bibliotecas mais novas no sistema antigo.

Então, minha pergunta é: como posso executar um aplicativo que está sendo compilado em uma nova versão do Ubuntu, em uma versão antiga do Ubuntu?

    
por Fernando 18.08.2017 / 21:47

1 resposta

2

A solução mais fácil?

Crie um servidor Ubuntu 12 que replique o servidor Ubuntu 12 necessário para executar seu aplicativo e compile uma versão nesse servidor.

Como não há como cobrir tudo - mesmo se você tiver todos os objetos compartilhados corretos, a interface do kernel provavelmente será diferente.

    
por 18.08.2017 / 21:52