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,
avifile
y
Wine.
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.
Puede leer el otro lado de la historia
en este sitio.
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-10 (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 (especificando la
opción durante la compilación).
Está desactivado por defecto porque implica un pequeño sacrificio de velocidad,
ahora es posible crear binarios que corran en diferentes miembros de la familia
de CPU's 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.
Aquí hay un ejemplo en el
Foro de Linux de nVidia.
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 ha hecho infame por escribir un
artículo sobre MPlayer muy poco favorable.
Él encuentra MPlayer dificil de instalar, pero tampoco
le tiene afecto a
leer documentación.
También ha llegado a la conclusión de que los desarrolladores son poco amistosos
y la documentación es incompleta e insultante.
Juzgue usted mismo.
Él hace mención de MPlayer de manera negativa en su
10 predicciones sobre Linux para el 2002.
En un nuevo artículo
review of xine
sigue 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".
Él no contesta a nuestros correos. Su editor no responde a nuestros correos.
Aquí algunas citas de personas diferentes acerca de Joe Barr, para que pueda usted
formarse su propia opinión:
Marc Rassbach tiene
algo que decir
sobre este hombre.
Usted puede recordar el LinuxWorld 2000, donde él aclamaba a Linux T diciendo
que 'FreeBSD es solo un puñado de programadores'. Linus no dice NADA de esto.
Cuando a Joe se le dijo que había dicho esto, su reacción fue llamar a los
sustentadores de BSD idiotas y burros.
Una cita
de Robert Munro en la lista de correo
mplayer-users:
Él es interesante, pero no es bueno evitarlo, um... controversia. Joe Barr
se usa regularmente en el foro Will Zachmann's Canopus en Compuserve, desde
hace años. Es un abogado de OS/2 (yo soy un fan de OS/2 también).
Él lo usa para estar-por-encima, peleándose con la gente, y sospecho que ha
pasado duros momentos, por ello. Ha madurado algo, a juzgar por sus columnas recientes.
Moderadamente tiene un sutil humor que no tenía en días anteriores, de todos modos.