Compilando software com as mesmas opções de uma instalação anterior

Compilando software com as mesmas opções de uma instalação anterior

Quero compilar e instalar um software em uma nova VM. O software foi instalado com sucesso em uma VM diferente por um administrador diferente, mas quero duplicar o comando exato com as opções que ele usou. Isso é possível? Aliás, a pasta de onde ele executou ./configureainda está intacta.

Responder1

Se todo o diretório onde ./configurefoi executado anteriormente estiver totalmente intacto, então dentro desse diretório haverá um arquivo chamado config.status. O config.statusarquivo é gerado quando ./configure +argsé executado e registra os argumentos executados. Se quiser fazer tudo exatamente igual e o novo sistema tiver todas as dependências instaladas, você tem várias opções.

  • você pode tar/gzip todo o diretório, copiar o tarball para o novo sistema, descompactá-lo e executar make installpara simplesmente reinstalar os objetos criados anteriormente. Isso deve funcionar se o sistema for semelhante o suficiente (arquitetura/SO).
  • você pode tar/gzip todo o diretório, copiar o tarball para o novo sistema, descompactá-lo e executar o ./config.statusscript para refazer todo o ./configuretrabalho anterior, permitindo que você execute um arquivo make, make test, e make install.
  • você também pode fazer uma compilação completamente limpa usando os argumentos exatos do administrador anterior, executando cp config.status myconfigure, make clean, make distcleane depois executando ./myconfigurepara refazertodoso trabalho.

A última opção funcionaria mesmo se você estivesse alternando entre diferentes distros Linux, ou de Linux para Solaris ou FreeBSD, ou de 32 bits para 64 bits, desde que todas as dependências do software fossem atendidas previamente.

Ao copiar config.statuspara um novo nome de arquivo como myconfigure, você preserva esse arquivo por meio de qualquer comando make clean, ou .make distclean

informação relacionada