Las preguntas mas frecuentes (Frequently Asked Questions, FAQ) sobre el KDE | ||
---|---|---|
Anterior | Capítulo 4. Instrucciones para su instalación | Siguiente |
Chris Berry publicó lo siguiente en comp.windows.x.kde.
Esta es una descarada modificación del Micro-HOWTO original publicado por Chris Sterritt. Lo siguiente es válido para el KDE-1.1.1 ejecutándose en Irix 6.5. No lo he intentado en otras plataformas. Hay algunos elementos preocupantes: obtengo muchos, pero que muchos avisos sobre redefiniciones de Qt, libkdecore, etc. (Son tantas que casi podría haber escrito un diccionario con todas aquellas redefiniciones que me aparecen), no funciona el i18n (sí que lo hacía con la versión 1.0) y kikbd se queda tieso en konsole (funciona bien de otro modo). Cualquier comentario o pregunta puede dirigirse a berry@ieeecs.concordia.ca. I también mantengo una copia de éste COMO en mi página web personal: http://alcor.concordia.ca/~c_berry/.
Además, si no se encuentra capaz de llevarlo a cabo, he colocado binarios de kde-1.1.1 y egcs-1.1.2 en ftp://ftp.cmc.ec.gc.ca/pub/hbc/sgi/. KDE ha sido compilado con librerías compartidas, de modo que sin no tiene libstdc++.so.2.9.0 yo sugeriría descargar a su vez el binario de egcs. Por favor, descarge también y _léase_ el README de este directorio, ya que contiene información relevante para la instalación.
Por último, ni yo ni Environment Canada aceptamos ninguna responsabilidad sobre la adecuación para un caso concreto de estas instrucciones. A mí me funcionan. Si le sirven a usted, pues qué bien. En caso contrario, no le puedo ayudar, ni tampoco nadie en EC. Tome nota de que varias cosas no funcionan del modo que esperaría de ellas. Si encuentra una vía alternativa para evitar estos problemas, haga que la solución sea disponible para los demás. Yo no podré comprobar dichos parches una vez pasada la fecha del 20 de Agosto de 1999, ya que tendré que volver a los estudios (usando SunOS).
¡Disfrútelo!
Instale Qt 1.42 o superior.
Yo estoy instalando KDE con mi propio usuario (no root), así que tengo una variable de entorno KDEDIR que está fijada a algo distinto a /usr/local/ o a lo que constituya la omisión. Este puede ser su caso. Asimismo, SGI tiene una librería 'jpeg' y 'png', pero se encuentran desfasadas. Así que tendrá que buscar los fuentes de las librerías libpng y libz (jpeg viene con kdesupport); yo las encontré como RPMs de fuentes en una de las réplicas de FTP RedHat.
Consiga egcs 1.1.1 o posterior y compile con la opción '-fsquangle'. Esto es debido a que el ensamblador de SGI no puede manejar los enormes nombres dados a los objetos por el g++ normal y gas no funciona bien todavía en los SGIs. Usted tendrá que construirse las librerías del gcc usando asimismo ese binario. Asegúrese de que en su variable PATH no se encuentre mas que este compilador (por si tiene otro compilador gcc instalado por ahí). Cuando ejecuto un 'g++ -v' obtengo lo siguiente:
gcc version egcs-2.91.60 19981201 (egcs-1.1.1 release) |
Ejecute
setenv LDFLAGS " " |
Desembale 'kdesupport' y cambie a su directorio. Ejecute su configure con el "--prefix" que necesita:
./configure --prefix=$KDEDIR --x-includes=/usr/include/X11 \ --x-libraries=/usr/lib32 --with-qt-includes=/opt/kde-1.1.1 \ --with-qt-libs=/opt/kde-1.1.1 --enable-shared |
Ejecute el (el cual incluyo más abajo) del siguiente modo:
find . -name Makefile -exec ../FixMakesSq {} \; |
Aquí está el script FixMakesSq:
#!/bin/perl -ni.bak if ((/-lpng/) || (/-ljpeg/)) { if (/^(.*)-lpng(.*)$/) { $b4 = $1; $af = $2; print "$b4 /path/to/KDE/libs/libpng.a $af\n"; } if (/^(.*)-ljpeg(.*)$/) { $b4 = $1; $af = $2; print "$b4 /path/to/KDE/libs/libjpeg.a $af\n"; } } #NOTA!! Descomente esta sección si desea añadir #-D_LANGUAGE_C_PLUS_PLUS a todos los #makefiles. Yo no lo he probado personalmente, pero no debería romper nada #Alternativamente, añada la opción en los lugares indicados #elsif (/cxxflags\s*=(.*)$/i) #{ # print "CXXFLAGS = -D_LANGUAGE_C_PLUS_PLUS $1\n"; #} else { print; } |
Ejecute:
gmake gmake install |
En el directorio con los fuentes de 'libz', ejecute:
./configure --prefix=$KDEDIR gmake gmake install |
En el directorio con los fuentes de 'libpng', ejecute:
./configure --prefix=$KDEDIR gmake gmake install |
Desembale 'kdelibs' y entre en su directorio. Fíjese en el argumento '--enable-new-stuff' dado a ./configure (puede que no sea necesario, pero no se queja si lo usamos):
./configure --prefix=$KDEDIR --x-includes=/usr/include/X11 \ --x-libraries=/usr/lib32 --with-qt-includes=/opt/kde-1.1.1 \ --with-qt-libs=/opt/kde-1.1.1 --enable-shared --enable-new-stuff find . -name Makefile -exec ../FixMakesSq {} \; |
Busque 'kprocctrl.cpp', y parchee el Makefile en el directorio donde se encuentre. Sólo si no descomentó la sección que la sección que ejecuta esto en el script FixMakesSq, añada '-D_LANGUAGE_C_PLUS_PLUS' a la línea CXXFLAGS. Esto hace que tenga la definición correcta para las funciones que emplean señales (tiene un argumento de tipo 'int').
Busque 'addressbook.cc', y parchee el Makefile en el directorio donde se encuentre. Añada '-fsquangle' a la línea CXXFLAGS. Esto hace que pueda manejar el nombre larguísimo que se genera.
gmake gmake install |
Desembale 'kdebase' y entre en su directorio. Ejecute:
./configure --prefix=$KDEDIR --x-includes=/usr/include/X11 \ --x-libraries=/usr/lib32 --with-qt-includes=/opt/kde-1.1.1 \ --with-qt-libs=/opt/kde-1.1.1 --enable-shared find . -name Makefile -exec ../FixMakesSq {} \; |
Parchee 'memory_sgi.cpp' (ejecute un find desde el directorio 'kdebase'). Simplemente eliminé los #ifdef'd en toda la función... no compila en mi máquina y de todos modos nunca abro esa parte del KPanel :-).
Parchee 'TEShell.C' (en el directorio kdebase-1.1.1/konsole/src/). Es la operación para obtener una pty para el nuevo Konsole. Desgraciadamente, no se escribió teniendo en mente a Irix, y por lo tanto necesita ser parcheado con el diff incluido a continuación:
*** TEShell.C Mon Apr 12 00:12:37 1999 --- /users/dor/aspg/ber/data/kdedown/kdebase-1.1.1/konsole/src/TEShell.C Wed Jul 14 15:15:35 1999 *************** *** 169,174 **** --- 169,177 ---- pid_t pid = waitpid(-1,&status,WNOHANG); Shell* sh = shells.find(pid); if (sh) { shells.remove(pid); sh->doneShell(status); } + #if defined(sgi) + signal(SIGCHLD,catchChild); + #endif } void Shell::doneShell(int status) *************** *** 234,239 **** --- 237,252 ---- } } } + #endif + + #if defined(sgi) /* Irix */ + + needGrantPty = FALSE; + char* line; + line = _getpty(&ptyfd, O_RDWR|O_NDELAY, 0600, 0); + strcpy(ptynam,"/dev/ptc"); + strcpy(ttynam,line); + #endif if (ptyfd < 0) // Linux, FIXME: Trouble on other systems? gmake gmake install |
Desembale 'kdeutils'.
./configure --prefix=$KDEDIR --x-includes=/usr/include/X11 \ --x-libraries=/usr/lib32 --with-qt-includes=/opt/kde-1.1.1 \ --with-qt-libs=/opt/kde-1.1.1 --enable-shared find . -name Makefile -exec ../FixMakesSq {} \; |
Busque 'kcalc_core.cpp' y arregle su Makefile de modo similar a como lo hizo para 'kprocctrl.cpp'.
gmake gmake install |
Desembale 'kdegames', 'kdegraphics', y 'kdetoys' y para cada uno de ellos métase en su directorio y ejecute:
./configure --prefix=$KDEDIR --x-includes=/usr/include/X11 \ --x-libraries=/usr/lib32 --with-qt-includes=/opt/kde-1.1.1 \ --with-qt-libs=/opt/kde-1.1.1 --enable-shared \ find . -name Makefile -exec ../FixMakesSq {} \; gmake gmake install |
Este paso es opcional para KDE-1.1. No creo que sea preciso para KDE-1.1.1. Knotes nunca se ha estrellado conmigo. Lo consigno aquí por si acaso. Busque donde se encuentra el directorio knotes. Vaya allí, haga un 'make clean', y entonces cambie las CXXFLAGS en su Makefile. La línea de CXXFLAGS tiene un '-O2', cámbielo por un '-g'. Entonces haga un 'make' y un 'make install'. La razón de esto es porque encontraba que knots se estrellaba a los pocos minutos de ejecutarse; sin embargo, cuando lo recompilaba con la opción '-g' para depurarlo en lugar del '-O2' (optimización) no ocurría nada. ¡Véte tú a saber! :-).
Y esto es todo. Ahora debería de ser capaz de ejecutar el KDE.