Comparte
Ver el tema anteriorIr abajoVer el tema siguiente
avatar
grupoed2k
colaborador
colaborador
0 / 1000 / 100


Cantidad de envíos : 291
Edad : 36
Perfil : Patience, my friend, is a virtue...

Una cita de Georges Orwell:

Libertad de expresión es el derecho a decir

lo que nadie quere escuchar.

... .... .... .... .... ...
Tú firma Personal :
Barra de Respeto :
0 / 1000 / 100

Reputación : 45
Fecha de inscripción : 14/10/2008
http://grupoed2kmagazine.activoforo.com

default Compilar en Linux ~ desde un principio

el 21/5/2009, 12:27 am
Reputación del mensaje :100% (2 votos)




Empecemos por el principio,


en GNU/Linux los programas se instalan o usando paquetes
o usando el código fuente de los programas
(eso es parte de la Libertad, se tiene acceso al código)

Los paquetes hay de dos tipos:
- los que contienen el código fuente y
- los que contienen los binarios,

los tipos de paquetes más conocidos son los .deb y los .rpm
y se instalan casi como los .exe de windows
(digo casi porque no siempre es así de fácil).




En GNU/Linux la forma más fácil de instalar programas
es utilizando los repositorios cada distro tiene el propio y
lo que se hace con los repositorios es descargar los paquetes e instalarlos todo automáticamente,
así como resolver los problemas de dependencias

Los paquetes tienen la información de en que lugar de el sistema se guardara el binario,
las imágenes, los documentos, los accesos en el menú, etc


Como ven es lo más fácil,
ahora cuando un programa no existe en forma de paquete
o el paquete que existe no está para nuestra distro
o simplemente queremos compilarlo nosotros,
lo que se hace es bajar el código fuente
(un archivo comprimido)
y compilarlo obviamente,
los pasos en cualquier distro siempre son los mismos.

1º primero descomprimimos el archivo y nos genera una carpeta con el nombre de el programa,

2º segundo paso es situarnos en la carpeta creada que contiene todo el código así como las instrucciones,

3º tercer paso y el que muchos se saltan es buscar la documentación
por lo regular un archivo de texto llamado readme o install



que indica los requerimientos para compilar el programa,
así como los pasos a seguir y posibles cambios a realizar antes de compilar.


y una vez leído las instrucciones necesitamos abrir una consola en esa carpeta del código fuente,

no vale si la abrimos en otra dirección, debe ser precisamente en donde se encuentra el código

y ejecutar los pasos ya mencionados,

primero ./configure ahora no todos los programas lo requieren,
por eso es importante leer las instrucciones,
el ./configure, lo que hace es verificar
que tenemos lo necesario para compilar el programa,
y si no es así nos mostrara una serie de errores y
casi siempre genera un archivo con esa información,

si pasamos con exito ./configure,

el siguiente paso es la compilación,

para eso escribimos make,

aquí dependiendo de el programa
y de nuestro procesador el proceso de compilación puede tardar
desde unos minutos, hasta horas,
es por eso que los paquetes nos ahorran tiempo y esfuerzo.


una vez terminado la compilación,
se genera un archivo en la carpeta de el código fuente con el nombre de el programa,

este es el binario, que puede ya ejecutarse desde consola,
pero sólo para el usuario en donde se encuentra el binario,
para instalarlo en el sistema se necesita

el tercer paso que es make install,
en este último paso el binario así como la documentación
y todo lo demás es guardado en la ruta que por lo regular esta establecida
en el archivo de configuración o en un archivo llamado makefile

que se encuentra igualmente en la carpeta que descomprimimos,
por eso es importante leer la documentación,
ya que ahí nos informa todo eso
,
así como si podemos cambiar la ruta predeterminada.


como ven el proceso es muy simple,

lo que provoca confusión y problemas, es que casi siempre
cuando instalamos nuestra distro,
nunca instalamos los compiladores o las librerías necesarias para compilar programas
por lo que vamos de error en error.


Espero que esto les aclare el proceso,

aquí lo importante es si se tiene el tiempo para hacerlo y si vale la pena el esfuerzo,
habiendo gente que ya se tomo la molestia en crear los paquetes.

La mayoría de los paquetes tarball



se instalan de esta manera,
a excepcón de aquellos en donde se especifique lo contrario.
En este caso dentro del paquete encontraras las instrucciones de como instalarlo.

El problema con el típico:

./configure
make
make install

es por lo general con dependencias,
por lo que al instalar un paquete y no tengas las librerías adecuadas
al final te mandara algún tipo de error haciendote la indicación de lo que pasa.

Generalmente cuando bajamos las versiones desde el CVS,
tenemos que correr ./autogen.sh.

Recuerdo que hay otro script que sirve para hacer -> CheckInstall <-
es un paquete de la comunidad Hacker de México que se creo para Slackware

Que utilicé mucho en Ubuntu para saber dependencias

le utilizaba como

./configure
make
make install

Make install Cuando se hace,
va a crear un CheckInstall Slackware, Debian o RPM
paquete compatible
e instalarlo con la Slackware installpkg,
"rpm-i"
o Debian "dpkg-i",

según proceda, para que pueda ver su contenido con pkgtool
( "rpm -ql "para usuarios de RPM o" dpkg-l "de Debian),
o eliminar con removepkg (" rpm-e "|" dpkg-r ").

Adicionalmente,
este script le dejará una copia del paquete instalado
en el directorio fuente para que pueda instalarla donde quieras,

Más->

cuando instalamos algo que está escrito en un lenguaje distinto de C,
generalmente lenguajes interpretados como python, perl, php, bash scripts y tantos otros no hay un

configure
make
make install

si no que generalmente hay un archivo tipo setup.py (para python)
que debe ejecutarse

./setup.py
o
python setup.py




Vía ! EspacioLinux
post 392

CheckInstall
no recuerdo
donde me habían recomendado
(creo.. que es del Foro Ubuntu-es.org)

_________________
________________



_________________________________________________________________________________


Ver el tema anteriorVolver arribaVer el tema siguiente
Permisos de este foro:
No puedes responder a temas en este foro.