GNU/Linux >> Tutoriales Linux >  >> Linux

Conceptos básicos de la compilación de software a partir del código fuente en Linux

De vez en cuando, es posible que desee o necesite compilar un software/programa a partir del código fuente. Esto implica compilar código C o C++ en algo que podamos ejecutar en Linux. Dependiendo del software que desee compilar, a menudo no es necesario hacerlo. Esto se debe a que su distribución probablemente ya tendrá la forma binaria del programa en los repositorios de software.

De hecho, debe elegir los paquetes binarios en lugar de compilar desde la fuente. Una de las razones es que podría presentar problemas potenciales para su sistema. Sin embargo, si alguna vez llega el momento en que necesita compilar desde la fuente, esta guía le 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 típico de operación 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 su sistema. Si una biblioteca requerida no está instalada, lo informará y deberá instalarla. No solo necesitará la biblioteca instalada, sino que también deben estar presentes los archivos de desarrollo. Los archivos de código fuente utilizan la funcionalidad que se encuentra en estas bibliotecas.

Después de ejecutar el comando de configuración, debería tener presente un Makefile. 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, es decir, ejecutar el ejecutable desde cualquier lugar de la terminal. Este comando le dice a 'make' que ejecute instrucciones para instalar el programa en el sistema.

Los archivos INSTALL o README

Puede haber instrucciones adicionales que deben completarse antes de que pueda comenzar la compilación. La lectura de este archivo (generalmente INSTALL) también debería revelar qué bibliotecas de desarrollo deben instalarse primero. Dichos paquetes contendrán el sufijo "-dev" para indicar que estos son los encabezados de desarrollo y deben instalarse. El script de configuración también puede requerir parámetros adicionales. README contendrá cualquier otra información.

Incluso puede encontrar que ninguno de los tres comandos se ejecuta durante todo el proceso. En su lugar, incluso se pueden usar variaciones de make como qmake (para proyectos Qt) o cmake.

Instalar un programa de GitHub

Comencemos instalando 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 visita el repositorio de GitHub, verá que el archivo Léame tiene 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 la terminal y lo clonamos:

$ cd wherever
$ git clone git://github.com/wxMEdit/wxMEdit.git   

Autogen.sh

Si encuentra este archivo en el código fuente, debe ejecutarlo primero antes de “./configure” ya que esto realizará tareas que le permitirán compilar el software con éxito. Si eso tiene éxito, puede ejecutar "./configure", "make" y luego "sudo make install", y cualquier otra cosa que necesite ejecutar (en este caso, nada más).

$ ./autogen.sh 
$ ./configure 
$ make 

No debería ver errores en la salida de make.

$ sudo make install 

Resolución de problemas

Si lo hace regularmente, seguramente encontrará ciertos problemas al compilar desde la fuente.

Bibliotecas que faltan

Recuerde, 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 le avisará de las bibliotecas (encabezados de desarrollo) que necesita instalar para una compilación exitosa. Asegúrese de que estén instalados en su sistema.

Están instalados y se producen otros errores

Conclusión

Software de compilación puede ser bastante simple o bastante doloroso. Afortunadamente, muchas distribuciones de Linux proporcionan paquetes binarios listos para instalar, por lo que generalmente no es necesario compilar desde la fuente. Es mejor quedarse con los paquetes binarios proporcionados por los repositorios de software proporcionados por su distribución, si están disponibles.


Linux
  1. Los 5 principales repositorios de código fuente

  2. Cómo instalar phpMyAdmin en Linux usando el código fuente

  3. Los 10 mejores software de contabilidad de código abierto para Linux

  4. Inicie instaladores de software en Linux desde Windows usando Cygwin

  5. Guía de instrucciones para instalar PHP5 desde la fuente en Linux

Cómo instalar un programa desde la fuente en Linux

Cómo obtener noticias al instante desde la línea de comandos en Linux

Cómo instalar software desde la fuente en Linux

Cómo compilar el kernel de Linux desde el origen para crear un kernel personalizado

Cómo instalar software desde el código fuente en su sistema Linux

¿Cómo cargar módulos del kernel de Linux desde el código C?