De vez en cuando, es posible que quieras o necesites compilar un programa a partir del código fuente. Esto implica compilar código C o C ++ que podemos ejecutar en Linux.
Dependiendo del software que desees compilar, a menudo es innecesario hacerlo. Esto se debe a que tu distribución probablemente tendrá la forma binaria del programa ya en los repositorios de software. De hecho, debes elegir los paquetes binarios sobre la compilación desde el origen. Una razón es que podría presentar problemas para tu sistema. Sin embargo, si alguna vez llega el momento en que necesitas compilar desde el origen, esta guía te dará algunos consejos básicos.
Un ejemplo típico
Tomemos un programa escrito en C o C ++. La descarga del código fuente a menudo implica descargar y desempaquetar un paquete ( a menudo un tarball ) o clonar un repositorio de git. El método de operación típico es la ejecución de estos tres comandos:
$ ./configure
$ make
$ sudo make install
El primer comando ejecuta el script de configuración que analiza las bibliotecas instaladas en tu sistema. Si una biblioteca requerida no está instalada, informará y deberás instalarla. No solo necesitarás la biblioteca instalada, sino que también los archivos de desarrollo deben estar presentes. Los archivos de código fuente usan la funcionalidad que se encuentra en estas bibliotecas.
Después de ejecutar el comando de configuración, debe tener un Makefile presente. Al ejecutar ‘make’, leerá el Makefile en el directorio actual y comenzará a ejecutar el compilador ( gcc para C, o g ++ para C ++ ) para compilar el software.
El tercer comando no es estrictamente esencial, pero se recomienda para el acceso a todo el sistema, que ejecuta el ejecutable desde cualquier lugar de la terminal. Este comando le dice a ‘make’ que ejecute las instrucciones para instalar el programa en el sistema.
Los archivos INSTALL o README
Puede haber instrucciones adicionales que se deben completar antes de comenzar la compilación. La lectura de este archivo ( generalmente INSTALAR ) también debe revelar qué bibliotecas de desarrollo pueden necesitar instalarse primero. Dichos paquetes contendrán el sufijo “-dev” para indicar que estos son los encabezados de desarrollo y deben estar instalados. La secuencia de comandos de configuración también puede requerir parámetros adicionales. README contendrá cualquier otra información.
Incluso puedes encontrar que ninguno de los tres comandos se ejecuta durante todo el proceso. Incluso se podrían usar variaciones de make como qmake ( para proyectos Qt ) o cmake en su lugar.
Instalar un programa GitHub
Comencemos por instalar un editor de texto llamado wxMEdit, que se encuentra en GitHub. Aquí demuestro cómo instalar un programa compilando desde la fuente. Este es un ejemplo casi típico del alcance de esta guía. Si visitas el repositorio de GitHub, verás que el archivo Readme contiene detalles sobre la aplicación. No hay instrucciones de compilación por lo que se aplica la secuencia estándar, con una diferencia: autogen.sh.
Primero, cambiamos a donde deseamos almacenar el repositorio en el terminal y clonarlo:
$ cd wherever
$ git clone git://github.com/wxMEdit/wxMEdit.git
Autogen.sh
Si encuentras este archivo en el código fuente, debes ejecutarlo primero antes de “./configure”, ya que esto le permitirá realizar tareas que permitirán compilar el software correctamente. Si eso es exitoso, puedes ejecutar “./configure”, “make”, y luego “sudo make install”, y cualquier otra cosa que necesites ejecutar (en este caso, nada más).
$ ./autogen.sh
$ ./configure
$ make
No deberías ver errores en la salida de make.
$ sudo make install
Solución de problemas
Si lo haces regularmente, es probable que encuentres ciertos problemas al compilar desde la fuente.
Bibliotecas perdidas
Recuerda, no es suficiente que se instalen las bibliotecas binarias; los archivos fuente o los encabezados de desarrollo también deben estar instalados. El script de configuración, junto con la documentación, por lo general te alertará de cualquier biblioteca (Encabezados de desarrollo) que necesites instalar para una compilación exitosa.
Asegúrate de que estén instalados en tu sistema.
Conclusión
Compilar software puede ser bastante simple o bastante complicado. Afortunadamente, muchas distribuciones de Linux proporcionan paquetes binarios listos para instalar, por lo que no suele ser necesario compilar desde el origen. Es mejor seguir con los paquetes binarios provistos de los repos.
Comments