[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Nueva solución para el pure_virtual del KDE



Hola.

Finalmente me bajé el paquete kdelibs2g-1.1.19990504 que supuestamente
soluciona el problema del "Undefined symbol __pure_virtual" que aparece en
algunos programas del KDE.

Y efectivamente, el kdehelp y el kppp por ejemplo ya funcionan, pero ahora
resulta que los gráficos jpeg no aparecen, es más si se intenta ver en el
kfm una página html que incluya un jpeg, se cierra el kfm entero.

Supongo que esto se solucionaría actualizando alguna librería, pero como
no quedé demasiado muy contento con el kdelibs2g-1.1.19990504 (¿no usa una
versión antigua de la libjpeg?), pues probé a compilar el paquete
kdelibs2g que va en la debian slink, y creo que efectivamente esto
soluciona la mayoría de los problemas.

Por si alguien está interesado subiré los paquetes que he recompilado a
http://members.xoom.com/rvmsoft/linux.

He estado probando casi todos los programas del KDE con la librería
recompilada y estos son los resultados:

El kdehelp y el kedit, por ejemplo ya funcionan. Las imágenes jpeg se
muestran sin problemas. El adressbook (kab) que ni siquiera funcionaba con
la versión 1.1.19990504 ya funciona (y tiene un aspecto muy bueno).

Sin embargo algunos programas siguen dando problemas: el karchie (que no
sé para que sirve) da un "segmentation fault" y uno de los juegos dice que
no tiene memoria suficiente ¿?. El kasteroids sigue dando el error del
"Undefined symbol __pure_virtual" pero con una librería del kdesupport.
Recompilé pues el paquete kdesupport y ahora en cambio el juego se
queja de que no encuentra los gráficos (y realmente no están. Desde luego
se han "lucido" al hacer los paquetes del KDE). Cogí los gráficos del
código fuente y el juego ya anda (problema solucionado).

Seguramente lo peor es que el kppp sigue sin funcionar. Sigue dando el
"Undefined symbol __pure_virtual" aunque sin especificar en qué librería.
Me da la sensación de que quizás se solucione recompilado el propio kppp,
pero compilar el kdenetwork entero no me atrae mucho por ahora.
NOTA DE ULTIMA HORA: acabo de probar el kppp como root y sí FUNCIONA, así
que supongo que será algún problema de permisos.

Algunos programas se quejan de que no encuentran un fichero de
configuración (especialmente el kmail que muestra una ventana varias veces
quejandose). Se soluciona instalando el kdelibs2g-dev ya que incluye el
dichoso fichero.

Por si alguien quiere recompilar la librería kdelibs2g que se incluye en
el CD 2 de la Debian Slink de la Linux Actual aquí van unas indicaciones:

- Para compilarla es necesario tener instalados los paquetes qt1g (versión
1.42), qt1g-dev, libjpeg62, libjpeg62-dev, libc6-dev, xlib6g-dev,
libstdc++2.9, libstdc++2.9-dev, g++ (no sé si olvido alguno). Como
compilador de C tengo instalado el egcc, pero creo que el paquete
kdelibs2g está íntegramente escrito en C++, por lo que da igual. A parte
de todos estos paquetes (todos de la Slink) es necesario tener unas 60-70
MB de espacio libre en el disco duro, unas 70 MB de memoria total
(RAM+Swap) y mucha paciencia. El KDE no es necesario que esté instalado.

- Descomprimir las fuentes con tar xvfI
/ruta_al_cdrom/dists/local/local/source/kde/kdelibs2g_numero.bz2

- Desde el directorio kdelibs-1.1 teclear la orden debian/rules build.
Tras varias horas (bueno, depende de la velocidad del micro) se habrá
compilado todo.

- Los ficheros del directorio debian tienen un error muy gordo, ya que
crearan un paquete llamado kdelibs0g (por un momento pensé que había
compilado una versión antigua, que susto... pero no es así, lo único es
que el nombre está mal). Para corregirlo hay que editar el debian/control
y cambiarles el nombre de los paquetes de kdelib0g y kdelibs0g-dev a
kdelibs2g y kdelibs2g-dev. En las dependencias también hay que cambiar la
referencia a libjpeg6a por libjpeg62. El número de la versión también está
incorrecto. Editar el fichero debian/changelog y cambiar la versión de los
dos paquetes a 4:1.1-19990207-3, por ejemplo. Cuidado al hacerlo ya que
creo que este fichero no debería editarse a mano, pero si no se borran ni
se añaden líneas no creo que pase nada.

- Una vez hecho esto, como root hay que teclear debian/rules binary, y se
crearan los dos paquetes deb.

Si se quiere compilar también el kdesupport0g los pasos son similares,
aunque en este caso el nombre del paquete sí es correcto, pero no el
número de versión (que también habrá que cambiar).

Bueno, espero que esto le haya servido a alguien.

Ricardo Villalba
rvm@linuxfan.com
ricardovm@arrakis.es
http://members.xoom.com/rvmsoft
http://rvmsoft.findhere.com



Reply to: