Problemas al compilar blas-atlas en Gentoo

Esta es una de esas entradas que pongo aquí sobre todo para evitar olvidarme si me enfrento de nuevo al mismo problema.

Ayer estaba en la biblioteca estudiando para un examen de control digital y necesitaba usar octave para hacer algunas pruebas. Descubrí con horror que iba mal cuando se quedó colgado al pedirle las raíces de un polinomio:

octave:1> v = roots([1 3 2 0 2])

Tuve que interrumpir la operación con el típico Ctrl+C porque, además, el octave estaba usando en ese momento el 100% de CPU según top. Lo sorprendente es que al volver a intentar la misma operación, en vez de colgarse, me mostró este error:

octave:1> v = roots([1 3 2 0 2])
error: dgeev failed to converge
error: evaluating assignment expression near line 65, column 9
error: evaluating if command near line 62, column 5
error: evaluating if command near line 59, column 3
error: called from `roots’ in file `/usr/share/octave/2.1.73/m/polynomial/roots.m’
error: evaluating assignment expression near line 1, column 3

El problema no sólo aparecía con la función roots, sino con muchas otra de las que necesitaba, que quizá usaban ésta en su código. Un poco de investigación al llegar a casa me hizo saber que el problema estaba en que había compilado la versión de octave ofrecida como estaba por Gentoo sin Blas entre sus uses. En el Changelog de octave decía que en la versión más reciente (2.1.73-r2), Blas había dejado de ser opcional.

Desenmascaré entonces esta versión de octave y comenzó la instalación de blas-atlas, que es una de las implementaciones de ¡Blas disponibles. Pero duró poco, la instalación se detuvo con un mensaje en pantalla que decía que tenía que ejecutar la instalación en modo interactivo. Seguí los pasos indicados pero, independientemente de las opciones que escogiese en el proceso, la compilación fallaba.

En un hilo del foro de Gentoo donde había un usuario quejándose del mismo problema que yo, el desarrollador encargado del ebuild de octave en Gentoo aconsejaba desenmascarar las últimas versiones de blas-atlas y blas-lapack (además de dos de sus dependencias que también estaban enmascaradas). Hecho esto repetí el intento de instalación y esta vez no sólo me hizo menos preguntas que antes sino que aparentemente estaba funcionando.

El proceso de compilación de blas-atlas es largo, y por la salida que ofrece en ocasiones parece que ha entrado en un ciclo infinito. Pero no pierdas la calma, que no es así; cada iteración es diferente y no se ciclan, así que resiste la tentación de cancelar. No puedo decir cuanto tardó porque me fui a dormir, pero esta mañana, cuando le pregunté a octave de nuevo por las raíces del mismo polinomio de ayer, me respondió esto rápidamente:

octave:1> v = roots([1 3 2 0 2])
v =
-1.79051 + 0.55231i
-1.79051 - 0.55231i
0.29051 + 0.69660i
0.29051 - 0.69660i

Una advertencia, aunque aparece en pantalla antes de empezar: Si tienes un procesador que ajusta su velocidad a las necesidades del software, desactiva esta opción y deja una velocidad fija de procesador durante la compilación, porque blas-atlas hace pruebas de rendimiento para optimizarse y una velocidad variable del procesador puede traer resultados no deseados.

Eso es todo, Jake out.

Comprobaciones de particiones en el arranque

Cuidado con Ubuntu en los portátiles Dell

Escoger el orden de tarjetas de sonido con Alsa en Ubuntu

Actualización de Ubuntu: de Dapper a Edgy

Buscar

Posts recientes

  1. Structs, tipos y listas enlazadas
  2. Opciones en las direcciones de Gmail
  3. Python en Windows sin ventana de DOS
  4. Problemas al compilar blas-atlas en Gentoo
  5. La codificación de caracteres en Python
  6. Comprobaciones de particiones en el arranque
  7. Cuidado con Ubuntu en los portátiles Dell
  8. Escoger el orden de tarjetas de sonido con Alsa en Ubuntu
  9. Actualización de Ubuntu: de Dapper a Edgy
  10. ¡Hola mundo!


Licencia de contenidos

Todo el contenido original creado por Jacobo de Vera y que aparece en este sitio web se encuentra, si no se indica lo contrario, protegido por una licencia de Creative Commons.

DreamHost promo

DreamHost

Esta web está alojada en uno de los servidores de DreamHost.

Si buscas alojamiento para tu web quizá te interesen sus precios.

Si te decides y quieres obtener un descuento de 45.00$ en cualquiera de los planes anuales o bienales introduce este código de promoción en el formulario de alta:

JOV042