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 bem antigos e não são atualizados com muita frequência; meu medo é que um dia ou outro não funcionem mais por falta de alguma biblioteca ou alguma atualização incompatível.
Se o programa é fácil de compilar agora , em um sistema em execução, a solução é útil: tente hackar um pouco o código-fonte e compilá-lo estaticamente --- o executável resultante será grande e não é tão eficiente, mas funcionará no futuro previsível (1). Este parece ser o caso de xfig
e vou tentar o mais rápido possível.
Mas, por exemplo, pdfedit
depende do Qt3, e configurar um sistema para compilar é bastante complexo neste momento. Felizmente, pode ser executado agora, graças ao fato de que a biblioteca necessária não conflitar com nada. Mas isso pode mudar no futuro, então eu gostaria de resolver esse problema:
Como posso criar um binário estático (ou algo similar) se eu tiver um dinâmico e todas as bibliotecas, mas sem código-fonte, no Ubuntu?
Eu procurei por aí. Uma possibilidade é o statifier (2), mas ele tem um monte de problemas com a randomização de endereços , por isso é um não-não. A versão não-livre, Arminho , parece funcionar, mas eu realmente prefiro uma opção de código aberto.
Outra possibilidade é usar o docker ou um sistema de empacotamento similar. Mas todo o tutorial que encontrei é bastante orientado para RedHat ; e, honestamente, bastante complexo para 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 link