He leído ultimamente:
Este artÃculo se explica la forma "manual" de compilar el KDE, es decir, descargar y compilar
cada módulo por separado. Normalmente este mecanismo sólo lo vamos a utilizar si somos desarrolladores
porque incluso aunque queramos compilar KDE si no lo somos tenemos una alternativa mucho más cómoda y sencilla
como konstruct, asà que si lo único que nos interesa es compilar KDE (no vamos a desarrollar sobre el) aconsejo
saltar directamente a la sección sobre el mismo.
Como vamos a obtener las fuentes de KDE3 a través del CVS necesitaremos tener en
nuestro directorio de usuario un fichero .cvsrc con el siguiente contenido:
cvs -z4 -q diff -u3 -p update -dP checkout -P
Una vez hemos guardado este fichero, crearemos un directorio donde ir descargando los
distintos módulo de KDE3, por ejemplo 'fuentes', cambiamos a ese directorio y
creamos un nuevo archivo llamado, por ejemplo, 'kdecosas', con el siguiente contenido:
export CVSROOT=:pserver:anonymous@anoncvs.kde.org:/home/kde export KDEDIR=/usr/local/kde3 export QTDIR=/usr/local/qt-copy export MANPATH=$QTDIR/doc/man:$MANPATH export PATH=$QTDIR/bin:$KDEDIR/bin:$PATH export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH export YACC='byacc -d'
Este archivo lo utilizaremos para activar una serie de variables de entorno cada vez que
vayamos a realizar una operación con las fuentes y/o utilizar KDE3. Como puede verse
lo primero que hace es especificar el servidor de CVS que vamos a utilizar, la variable
de entorno que indica la localización del KDE (en este caso vamos a instalar KDE3 en
el directorio /usr/local/kde3), la localización de la librerÃa Qt, y antepone nuevas
rutas a las existentes para páginas man, binarios y bibliotecas.
Descargas las fuentes es fácil, básicamente consiste en hacer 'cvs co modulo' siendo 'modulo'
el nombre del módulo que queremos descargar en el CVS. Como mÃnimo vamos a necesitar
los módulos qt-copy, kdesupport, arts, kdelibs y kdebase asà que hacemos:
cd fuentes source kdecosas cvs co qt-copy cvs co kdesupport cvs co arts cvs co kdelibs cvs co kdebase
Cada uno de los 'co' se tomará su tiempo, asà que será mejor tomárselo con calma mientras
se bajan todas las fuentes. Existen más módulos aparte de estos tres; para saber el
nombre de todos los módulos de los que dispone el CVS podemos escribir 'cvs co -c'. Algunos de
los módulos más comunes son: kdemultimedia, kdenetwork, kdepim, kdeutils, kdetoys,
koffice y quanta. Pero de momento con los indicados nos bastará para ir empezando.
En primer lugar hay que indicar que es _muy probable_ que si utilizamos
una distribución reciente, o una que se pueda actualizar por internet a
paquetes recientes (como Debian) es muy posible que no necesitemos
compilar las Qt (en Debian inestable certifico que no es necesario en
absoluto) sino que puede bastar con instalar los paquetes binarios y de
desarrollo (-dev) de estas librerÃas proporcionados para nuestra
distribución (y si estas no son lo bastante recientes, el ./configure
del primer módulo que vayamos a compilar nos avisará de ello). Si
podemos evitar compilar las Qt, mejor que mejor, porque son con
diferencia el módulo que más tarda de todo el proceso.
Si en cualquier caso nos decidimos por (o no nos queda más remedio que)
compilar las Qt seguiremos el proceso indicado en el apartado siguiente para el
resto de los módulos de KDE3 pero con un par de salvedades.
La primera es que después de cambiar al directorio qt-copy debemos hacer ejecutar en la
shell 'export QTDIR=$PWD', y utilizar un ./configure con los siguientes parámetros:
./configure -system-zlib -qt-gif -system-libpng -system-libjpeg \ -plugin-imgfmt-mng -thread -no-stl -no-xinerama -no-g++-exceptions
Después hacemos 'make' como siempre, pero en lugar de ejecutar 'make install' haremos un
enlace de la siguiente forma:
ln -s qt-copy /usr/local/qt-copy
.
Nota para usuarios de Debian: Se necesita libpng-dev versión 1.2 o superior (el paquete
de desarrollo correspondiente a libpng3) para compilar KDE3. Avisados estais.
Hay un par de cosas que tenemos que tener en cuenta antes de ponernos a compilar las fuentes
de KDE3. La primera es que debemos guardar un orden concreto a la hora de compilar, es decir,
tenemos que compilar primero kdesupport, después arts, después kdelibs y después kdebase.
Una vez tengamos estos módulos compilados el resto podremos compilarlo como queramos.
Lo segundo es que no se nos debe olvidar ejecutar el 'source kdecosas' antes de compilar. Nunca.
Asà que una buena solución es poner el contenido de este archivo en nuestro .bashrc o .bash_profile, pero si queremos seguir ejecutando KDE2 debemos mantenerlo separado.
Para empezar a compilar cada módulo nos introducimos en el directorio que lo contiene (el que
se habrá creado al hacer el checkout, por ejemplo 'cd kdesupport'), ejecutamos el comando
'make -f Makefile.cvs' seguido de './configure', seguido de 'make' y 'make install' (el último
normalmente como root). Si también hemos compilado las Qt nosotros
mismos para evitar disgustos lo mejor es pasarle los parámetros al
configure: --with-qt-dir=, --with-qt-includes= y --with-qt-libraries=
apuntando respectivamente al directorio donde hemos compilado las Qt, a
su subdirectorios 'includes' y a su subdirectorio 'libs'. Mucho ojo
con esto, o nos podemos volver loco. Si al compilar da muchos errores de
'undefined reference to blablabla' es probáblemente este problema,
especialmente si tenemos otra versión de las Qt instaladas,
probáblemente de nuestra distribución, junto a las
que hemos compilado, no hay ningún problema en tener más de una versión
de las Qt (mientras pongamos las variables de entorno adecuada), pero es
importante que no se nos olvide lo anterior. Otro motivo para no
compilar las Qt, sino utilizar las de nuestra distribución, si podemos.
Si todo ha ido bien KDE3 deberÃa compilarse e instalarse en /usr/local/kde3. Si no ha ido bien,
normalmente habrá fallado en el ./configure porque nos falte alguna librerÃa de desarrollo.
Si la información que nos muestra el configure al fallar no es suficiente podemos examinar el
archivo config.log que contiene un log de todos los pasos realizados por este script. Una vez
hayamos instalado la biblioteca que nos faltase debemos borrar el archivo config.cache antes
de volver a ejecutar el ./configure.
¿Cuanto tarda en compilar KDE3? Bueno... bastante. No lo he cronometrado pero los módulos
mencionados pueden tardar fácilmente tres o cuatro horas en un Athlon XP 1700+. El módulo más
bestia es sin duda las Qt, pero por suerte no suele ser necesario que las recompilemos cada
vez que queramos actualizar nuestro KDE3 al último CVS. Lo más inteligente será dejar que el
ordenador trabaje mientras dormimos o no lo utilizamos (y no actualizar el CVS cada dÃa, claro ;).
En cualquier caso no seais animales cronometrad cuanto os tarda aproximádamente en compilar
cada módulo y haceos un script que lo haga todo sólo a partir de la primera compilación-vigilada con éxito
que siga el siguiente esquema:
Fácil, ¿verdad?
Para los curiosos aquà pongo unas muestras de lo que pueden tardar algunos módulos en mi sistema
(mientras hago otras cosas, Athlon-XP 1700+):
Una vez hayamos compilado los módulos necesarios, podremos ejecutar KDE3 haciendo el consabido
'source kdecosas' para después sustituir en nuestro .xinitrc la llamada al gestor de ventanas
o de escritorio que estemos utilizando por '/usr/local/kde3/bin/startkde'. Para mayor comodidad
si vamos a utilizar siempre KDE3 podemos realizar el source desde el propio .xinitrc.
Como se explicó al principio de este documento, este método sólo nos va a ser realmente válido si
somos desarrolladores que necesitemos actualizar casi diariamente el CVS y vamos a programar sobre el.
Si simplemente queremos tener un KDE compilado (por ejemplo porque no nos guste el que proporciona nuestra
distribución) tenemos alternativas mucho mejores que la explicada anteriormente: Konstruct nos va a permitir compilar una versión
especÃfica de KDE (estable o alfas y betas) tan sólo cambiando un par de lineas de un fichero de configuración
y ejecutando un comando.
SÃ he dicho ejecutando un comando, no me he vuelto loco. En realidad el mecanismo a seguir serÃa
el siguiente:
Ahora instalamos las traducciones metiéndonos en el directorio i18n/kde-i18n-es (o kde-i18n-idioma) y ejecutamos make install de nuevo.
Finalmente para que el sistema use el nuevo KDE añadiremos el fichero .bashrc de nuestro directorio de usuario lo siguiente:
export KDEDIR=/opt/kde export KDEDIRS=~/opt/kde export LD_LIBRARY_PATH=/opt/kde:$LD_LIBRARY_PATH export PATH=/opt/kde:$PATH export QTDIR=/opt/kde
Sustituyendo "/opt/kde" por el directorio que le hayamos indicado al gar.conf.mk si fuera necesario.