sábado, 30 de noviembre de 2013

Comando Make y Configure


Muchas veces nos hemos preguntado como funciona estos comandos ¿no? por no conocer la mecánica de este funcionamiento se nos ocurre teclear en la terminal algo así

# ./configure…

Terminal : bash: ./configure: No existe el fichero ó directorio



Y piensas: Pero si tengo todo instalado ¿por qué no funciona? intentaré con otro comando

# make

Terminal : make: *** No se especificó ningún objetivo y no se encontró ningún makefile. Alto

¿Qué pasa? a ver otro comando “make install” ¡seguro funciona!

# make install

Terminal : make: *** No hay ninguna regla para construir el objetivo `install’. Alto.

Empiezas alucinar e imaginar cosas extañas como ¡hay un complot! bla, bla bla..

Bueno pues todo esto tiene su por qué, la mayor parte de los paquetes se embarcan con un script de autoconfiguración y a estos scripts se les nombra configure [o config] se tiene un corto número de parámetros en existencia, de los que se disponen todos los scripts de configure, lo interesante de todo esto es que ocurre en términos de programa en programa. Y la característica principal de configure es tener valores especiales para la compilación que estructura configure.

Ahora bien, la opción que desees estructurar para ejecutar el script de configure creará un archivo llamado makefile y el makefile constituye la base de compilación. Si configure falla no tendremos makefile.

El Make se encarga de leer todos los makefiles que el script configure creó, estos archivos le dicen a make cuales archivos compilar y el orden que debe ser compilado, esto es muy importante, ya que podría haber cientos de archivos fuente.

Cuando Make esté trabajando, presentará cada comando que esté ejecutando y todos los parámetros asociados con el.

Aplicación

Si deseas instalar un programa y tienes que compilarlo, supongo que sabes entrar a los directorios, y para ello no debe existir problema alguno [$ cd.. ]. Cuando descargas el archivo en tar. gz u otro, lo descomprimes y entras en el directorio que descargaste a través de la terminal, ahí debe estar el script.

Antes de compilar entre como root y me dirigí a la carpeta principal que descomprimí [carpeta N], para buscar en las otras carpetas y verificar en donde está el script configure.

configure.gif

En ciertos casos no encuentro configure pero si makefile.

make1.gif

Los pasos genéricos son [#./configure, # make y # make install] no está configure lo ejecutamos con make y make install.

Con esto podemos compilar nuestros paquetes para instalarlo, cuando marca errores en compilación suelen ser claros y distintos de modo de que no debes preocuparte si pasas por alto un error, a veces entramos en pánico ya que la mayor parte de los “errores” no reflejan un problema con el propio programa sino por el propio sistema. Estos errores pueden ser producto de permisos inapropiados de los archivos o bien de archivos que no puede encontrar.

Si no tienes mucho éxito en tu compilación e instalación, te sugiero que siempre leas el README [LEAME] e INSTALL [INSTALACIÓN], en readme tiene la descripción del paquete y en install te dice las direcciones para instalar, en ocasiones si no lo encuentras puede que este en docs en readme.1st, a veces varía un poco, lo bonito de todo esto es que puedes ver el código fuente :)

Tip: Para que funcione correctamente ./configure tienes que verificar en el synaptic si tienes instalado libncurses, libncurses-dev [debian] y build-essential. Esto también se aplica en ubuntu porque fue creado en Debian, mas detalles sobre make, ya sabes que se encuentra en el manual, de hecho existen varios tipos de make y este es el estándar.

Otra herramienta que se me hace muy interesante para instalar checkinstall, sería algo como #./configure – # make – # checkinstall, “checkinstall” está en synaptic!

¡buen día! o noche o madrugada en fin… en el tiempo que estés. ;)

No hay comentarios:

Publicar un comentario

Los comentarios serán supervisados antes de su publicacion

Related Posts Plugin for WordPress, Blogger...

Entradas populares

LinuxSur.org Img

LinuxSur.org Img