(→Resolución de problemas: Fix link) |
|||
| (16 intermediate revisions by 4 users not shown) | |||
| Line 1: | Line 1: | ||
| − | + | ||
{{TutorialBrowser (es)| | {{TutorialBrowser (es)| | ||
| Line 7: | Line 7: | ||
name=Compilar KDE4 desde código| | name=Compilar KDE4 desde código| | ||
| − | pre=[[../../Sources/Anonymous_SVN| | + | pre=[[../../Sources/Anonymous_SVN (es)|Guía rápida de SVN anónimo]]| |
| − | next=[[../../Set_up_KDE_4_for_development| | + | next=[[../../Set_up_KDE_4_for_development|Preparar KDE 4 para el desarrollo]]| |
| − | reading=[[../kdesvn-build|kdesvn-build: | + | reading=[[../kdesvn-build|kdesvn-build: La herramienta para compilación de KDE desde Subversion]]<br>[[../../Increased_Productivity_in_KDE4_with_Scripts|Incrementar la productividad de KDE4 con scripts]]<br>[[Development/Tutorials/CMake |Introducción a CMake]]<br>[[../KDE4/FreeBSD|Notas sobre FreeBSD]]<br>[[../KDE4/Mac OS X|Instrucciones para Mac OS X]]<br>[[../KDE4/Windows|Instrucciones para MS Windows]]| |
}} | }} | ||
| Line 26: | Line 26: | ||
A algunas personas les gusta tener una cuenta de usuario separada para KDE 4 (por ejemplo un bug antiguo eliminó archivos por error), y las instrucciones a continuación se escribieron con esa idea. | A algunas personas les gusta tener una cuenta de usuario separada para KDE 4 (por ejemplo un bug antiguo eliminó archivos por error), y las instrucciones a continuación se escribieron con esa idea. | ||
| − | Sin embargo es mucho más eficiente hacer todo con una sola cuenta de usuario, consulta [[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts| | + | Sin embargo es mucho más eficiente hacer todo con una sola cuenta de usuario, consulta [[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts|Incrementar la productividad de KDE4 con scripts]] |
para más detalles. | para más detalles. | ||
| Line 38: | Line 38: | ||
En Ark Linux y Fedora, puedes omitir el parámetro <tt>-s /bin/bash</tt> - {{path|/bin/sh}} es {{path|bash}}. | En Ark Linux y Fedora, puedes omitir el parámetro <tt>-s /bin/bash</tt> - {{path|/bin/sh}} es {{path|bash}}. | ||
}} | }} | ||
| − | < | + | <syntaxhighlight lang="bash"> |
useradd -m kde-devel -s /bin/bash | useradd -m kde-devel -s /bin/bash | ||
passwd kde-devel | passwd kde-devel | ||
| − | </ | + | </syntaxhighlight> |
| Line 54: | Line 54: | ||
=== Configurar el entorno === | === Configurar el entorno === | ||
| − | Copia el {{path|~/.bashrc}} de tu cuenta de usuario normal a la nueva cuenta kde-devel. Después, copia y pega el contenido del [[Getting Started/Increased Productivity in KDE4 with Scripts/. | + | Copia el {{path|~/.bashrc}} de tu cuenta de usuario normal a la nueva cuenta kde-devel. Después, copia y pega el contenido del [[Getting Started/Increased Productivity in KDE4 with Scripts/.bashrc_(es)|.bashrc de ejemplo]] en {{path|~kde-devel/.bashrc}}. Asegúrate de comentar la línea <tt>alias make=makeobj</tt> si no tienes el comando <tt>makeobj</tt> disponible. Como alternativa, puedes descargar el paquete kde-sdk (o realizar un ''checkout'' de subversion) e incluir el directorio kde-sdk/scripts/ en tu ''path''. Probablemente también quieras modificar el ''path'' para asegurarte de que no incluye tus rutas de kde3. Además si quieres usar KDevelop para desarrollar aplicaciones KDE 4 puedes pasar el flag ''-GKDevelop3'' al comando ''cmake'' (para que CMake genere archivos de proyecto de KDevelop, evitará tener que recompilar en el futuro, mira [[Getting_Started/Set_up_KDE_4_for_development#Setting_up_the_environment_(es)|esto]]). |
Para ejecutarlo, tienes que abrir un nuevo ''bash'' o ejecutar | Para ejecutarlo, tienes que abrir un nuevo ''bash'' o ejecutar | ||
| − | < | + | <syntaxhighlight lang="bash"> |
source ~/.bashrc | source ~/.bashrc | ||
| − | </ | + | </syntaxhighlight> |
Esto permitirá el acceso a comandos como <tt>cmakekde</tt> que se usan en este tutorial, además de asegurar que las rutas apropiadas para Qt, KDE y los binarios de CMake están asignadas. | Esto permitirá el acceso a comandos como <tt>cmakekde</tt> que se usan en este tutorial, además de asegurar que las rutas apropiadas para Qt, KDE y los binarios de CMake están asignadas. | ||
| − | Para más información, por favor lee el tutorial [[Getting Started/Increased Productivity in KDE4 with Scripts]]. | + | Para más información, por favor lee el tutorial [[Getting Started/Increased Productivity in KDE4 with Scripts|Incrementar la productividad de KDE4 con scripts]]. |
=== Cambiar al nuevo usuario === | === Cambiar al nuevo usuario === | ||
Cambia al usuario kde-devel: (no olvides el guión) | Cambia al usuario kde-devel: (no olvides el guión) | ||
| − | < | + | <syntaxhighlight lang="bash"> |
ssh -X kde-devel@localhost | ssh -X kde-devel@localhost | ||
| − | </ | + | </syntaxhighlight> |
{{Note (es)| | {{Note (es)| | ||
| − | Si el comando ssh falla, echa un vistazo a la sección [[Getting_Started/Set_up_KDE_4_for_development# | + | Si el comando ssh falla, echa un vistazo a la sección [[Getting_Started/Set_up_KDE_4_for_development#Launching_KDE_4_apps_(es)|Lanzar aplicaciones de KDE 4]] de la [[Getting_Started/Set_up_KDE_4_for_development_(es)|Guía de desarrollo de KDE4]]. |
}} | }} | ||
| Line 80: | Line 80: | ||
* [[Getting_Started/Build/KDE4/Arch Linux|Arch Linux]] | * [[Getting_Started/Build/KDE4/Arch Linux|Arch Linux]] | ||
* [[Getting_Started/Build/KDE4/Fedora|Fedora]] | * [[Getting_Started/Build/KDE4/Fedora|Fedora]] | ||
| − | * [[Getting_Started/Build/KDE4/Kubuntu and Debian|Kubuntu y Debian]] | + | * [[Getting_Started/Build/KDE4/Kubuntu and Debian (es)|Kubuntu y Debian]] |
| − | * [[Getting_Started/Build/KDE4/ | + | * [[Getting_Started/Build/KDE4/openSUSE_(es)|openSUSE]] |
* [[Getting_Started/Build/KDE4/Gentoo|Gentoo]] | * [[Getting_Started/Build/KDE4/Gentoo|Gentoo]] | ||
| − | * [[Getting_Started/Build/KDE4/ | + | * [[Getting_Started/Build/KDE4/Mandriva_(es)|Mandriva]] |
| − | El próximo paso de la compilación depende de los paquetes que suministre la distro. Las instrucciones para construir todas las dependencias incluyendo HAL, Cmake, Qt4 y kde-support están disponibles en [[Getting_Started/Build/KDE4/Prerequisites|la página de compilación de requisitos previos]]. | + | El próximo paso de la compilación depende de los paquetes que suministre la distro. |
| + | |||
| + | === Compilar qt-copy, HAL etc. === | ||
| + | Si no quieres usar los paquetes suministrados por la distro puedes compilar tú mismo cosas como Qt. | ||
| + | Las instrucciones para construir todas las dependencias incluyendo HAL, Cmake, Qt4 (qt-copy) y kde-support están disponibles en [[Getting_Started/Build/KDE4/Prerequisites|la página de compilación de requisitos previos]]. | ||
| + | |||
| + | == Compilar KDE para desarrollo o para uso estable == | ||
| + | |||
| + | Los comandos de las secciones a continuación sirven para compilar la última versión inestable de KDE desde trunk. No se debería usar en un entorno de producción, pero se recomienda para los desarrolladores. | ||
| + | |||
| + | Para compilar la versión estable de KDE4, sustituye <tt>trunk/KDE/</tt> por <tt>branches/KDE/4.1/</tt> en los comandos de checkout de svn, p.e.: | ||
| + | |||
| + | svn checkout svn://anonsvn.kde.org/home/kde/branches/KDE/4.1/kdelibs | ||
| + | |||
| + | svn checkout svn://anonsvn.kde.org/home/kde/branches/KDE/4.1/kdepimlibs | ||
| + | |||
| + | svn checkout svn://anonsvn.kde.org/home/kde/branches/KDE/4.1/kdebase | ||
| + | |||
| + | etc... | ||
== kdelibs == | == kdelibs == | ||
| Line 93: | Line 111: | ||
=== La receta === | === La receta === | ||
cd | cd | ||
| − | cs # [[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/. | + | cs # [[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc_(es)|'cs' es una función de bash, haz clic aquí para saber más]] |
mkdir KDE && cd KDE | mkdir KDE && cd KDE | ||
| − | svn checkout svn://anonsvn.kde.org/home/kde/ | + | svn checkout svn://anonsvn.kde.org/home/kde/trunk/KDE/kdelibs |
cd kdelibs | cd kdelibs | ||
cmakekde | cmakekde | ||
| Line 121: | Line 139: | ||
=== La receta === | === La receta === | ||
<!--'cs' and 'cb' are NOT typos!--> | <!--'cs' and 'cb' are NOT typos!--> | ||
| − | cs KDE # [[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/. | + | cs KDE # [[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc_(es)|'cs' es una función de bash, haz clic aquí para saber más]] |
| − | svn checkout svn://anonsvn.kde.org/home/kde/ | + | svn checkout svn://anonsvn.kde.org/home/kde/trunk/KDE/kdepimlibs |
cd kdepimlibs | cd kdepimlibs | ||
cmakekde | cmakekde | ||
| Line 131: | Line 149: | ||
=== Resolución de problemas === | === Resolución de problemas === | ||
| − | Para información sobre resolución de problemas, consulta la [[/Troubleshooting#Issues_building_kdepimlibs|sección resolución de problemas de kdepimlibs]]. | + | Para información sobre resolución de problemas, consulta la [[Getting_Started/Build/KDE4/Troubleshooting#Issues_building_kdepimlibs|sección resolución de problemas de kdepimlibs]]. |
== kdebase == | == kdebase == | ||
| Line 142: | Line 160: | ||
:Contiene cosas específicas del escritorio KDE, como Plasma o el gestor de ventanas. La mayoría de ellas depende de X11. Sólo las necesitas si quieres construir un escritorio KDE completo. | :Contiene cosas específicas del escritorio KDE, como Plasma o el gestor de ventanas. La mayoría de ellas depende de X11. Sólo las necesitas si quieres construir un escritorio KDE completo. | ||
| − | Puedes construir todo kdebase de una vez, lo que se describe en la receta debajo. Si sólo quieres construir kdebase-runtime, que es el único requerimiento, puedes reemplazar < | + | Puedes construir todo kdebase de una vez, lo que se describe en la receta debajo. Si sólo quieres construir kdebase-runtime, que es el único requerimiento, puedes reemplazar <syntaxhighlight lang="bash">cd kdebase</syntaxhighlight> con <syntaxhighlight lang="bash">cd kdebase/runtime</syntaxhighlight> en la siguiente receta. |
=== La receta === | === La receta === | ||
<!--'cs' and 'cb' are NOT typos!--> | <!--'cs' and 'cb' are NOT typos!--> | ||
| − | cs KDE # [[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/. | + | cs KDE # [[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc_(es)|'cs' es una función bash, haz clic aquí para saber más]] |
| − | svn checkout svn://anonsvn.kde.org/home/kde/ | + | svn checkout svn://anonsvn.kde.org/home/kde/trunk/KDE/kdebase |
cd kdebase | cd kdebase | ||
cmakekde | cmakekde | ||
=== Resolución de problemas === | === Resolución de problemas === | ||
| − | Para información sobre resolución de problemas, consulta la [[/Troubleshooting#Issues_building_kdebase|sección resolución de problemas de kdebase]]. | + | Para información sobre resolución de problemas, consulta la [[Getting_Started/Build/KDE4/Troubleshooting#Issues_building_kdebase|sección resolución de problemas de kdebase]]. |
== Ejecutar programas de KDE 4 == | == Ejecutar programas de KDE 4 == | ||
| Line 162: | Line 180: | ||
=== Resolución de problemas === | === Resolución de problemas === | ||
| − | Para asuntos relacionados con resolución de problemas consulta [[/Troubleshooting#Running_programs|problemas al ejecutar programas]]. | + | Para asuntos relacionados con resolución de problemas consulta [[Getting_Started/Build/KDE4/Troubleshooting#Running_programs|problemas al ejecutar programas]]. |
== Generar la documentación local del API == | == Generar la documentación local del API == | ||
| Line 172: | Line 190: | ||
Para compilar la documentación del API de kdelibs, escribe lo siguiente: | Para compilar la documentación del API de kdelibs, escribe lo siguiente: | ||
<!--'cs' and 'cb' are NOT typos!--> | <!--'cs' and 'cb' are NOT typos!--> | ||
| − | cs KDE/kdelibs # [[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/. | + | cs KDE/kdelibs # [[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc_(es)|'cs' es una función de bash, haz clic aquí para saber más]] |
$KDE_SRC/KDE/kdelibs/doc/api/doxygen.sh \ | $KDE_SRC/KDE/kdelibs/doc/api/doxygen.sh \ | ||
--doxdatadir=$KDE_SRC/KDE/kdelibs/doc/common . | --doxdatadir=$KDE_SRC/KDE/kdelibs/doc/common . | ||
| − | Repite para otros módulos según desees. | + | Verás que se crea un nuevo subdirectorio llamado {{path|kdelibs-apidocs}}. Simplemente cópialo a donde quieras almacenar la documentación del API. |
| − | + | ||
| + | Repite para otros módulos (p.e. kdepimlibs, kdevplatform, etc) según desees. Por ejemplo: | ||
| + | cs KDE/kdepimlibs | ||
$KDE_SRC/KDE/kdelibs/doc/api/doxygen.sh \ | $KDE_SRC/KDE/kdelibs/doc/api/doxygen.sh \ | ||
--doxdatadir=$KDE_SRC/KDE/kdelibs/doc/common . | --doxdatadir=$KDE_SRC/KDE/kdelibs/doc/common . | ||
Otro método, aún más fácil, consiste en descargar este [[Doxyfile]] al sistema local. Después simplemente cambia al directorio donde quieres crear la documentación y ejecuta | Otro método, aún más fácil, consiste en descargar este [[Doxyfile]] al sistema local. Después simplemente cambia al directorio donde quieres crear la documentación y ejecuta | ||
| − | < | + | <syntaxhighlight lang="bash"> |
% doxygen /ruta/a/Doxyfile | % doxygen /ruta/a/Doxyfile | ||
| − | </ | + | </syntaxhighlight> |
Revisa el archivo {{path|doxygen.log}} para ver los errores y avisos de doxygen. Encontrarás la documentación en el subdirectorio {{path|apidocs}}. | Revisa el archivo {{path|doxygen.log}} para ver los errores y avisos de doxygen. Encontrarás la documentación en el subdirectorio {{path|apidocs}}. | ||
| Line 192: | Line 212: | ||
Por ejemplo: | Por ejemplo: | ||
| − | < | + | <syntaxhighlight lang="bash"> |
cs kdesupport # cs no es una errata | cs kdesupport # cs no es una errata | ||
svn up | svn up | ||
cb # cb no es una errata | cb # cb no es una errata | ||
make install | make install | ||
| − | </ | + | </syntaxhighlight> |
Nota: no es necesario ejecutar cmakekde para las actualizaciones. | Nota: no es necesario ejecutar cmakekde para las actualizaciones. | ||
| Line 203: | Line 223: | ||
== Instalar un subconjunto de un módulo == | == Instalar un subconjunto de un módulo == | ||
| − | Muchos módulos de KDE contienen un gran número de programas que podrían tardar mucho en descargarse y compilarse. En los casos en los que quieras trabajar sólo en un programa o programas en particular de un módulo, es posible descargar y compilar carpetas concretas. En algunos casos, se requieren ciertas carpetas para cualquier compilación del módulo. Esto se determina en el archivo CMakeLists.txt del módulo. Por ejemplo el [http://websvn.kde.org/branches/KDE/4. | + | Muchos módulos de KDE contienen un gran número de programas que podrían tardar mucho en descargarse y compilarse. En los casos en los que quieras trabajar sólo en un programa o programas en particular de un módulo, es posible descargar y compilar carpetas concretas. En algunos casos, se requieren ciertas carpetas para cualquier compilación del módulo. Esto se determina en el archivo CMakeLists.txt del módulo. Por ejemplo el [http://websvn.kde.org/branches/KDE/4.1/kdegames/CMakeLists.txt?view=markup archivo CMakeLists.txt de kdegames] lista: |
| − | < | + | <syntaxhighlight lang="text"> |
add_subdirectory(libkdegames) | add_subdirectory(libkdegames) | ||
add_subdirectory(libkmahjongg) | add_subdirectory(libkmahjongg) | ||
| Line 212: | Line 232: | ||
macro_optional_add_subdirectory(lskat) | macro_optional_add_subdirectory(lskat) | ||
macro_optional_add_subdirectory(katomic) | macro_optional_add_subdirectory(katomic) | ||
| − | </ | + | </syntaxhighlight> |
Por lo tanto, los directorios libkdegames y libkmahjongg son necesarios para construir cualquiera de kdegames. El directorio cmake también lo suele ser. Los otros directorios (doc, katomic etc) son opcionales. Se construirán si están presentes en la máquina. En este ejemplo, compilamos kmahjongg y kbattleship: | Por lo tanto, los directorios libkdegames y libkmahjongg son necesarios para construir cualquiera de kdegames. El directorio cmake también lo suele ser. Los otros directorios (doc, katomic etc) son opcionales. Se construirán si están presentes en la máquina. En este ejemplo, compilamos kmahjongg y kbattleship: | ||
| − | < | + | <syntaxhighlight lang="bash"> |
cs KDE | cs KDE | ||
svn co -N kdegames # El parámetro -N realiza un checkout no recursivo | svn co -N kdegames # El parámetro -N realiza un checkout no recursivo | ||
| Line 226: | Line 246: | ||
svn up kmahjongg | svn up kmahjongg | ||
cmakekde | cmakekde | ||
| − | </ | + | </syntaxhighlight> |
== ¡¡Éxito!! == | == ¡¡Éxito!! == | ||
| Line 232: | Line 252: | ||
Ya estás preparado para empezar a compilar otros módulos de svn de la misma forma que kdebase, para ejecutar y probar KDE4 o para escribir tus propios parches y aplicaciones. | Ya estás preparado para empezar a compilar otros módulos de svn de la misma forma que kdebase, para ejecutar y probar KDE4 o para escribir tus propios parches y aplicaciones. | ||
| − | Consulta el tutorial [[Getting Started/Set up KDE 4 for development| | + | Consulta el tutorial [[Getting Started/Set up KDE 4 for development|Preparar KDE 4 para el desarrollo]] para saber cómo iniciar aplicaciones KDE 4 y cómo usar KDevelop para trabajar en ellas. |
[[Category:Build KDE]] | [[Category:Build KDE]] | ||
[[Category:KDE4]] | [[Category:KDE4]] | ||
| Serie | Getting Started |
| Requisitos previos | Guía rápida de SVN anónimo |
| Siguiente | Preparar KDE 4 para el desarrollo |
| Lectura avanzada | kdesvn-build: La herramienta para compilación de KDE desde Subversion Incrementar la productividad de KDE4 con scripts Introducción a CMake Notas sobre FreeBSD Instrucciones para Mac OS X Instrucciones para MS Windows |
Este tutorial muestra una forma de conseguir ejecutar KDE de trunk en sistemas Linux/BSD. También existen tutoriales para FreeBSD, Windows, Mac OS X y Solaris. A lo largo del tutorial se utiliza la consola.
| Existe un mayor riesgo de errores de compilación los lunes cuando se envían la mayoría de los cambios de kdelibs. Dashboard informa sobre errores inesperados. Te animamos a arreglar módulos que fallen. |
|---|
| Aviso |
|
A algunas personas les gusta tener una cuenta de usuario separada para KDE 4 (por ejemplo un bug antiguo eliminó archivos por error), y las instrucciones a continuación se escribieron con esa idea. Sin embargo es mucho más eficiente hacer todo con una sola cuenta de usuario, consulta Incrementar la productividad de KDE4 con scripts para más detalles. Aun así puedes seguir las siguientes instrucciones, pero no pongas las variables de entorno en tu .bashrc, ponlas en un archivo separado que puedas utilizar con source para cambiar al entorno KDE 4. |
|---|
| Nota |
|
En algunos sistemas los nuevos usuarios se configuran por defecto para utilizar /bin/sh. Usar /bin/sh puede ser muy incómodo para trabajar y puede que quieras cambiarlo por /bin/bash u otro shell. En Ark Linux y Fedora, puedes omitir el parámetro -s /bin/bash - /bin/sh es bash. |
|---|
| Nota |
useradd -m kde-devel -s /bin/bash passwd kde-devel
|
El nuevo usuario kde-devel no se añadirá automáticamente a todos los grupos de usuario, lo que provocará no tener sonido, no poder usar sudo, etc. Edita tu archivo /etc/groups para añadir el usuario kde-devel a todos los grupos que necesites (probablemente los grupos a los que tu usuario habitual ya esté asignado). |
|---|
| Aviso |
En lugar de usar los comandos anteriores, puedes utilizar el módulo Usuario del Centro de Control de KDE si ya tienes KDE3 instalado.
Copia el ~/.bashrc de tu cuenta de usuario normal a la nueva cuenta kde-devel. Después, copia y pega el contenido del .bashrc de ejemplo en ~kde-devel/.bashrc. Asegúrate de comentar la línea alias make=makeobj si no tienes el comando makeobj disponible. Como alternativa, puedes descargar el paquete kde-sdk (o realizar un checkout de subversion) e incluir el directorio kde-sdk/scripts/ en tu path. Probablemente también quieras modificar el path para asegurarte de que no incluye tus rutas de kde3. Además si quieres usar KDevelop para desarrollar aplicaciones KDE 4 puedes pasar el flag -GKDevelop3 al comando cmake (para que CMake genere archivos de proyecto de KDevelop, evitará tener que recompilar en el futuro, mira esto). Para ejecutarlo, tienes que abrir un nuevo bash o ejecutar
source ~/.bashrc
Esto permitirá el acceso a comandos como cmakekde que se usan en este tutorial, además de asegurar que las rutas apropiadas para Qt, KDE y los binarios de CMake están asignadas.
Para más información, por favor lee el tutorial Incrementar la productividad de KDE4 con scripts.
Cambia al usuario kde-devel: (no olvides el guión)
ssh -X kde-devel@localhost
|
Si el comando ssh falla, echa un vistazo a la sección Lanzar aplicaciones de KDE 4 de la Guía de desarrollo de KDE4. |
|---|
| Nota |
Los requerimientos para compilar kde4 desde código varían de distribución a distribución. A continuación se proporcionan instrucciones para varias distribuciones:
El próximo paso de la compilación depende de los paquetes que suministre la distro.
Si no quieres usar los paquetes suministrados por la distro puedes compilar tú mismo cosas como Qt. Las instrucciones para construir todas las dependencias incluyendo HAL, Cmake, Qt4 (qt-copy) y kde-support están disponibles en la página de compilación de requisitos previos.
Los comandos de las secciones a continuación sirven para compilar la última versión inestable de KDE desde trunk. No se debería usar en un entorno de producción, pero se recomienda para los desarrolladores.
Para compilar la versión estable de KDE4, sustituye trunk/KDE/ por branches/KDE/4.1/ en los comandos de checkout de svn, p.e.:
svn checkout svn://anonsvn.kde.org/home/kde/branches/KDE/4.1/kdelibs
svn checkout svn://anonsvn.kde.org/home/kde/branches/KDE/4.1/kdepimlibs
svn checkout svn://anonsvn.kde.org/home/kde/branches/KDE/4.1/kdebase
etc...
Ahora podemos pasar a compilar las librerías básicas de KDE.
cd cs # 'cs' es una función de bash, haz clic aquí para saber más mkdir KDE && cd KDE svn checkout svn://anonsvn.kde.org/home/kde/trunk/KDE/kdelibs cd kdelibs cmakekde
Cambiamos al directorio base de las fuentes (línea 1) después creamos el directorio KDE y entramos en él (línea 2). Descargamos las fuentes de kdelibs usando subversion (línea 3), entramos en el nuevo directorio ~/kde/src/KDE/kdelibs (línea 4), y comenzamos la compilación (línea 5). Esto nos dejará en el directorio de compilación de kdelibs cuando termine.
| ¡Puede haber dependencias incumplidas en el sistema! Es fácil pasarlas por alto en la salida de cmakekde. Quizá quieras hacer cmake $KDE_SRC/KDE/NOMBRE_DEL_MODULO antes de compilar cualquier módulo de kde (como kdelibs, kdepimlibs etc.) |
|---|
| Consejo |
Hay módulos adicionales de CMake en kdelibs/cmake/modules/ que son necesarios para compilar aplicaciones KDE4. Se instalarán cuando se instale el propio kdelibs.
Para hacer una versión sin depuración (p.e. suprimir todos los mensajes de kDebug()), usa p.e.
cmake -DCMAKE_BUILD_TYPE=Release . && make && make install
Para información sobre resolución de problemas, consulta la sección resolución de problemas de kdelibs.
Después de kdelibs, pero antes de kdebase, tienes que compilar e instalar kdepimlibs.
cs KDE # 'cs' es una función de bash, haz clic aquí para saber más svn checkout svn://anonsvn.kde.org/home/kde/trunk/KDE/kdepimlibs cd kdepimlibs cmakekde
Entramos en el directorio de fuentes KDE (línea 1), descargamos el código fuente de kdepimlibs usando subversion (línea 2) y entramos en el nuevo directorio ~/kde/src/KDE/kdepimlibs (línea 3). Entonces comenzamos la compilación (línea 4). Esto nos dejará en el directorio de construcción de kdepimlibs cuando se haya completado.
Para información sobre resolución de problemas, consulta la sección resolución de problemas de kdepimlibs.
kdebase se divide en tres partes:
cd kdebasecd kdebase/runtime
cs KDE # 'cs' es una función bash, haz clic aquí para saber más svn checkout svn://anonsvn.kde.org/home/kde/trunk/KDE/kdebase cd kdebase cmakekde
Para información sobre resolución de problemas, consulta la sección resolución de problemas de kdebase.
Ahora puedes ejecutar programas de KDE 4 (p.e. kwrite) escribiendo:
ssh -X kde-devel@localhost kwrite
Para asuntos relacionados con resolución de problemas consulta problemas al ejecutar programas.
Aunque la documentación del API de KDE está disponible online en api.kde.org, a veces es útil tenerla en el propio disco, por ejemplo cuando quieres usar KDevelop para navegar por la documentación o cuando no es posible estar conectado todo el tiempo.
Ten en cuenta que generar la documentación del API puede llevar varias horas y ocupa casi medio gigabyte de espacio en disco. La generación se realiza mediante un script en kdelibs/doc/api, necesitas doxygen para poder ejecutarlo.
Para compilar la documentación del API de kdelibs, escribe lo siguiente:
cs KDE/kdelibs # 'cs' es una función de bash, haz clic aquí para saber más $KDE_SRC/KDE/kdelibs/doc/api/doxygen.sh \ --doxdatadir=$KDE_SRC/KDE/kdelibs/doc/common .
Verás que se crea un nuevo subdirectorio llamado kdelibs-apidocs. Simplemente cópialo a donde quieras almacenar la documentación del API.
Repite para otros módulos (p.e. kdepimlibs, kdevplatform, etc) según desees. Por ejemplo:
cs KDE/kdepimlibs $KDE_SRC/KDE/kdelibs/doc/api/doxygen.sh \ --doxdatadir=$KDE_SRC/KDE/kdelibs/doc/common .
Otro método, aún más fácil, consiste en descargar este Doxyfile al sistema local. Después simplemente cambia al directorio donde quieres crear la documentación y ejecuta
% doxygen /ruta/a/Doxyfile
Revisa el archivo doxygen.log para ver los errores y avisos de doxygen. Encontrarás la documentación en el subdirectorio apidocs.
Para mantener la instalación de kde4 al día, cada uno de los módulos instalados debería actualizarse periódicamente. Como el lunes es el día de los grandes cambios en kdelibs, el martes puede ser el mejor día para esto. Para cada módulo descargado previamente, ejecuta svn up y make.
Por ejemplo:
cs kdesupport # cs no es una errata svn up cb # cb no es una errata make install
Nota: no es necesario ejecutar cmakekde para las actualizaciones.
Muchos módulos de KDE contienen un gran número de programas que podrían tardar mucho en descargarse y compilarse. En los casos en los que quieras trabajar sólo en un programa o programas en particular de un módulo, es posible descargar y compilar carpetas concretas. En algunos casos, se requieren ciertas carpetas para cualquier compilación del módulo. Esto se determina en el archivo CMakeLists.txt del módulo. Por ejemplo el archivo CMakeLists.txt de kdegames lista:
add_subdirectory(libkdegames) add_subdirectory(libkmahjongg) macro_optional_add_subdirectory(doc) macro_optional_add_subdirectory(lskat) macro_optional_add_subdirectory(katomic)
Por lo tanto, los directorios libkdegames y libkmahjongg son necesarios para construir cualquiera de kdegames. El directorio cmake también lo suele ser. Los otros directorios (doc, katomic etc) son opcionales. Se construirán si están presentes en la máquina. En este ejemplo, compilamos kmahjongg y kbattleship:
cs KDE svn co -N kdegames # El parámetro -N realiza un checkout no recursivo cd kdegames svn up libkdegames # Obtener los directorios requeridos svn up libkmahjongg svn up cmake svn up kbattleship # Obtener los directorios opcionales svn up kmahjongg cmakekde
Ya estás preparado para empezar a compilar otros módulos de svn de la misma forma que kdebase, para ejecutar y probar KDE4 o para escribir tus propios parches y aplicaciones.
Consulta el tutorial Preparar KDE 4 para el desarrollo para saber cómo iniciar aplicaciones KDE 4 y cómo usar KDevelop para trabajar en ellas.