Configurar o sistema antigo em um ambiente separado (chroot ou VM) é a maneira mais fácil. (No Debian, o schroot e o debootstrap tornam isso fácil; veja
É possível fazer uma compilação cruzada para versões antigas de bibliotecas: “simplesmente” instale os pacotes de desenvolvimento para essas bibliotecas antigas e aponte seu compilador para elas. Você pode precisar recompilar o próprio compilador para acomodar uma biblioteca padrão mais antiga. A dificuldade está em colocar todos os pacotes de desenvolvimento corretamente instalados e configurados. Você precisa:
- Compile uma biblioteca padrão antiga.
- Compile a biblioteca A, apontando seu compilador para os cabeçalhos e
.a
arquivos produzidos na etapa anterior. (Com o gcc, passe os-nostdinc
e-nostdinc++
opções; outros compiladores normalmente têm sinalizadores semelhantes.) - Repita, seguindo a cadeia de dependências, até compilar seu programa.