Compilando no Ubuntu 12.04 usando a versão mais antiga do glibc

4

Eu estou fazendo um curso de Sistemas Operacionais onde precisamos compilar um programa no Ubuntu 9.10. Este programa não está sendo executado como esperado em versões posteriores do Ubuntu (como 12.04)

A minha pergunta é, como eu posso compilar um programa em C usando o kernel do 9.10 no Ubuntu 12.04 (a mais nova versão)

Instalei uma partição do Ubuntu 9.10 no meu computador para poder usar as bibliotecas de lá. mas, no entanto, gostaria de trabalhar a partir da minha partição 12.04.

Talvez este manual possa ajudar?

    
por jokop 13.03.2012 / 08:44

1 resposta

4

Seria melhor criar um "chroot" para o Ubuntu 9.10 e compilar dentro do chroot.

Há alguns detalhes sobre isso na minha resposta para Criando vários pacotes para implantação em diferentes versões do Ubuntu , mas o procedimento básico é:

  • Use mk-sbuild --name=my-karmic-chroot karmic para criar um novo chroot para o Ubuntu 9.10 (o codinome para 9.10 é "kármico")
  • Use schroot -c my-karmic-chroot para inserir o novo chroot e faça sua compilação

Se você estiver compilando pacotes do Ubuntu, a ferramenta sbuild pode ser usada para automatizar isso.

Note que isto não usa o kernel de 9.10, apenas os componentes do espaço do usuário (incluindo bibliotecas de tempo de execução libc e C). Você ainda estará executando o kernel 12.04. No entanto, você precisa especificamente do kernel 9.10?

Se você realmente precisa do kernel 9.10, você pode usar o virt-manager para configurar uma máquina virtual 9.10 na sua instalação do 12.04. Você pode então fazer login como se fosse uma verdadeira máquina 9.10.

    
por Jeremy Kerr 13.03.2012 / 08:59