Lloriqueos de desarrolladoresGCC 2.96El escenario:
La serie 2.95 de GCC es una liberación oficial
de GNU y la verseión 2.95.3 de GCC es la serie más libre de errores que existe.
Nunca se han tenido problemas de compilación derivados de gcc-2.95.3. Comenzando
con Red Hat Linux 7.0, Red Hat fue incluida una
versión de CVS fuertemente parcheada de GCC en sus distribuciones y fue denominada
2.96. Red Hat incluyó esta versión en su
distribución porque GCC 3.0 no estaba finalizada en ese momento, y necesitaban
un compilador que funcionase bien en todas las plataformas soportadas, incluyendo
IA64 y s390. El distribuidor de Linux Mandrake
también siguió el ejemplo de Red Hat y comenzó a llevar GCC 2.96 en su serie
Linux-Mandrake 8.0.
Los hechos:
El equipo GCC renuncian cualquier vinculación con GCC 2.96 y publican una
respuesta oficial
sobre GCC 2.96. Algunos desarrolladores alrededor del mundo comienzan a tener
problemas con GCC 2.96, y empiezan a recomendar otros compiladores. Ejemplos son
MySQL,
y
avifile.
Otros enlaces interesantes son
noticias instantáneas acerca del kernel de Linux 2.4.17
y
Voy Forum.
MPlayer también sufre problemas intermitentes
que son resueltos cambiando entre diferentes versiones de GCC. Varios
proyectos empiezan a implementar variaciones de algunos aspectos de 2.96,
pero se niegan a arreglar problemas de otras personas, especialmente porque
algunos arreglos pueden implicar pérdidas de rendimiento.
GCC 2.96 no permite caracteres | (tuberías) en comentarios
en ensamblador porque esto lo hace Intel igual que la sintaxis de AT&T y
el caracter | es un símbolo en la variante Intel. El problema
es que silenciosamente ignora el bloque de ensamblador
por completo. Esto es supuestamente corregible ahora, GCC imprime un mensaje
de advertencia en lugar de saltarse el bloque.
El presente:
Red Hat dice que GCC 2.96-85 y superior están arreglados. La situación ha sido
mejorada, pero se siguen viendo informes de problemas en nuestras listas de correo
que desaparecen con un compilador diferente. En cualquier caso esto no tiene
más importancia. Alegremente, un maduro GCC 3.x ha resuelto bien los problemas. Si
desea compilar con 2.96 puede indicar el parámetro
a configure. Recuerde que
que es elección suya y no informe de problemas. Si lo
hace será expulsado de nuestras listas de correo porque ha sido avisao de manera
más que suficiente de las guerras con GCC 2.96. Por favor, déjenos contarle el resto.
Si tiene problemas con GCC 2.96, puede obtener los paquetes 2.96-85 del
servidor ftp de Red Hat, o
vaya directamente a por los
paquetes gcc-3.2.3-11 (no oficiales, pero funcionan bien) y puede instalarlos junto
con gcc-2.96 si ya lo tiene. MPlayer detectará
y usará 3.2 en lugar de 2.96. Si no desea o no puede usar los paquetes
binarios, aquí tiene cómo compilar GCC 3 desde el código fuente:
Vaya a
la web de sitios espejo de GCC
y descargue gcc-core-XXX.tar.gz
donde XXX es el número de versión. Esto incluye el compilador
C completo y es suficiente para MPlayer. Si también quiere
C++, Java, o algunas de las otras características avanzadas de GCC,
gcc-XXX.tar.gz suplirá mejor sus necesidades.
Extraiga el fichero con
tar -xvzf gcc-core-XXX.tar.gz
GCC no es construido dentro del directorio del código fuente como la mayoría
de los programas, sino que necesita un directorio fuera donde compilarse. Por eso
necesita crear ese directorio via
mkdir gcc-build
Entonces puede proceder a configurar gcc en el directorio build, pero puede
que necesite configurar desde el directorio de fuentes:
cd gcc-build
../gcc-3.XXX/configure
Compile GCC usando esta orden en el directorio build:
make bootstrap
Ahora puede instalar GCC (como root) escribiendo
make installDistribución binariaMPlayer previamente contenía código fuente del proyecto
OpenDivX, que no permitía su distribución binaria. Este código ha sido eliminado
en la versión 0.90-pre1 y el archivo que queda divx_vbr.c
que ha derivado del código de OpenDivX ha sido puesto bajo licencia GPL por sus
autores como la versión 0.90pre9. Ahora es bienvenido a crear paquetes binarios
como usted quiera ajustarlo.
Otro impedimento para la distribución binaria es por optimizaciones en tiempo
de compilación para la arquitectura de la CPU. MPlayer
ahora soporta detección de CPU en tiempo de ejecución (pase
a configure).
Está desactivado por defecto porque implica un pequeño sacrificio de velocidad,
pero ahora es posible crear binarios que corran en diferentes miembros de la familia
de CPU's compatibles con Intel.
nVidia
Nos desagrada el hecho de que nVidia
solo provea controladores binarios (para usar con XFree86), que tienen muchos fallos.
Tenemos muchos informes en
mplayer-users
acerca de problemas relacionados con estos controladores de código-cerrado
y de su pobre calidad, inestabilidad y pobre soporte a usuarios y expertos.
Muchos de estos problemas/informes aparecen repetidamente.
Hemos contactado con nVideia, y nos dicen que esos errores no existen, que la
inestabilidad es causada por circuitos AGP malos, y que ellos no reciben informes
de fallos en sus controladores (como la línea púrpura). De modo que si tiene un problema
con su tarjeta nVidia, actualice su controlador nVidia y/o compre
una placa base nueva o pregunte a nVidia por unos controladores de código-abierto.
En cualquier caso, si está usando los controladores binarios de nVidia y experimenta
problemas relacionados con eso, por favor sepa que por nuestra parte recibirá muy poca ayuda
porque tenemos muy poca información a respecto.
Joe Barr
Joe Barr se hizo infame en diciembre de 2001 por escribir un más que desfavorable
artículo sobre MPlayer llamado
MPlayer: El proyecto del infierno.
Él encuentra MPlayer dificil de instalar, y concluye que
los desarrolladores son poco amistosos y la documentación está incompleta y es insultante.
Juzgue usted mismo sobre ese asunto. También menciona a Arpi de manera negativa en su
10 predicciones sobre Linux para 2002.
En un reportaje sobre xine llamado
Un reproductor de medios para el
resto de nosotros con lo que siguió aumentando la controversia.
Irónicamente al final del artículo cita su intercambio con Günter Bartsch,
el autor original de xine,
que resume perfectamente la situación por completo:
Sin embargo, también ha dicho que se "sorprendió" por mi columna acerca de
MPlayer y piensa que es injusto, recordandome que esto
es un proyecto de software libre. "Si no te gusta hazlo tú," dice Bartsch, "eres libre de no
usarlo".
Casi dos años después en octubre de 2003 escribe otro artículo llamado
MPlayer revisitado.
En este llega a las siguientes conclusiónes:
Me gustaría decir que han hecho mejoras en gran cantidad de características, en
rendimiento, y en documentación. Sigue si ser el más facil de instalar en el mundo,
especialmente para novatos, pero es un poco mejor de los que he usado.
y
Pero lo más importante, no he notado ningún cambio reciente en los comentarios acerca
del abuso de usuario. Creo que tengo derecho a algún crédito por ello, incluso si
lo digo por mi mismo. Arpi y el resto del equipo del proyecto deben sentirse libres
también de ese modo, porque tienen una sección especial sobre mí para recordarme dentro
del paquete de documentación. Como decía al principio, algunas cosas no han cambiado
del todo.
No podemos resumir nuestros sentimientos sobre Joe Barr mejor:
"Sigue sin ser el mejor artículo de investigación o el más justo del mundo,
pero es un poco mejor de los que he usado." Con suerte la próxima vez conseguiremos
que sus espectativas sean otras. Sin embargo, el crédito de madurez solo lo obtenemos
con la edad, y quizá comience otra vez a aburrirnos y amenazarnos.