martes, 14 de agosto de 2012

Compilación de Software

Con la utilización del scrip de configuración que detecta automáticamente la configuración de un sistema determinado y compila el programa en función de la misma.

El compilador C en un sistema podrá ser gcc o cc. Los  scrips de configuración detectan el compilador que está presente y lo utilizan para compilar el programa.

Antes de compilar software deberá leer los archivos README o INSTALL incluidos en el mismo. Estos archivos tienen instrucciones detalladas de cómo instalar el software, si el software emplea scrips de configuración, solo necesitara los tres comandos siguientes:

Antes de ejecutar dichos comando, necesitamos ubicarnos en el directorios donde se encuentra el software a compilar.
#  ./configure              ßDetecta la configuración, este archivo puede tener otro nombre, ver el archivo README O INSTALL
#  make                      ß Compila el script Make file generado por ./configure
#  make install            ß  Instala el programa y guarda el ejecutable en un directorio como  /usr/local/bin y los archivos de configuración en etc, las bibliotecas compartidas se guardan en /usr/lib/

Si no existe un script de configuración es posible escribir:
#  make
#  make install


En el momento de la compilación un posible problema es localizar las bibliotecas de desarrollo para C y X Windows. Estas bibliotecas se encuentran en:
/usr/lib                            à Para C
/usr/X11R6/lib             à Para X Windows

O pueden encontrase en esta otra ruta
/usr/X11/lib
/usr/X11/include/X11

Podemos modificar el PATH para que el instalador encuntre las blibiotecas en caso que no se intale por falta de librerias
Por consola
Es en memoria y dura mientras la maquina no se reinicie o no se apague
# export PATH=$PATH:/usr/X11R6/lib:/usr/lib

Desde el archivo
Es permanece y su duración es constante. Para esto abra el archivo /etc/profile y al final del archivo inserte :
PATH=$PATH:/usr/X11R6/lib:/usr/lib
export PATH
# source /etc/profile                  ß Recargar el archive profile desde consola o reiniciar maquina


Si compila un programa basado en X, Gnomo, KDE asegúrese de instalar sus bibliotecas de desarrollo. Para aplicaciones de X asegúrese de que también esté instalado el programa xmkmf 

Las bibliotecas de desarrollo están incluidas en forma de un conjunto de paquetes RPM de desarrollo, y suelen incluir la palabra “”Development” o “Develop”, esconveniente escogerlos en el momento de la instalación de Linux.              


PATH
El sistema operativo guarda un conjunto de directorios donde busca los comandos cuando estos van ha ser ejecutados. Este conjunto de directorios se guarda en una variable PATH que se crea al iniciar el sistema. Si un comando no se encuentra en el listado de directorios que almacena la variable PATH, no se ejecutara. Los programas y los comandos se suelen instalar en varios directorios estándares del sistema como: 


/bin
/usr/bin
/usr/X11R6/bin
/usr/local/bin


Sin embargo algunos paquetes guardan sus comandos en subdirectorios que se crean dentro de estos directorios o en un directorio completamente diferente. En estos casos es posible que no pueda ejecutar los comandos porque el sistema no los podrá localizar. Para utilizar estos comandos deberá agregar el directorio al conjunto de directorios que almacena la variable PATH.


La variable PATH se encuentra en el archivo /etc/profile, que es un script que se ejecuta al inicio del sistema y se utiliza para configurar los entornos de trabajo de los usuarios.


Ejemplo:
Si instalamos algún programa XYZ, se instalarán los comandos XYZ en un subdirectorio llamado  /usr/bin/xyz, debe agregar esta ruta al PATH para poder ejecutar los comandos xyz
PATH=$PATH:/usr/bin/xyz

OJO Un directorio esta separado por otro por : y todo el conjunto de directorios están entre “”, además no existen espacios en blanco.

Ejemplos de PATH
# cat $PATH
/usr/local/bin:/usr/bin:/sbin:/usr/sbin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/lib/mit/bin:/usr/lib/mit/sbin

No hay comentarios:

Publicar un comentario en la entrada

Especialistas en sistemas Operativos Linux

Sistematizan a empresas Sistematización a empresas, Agilidad, Seguridad y confianza