idealibre

Ideas sobre libertad

Acerca

idealibre

idealibre es un espacio de reflexión sobre tendencias en el software libre y otros tópicos no precisamente relacionados con software


Your host,

Gerardo Contreras

Banners

Get Firefox!
Tang Soo!

APT con segfault

Ya tenía tiempo que no actualizaba el Kubuntu que tengo instalado en mi casa, y esto debido a que de pronto "apt" dejó de funcionar.

Primero, apt marcaba un extraño error al terminar de descargar:

Configurando python2.4-minimal (2.4.4~c1-0ubuntu1) ...
Linking and byte-compiling packages for runtime python2.4...
Traceback (most recent call last):
 
File "/usr/bin/pycentral", line 1329, in ?
    main()
  File "/usr/bin/pycentral", line 1323, in main
    rv = action.run(global_options)
  File "/usr/bin/pycentral", line 958, in run
    requested = list(pyversions.requested_versions(vstring, version_only=True))
  File "/usr/share/pycentral-data/pyversions.py", line 128, in requested_versions
    raise ValueError, 'empty set of versions'
ValueError: empty set of versions
dpkg: error al procesar python2.4-minimal (--configure):
 
el subproceso post-installation script devolvió el código de salida de error 1
Se encontraron errores al procesar:
&nbsptongue.png ython2.4-minimal

Después el error desapareció, solo para dar paso a un espantoso "Segmentation fault". No importa si hacía un apt-get update o un apt-cache search.

De entrada, lo atribuí al hecho de estar usando una versión "inestable" de Kubuntu, la Edgy Eft. De hecho aún no se si habrá sido ese el problema.

Pero bueno... dado que ya probé en el mismo equipo la moderna distro Fedora Core Pre6, y dado que no pude observar mejoras considerables con respecto a Kubuntu, decidí seguir haciendo la prueba con esa distro.

Para lo último (lo cual obviamente tendría que ser resuelto primero), encontré un enlace. Todo se resume en borrar la base de datos de apt, y listo. En efecto, funcionó, pero regresé al error anterior: falla en python. Dado que el error parecía bastante común, no encontré gran cosa en el internee. Así que sin remedio, tuve que recurrir a mis viejas prácticas de juaquer. El último error que APT mostraba (cuando dpkg intentaba compilar y reconfigurar el paquete) era:

  File "/usr/share/pycentral-data/pyversions.py", line 128, in requested_versions
    raise ValueError, 'empty set of versions'

¡Ajá! pyversions.py, línea 128... ¡Umm! Interesante... Abro el archivo en la línea 128 y qué me encuentro:

125     else:
126         raise ValueError, 'error in version string'
127     if not versions:
128         raise ValueError, 'empty set of versions'

Oh... entonces lanza la excepción (el error, pues) ya que la variable "versions" está vacía. Pues bien. Hagamos el parche:

125     else:
126         raise ValueError, 'error in version string'
127     versions = supported
128     if not versions:
129         raise ValueError, 'empty set of versions'

Línea 127, asignamos "supported" a la variable "versions". Un apt-get upgrade, y voilá! El sistema actualizándose sin problemas.

Ya sé, ya sé... No faltará quien diga: "qué porquería es esa???", refiriéndose obviamente al "parche". No importa... ¿Funcionó? Si. ¿Afectará? No lo sé. Ya platicaré cuando se de.

Abur! 

Dejar un comentario

Escribe el código Captcha que estás viendo

Fuentes XML de comentario: RSS | Atom