Compilando software con las mismas opciones que una instalación anterior

Compilando software con las mismas opciones que una instalación anterior

Quiero compilar e instalar un software en una nueva VM. Un administrador diferente instaló correctamente el software en una máquina virtual diferente, pero quiero duplicar el comando exacto con las opciones que usó. es posible? Por cierto, la carpeta desde donde ejecutó ./configuretodavía está intacta.

Respuesta1

Si todo el directorio donde ./configurese ejecutó anteriormente está completamente intacto, dentro de ese directorio habrá un archivo llamado config.status. El config.statusarchivo se genera cuando ./configure +argsse ejecuta y registra los argumentos que se ejecutan. Si desea hacer todo exactamente igual y el nuevo sistema tiene todas las dependencias implementadas, tiene varias opciones.

  • puede tar/gzip todo el directorio, copiar el archivo tar al nuevo sistema, descomprimirlo y ejecutarlo make installpara simplemente reinstalar los objetos creados anteriormente. Esto debería funcionar si el sistema es lo suficientemente similar (arquitectura/SO).
  • puede tar/gzip todo el directorio, copiar el archivo tar al nuevo sistema, descomprimirlo y ejecutar el ./config.statusscript para rehacer todo el ./configuretrabajo anterior, lo que le permitirá ejecutar un archivo make, make testy make install.
  • También puedes hacer una compilación completamente limpia usando los argumentos exactos del administrador anterior, ejecutando cp config.status myconfigure, make clean, make distcleany luego ejecutando ./myconfigurepara rehacertodola obra.

La última opción funcionaría incluso si estuviera cambiando entre diferentes distribuciones de Linux, o de Linux a Solaris o FreeBSD, o de 32 bits a 64 bits, siempre que se cumplieran todas las dependencias del software de antemano.

Al copiar config.statusa un nuevo nombre de archivo como myconfigure, conserva ese archivo mediante cualquiera de los comandos make cleano make distclean.

información relacionada