Deixe-me explicar o problema com um exemplo. Eu uso algum programa antigo no meu dia-a-dia, como por exemplo xfig e pdfedit .
Agora, esses programas são bastante antigos e não são atualizados com muita frequência; meu medo é que um dia ou outro eles não funcionem mais por falta de alguma biblioteca ou atualização incompatível.
Se o programa é fácil de compilar agora , em um sistema em execução, a solução é útil: tente hackear um pouco a fonte e compilá-la estaticamente - o executável resultante será grande e não tão eficiente, mas funcionará para o futuro previsível (1). Parece ser esse o caso xfig
e tentarei assim que possível.
Mas, por exemplo, pdfedit
depende do Qt3, e configurar um sistema para compilá-lo é bastante complexo no momento. Felizmente, ele pode ser executado agora, graças ao fato de que a biblioteca de que precisa não entra em conflito com nada. Mas isso pode mudar no futuro, então eu gostaria de resolver este problema:
Como posso criar um binário estático (ou algo semelhante) se tenho um dinâmico e todas as bibliotecas, mas nenhum código fonte, no Ubuntu?
Eu procurei ao redor. Uma possibilidade é o statifier (2), mas há muitos problemas com a randomização de endereços , por isso é um não-não. A versão não gratuita, Ermine , parece funcionar, mas eu realmente preferiria uma opção de código aberto.
Outra possibilidade é usar o docker ou um sistema de empacotamento semelhante. Mas todo o tutorial que encontrei é bastante orientado para o RedHat ; e, honestamente, bastante complexo de seguir.
Notas de rodapé :
(1) não é tão louco. Eu uso um ffmpeg estático, por exemplo, funciona bem e sem problemas de compatibilidade ...
(2) para compilar statifier
, consulte /programming/23498237/compile-program-for-32bit-on-64bit-linux-os-causes-fatal-error