Nesse ponto, você está basicamente criando um tarball de uma distribuição Linux inteira. Dependendo das bibliotecas às quais você se conecta, simplesmente incluir a própria biblioteca dinâmica pode não ser suficiente (algumas bibliotecas dependem de módulos de plug-in e outros arquivos externos, que não estão instalados nos mesmos locais, nas mesmas versões, em todas as distribuições). do Linux).
Existem algumas opções para lidar com essas diferenças:
- Distribua o código-fonte do seu programa e deixe as pessoas a quem você está distribuindo, para que os usuários possam compilá-lo por conta própria, em sua distribuição de escolha.
- Re-compile uma versão do seu programa para cada versão diferente de cada distribuição diferente do Linux que você deseja suportar e distribua seu programa em pacotes para essas distribuições e versões.
- Compile seu aplicativo usando vinculação estática, em vez de vinculação dinâmica. Se você vincular a bibliotecas que dependem de módulos ou arquivos externos, isso ainda pode ser problemático.
- Distribua uma imagem de VM de uma distribuição Linux específica que você deseja suportar, que é uma instalação mínima, e tem seu programa instalado por padrão, para fornecer um ambiente completo para executá-la.