<?xml version="1.0" encoding="iso-8859-1"?>
<!-- synced with 1.10 -->
<appendix id="users-vs-dev">
<title>Lloriqueos de desarrolladores</title>

<sect1 id="gcc-296">
<title>GCC 2.96</title>

<formalpara>
<title>El escenario:</title>
<para>
La serie <emphasis role="bold">2.95</emphasis> 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, <emphasis role="bold">Red Hat</emphasis> fue incluida una
versión de CVS fuertemente parcheada de GCC en sus distribuciones y fue denominada
<emphasis role="bold">2.96</emphasis>. 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 <emphasis role="bold">Mandrake</emphasis>
también siguió el ejemplo de Red Hat y comenzó a llevar GCC 2.96 en su serie
Linux-Mandrake 8.0.
</para>
</formalpara>

<formalpara>
<title>Los hechos:</title>
<para>
El equipo GCC renuncian cualquier vinculación con GCC 2.96 y publican una
<ulink url="http://gcc.gnu.org/gcc-2.96.html">respuesta oficial</ulink>
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
<ulink url="http://www.mysql.com/downloads/mysql-3.23.html">MySQL</ulink>,
y
<ulink url="http://avifile.sourceforge.net/news-old1.htm">avifile</ulink>.
Otros enlaces interesantes son
<ulink url="http://www.atnf.csiro.au/people/rgooch/linux/docs/kernel-newsflash.html">
noticias instantáneas acerca del kernel de Linux 2.4.17</ulink>
y
<ulink url="http://www.voy.com/3516/572.html">Voy Forum</ulink>.
<application>MPlayer</application> 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.
</para>
</formalpara>

<para>
GCC 2.96 no permite caracteres <literal>|</literal> (tuberías) en comentarios
en ensamblador porque esto lo hace Intel igual que la sintaxis de AT&amp;T y
el caracter <literal>|</literal> es un símbolo en la variante Intel. El problema
es que <emphasis>silenciosamente</emphasis> ignora el bloque de ensamblador
por completo. Esto es supuestamente corregible ahora, GCC imprime un mensaje
de advertencia en lugar de saltarse el bloque.
</para>

<formalpara>
<title>El presente:</title>
<para>
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
<option>--disable-gcc-checking</option> a <filename>configure</filename>. Recuerde que
que es elección suya y <emphasis role="bold">no informe de problemas</emphasis>. 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.
</para>
</formalpara>

<para>
Si tiene problemas con GCC 2.96, puede obtener los paquetes 2.96-85 del
<ulink url="ftp://updates.redhat.com">servidor ftp</ulink> de Red Hat, o
vaya directamente a por los <ulink url="ftp://people.redhat.com/jakub/gcc/3.2.3-11/">
paquetes gcc-3.2.3-11</ulink> (no oficiales, pero funcionan bien) y puede instalarlos junto
con gcc-2.96 si ya lo tiene. <application>MPlayer</application> 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:
</para>

<procedure>
<step><para>
  Vaya a 
  <ulink url="http://gcc.gnu.org/mirrors.html">la web de sitios espejo de GCC</ulink>
  y descargue <filename>gcc-core-<replaceable>XXX</replaceable>.tar.gz</filename>
  donde <replaceable>XXX</replaceable> es el número de versión. Esto incluye el compilador
  C completo y es suficiente para <application>MPlayer</application>. Si también quiere
  C++, Java, o algunas de las otras características avanzadas de GCC,
  <filename>gcc-<replaceable>XXX</replaceable>.tar.gz</filename> suplirá mejor sus necesidades.
  </para></step>
<step><para>
  Extraiga el fichero con
  <screen>tar -xvzf gcc-core-<replaceable>XXX</replaceable>.tar.gz</screen>
  </para></step>
<step><para>
  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
  <screen>mkdir gcc-build</screen>
  </para></step>
<step><para>
  Entonces puede proceder a configurar gcc en el directorio build, pero puede
  que necesite configurar desde el directorio de fuentes:
  <screen>
cd gcc-build
../gcc-3.<replaceable>XXX</replaceable>/configure</screen>
  </para></step>
<step><para>
  Compile GCC usando esta orden en el directorio build:
  <screen>make bootstrap</screen>
  </para></step>
<step><para>
  Ahora puede instalar GCC (como root) escribiendo
  <screen>make install</screen>
  </para></step>
</procedure>
</sect1>


<sect1 id="mplayer-binary">
<title>Distribución binaria</title>

<para>
<application>MPlayer</application> 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 <filename>divx_vbr.c</filename>
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.
</para>

<para>
Otro impedimento para la distribución binaria es por optimizaciones en tiempo
de compilación para la arquitectura de la CPU. <application>MPlayer</application>
ahora soporta detección de CPU en tiempo de ejecución (pase
<option>--enable-runtime-cpudetection</option> a <command>configure</command>).
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.
</para>
</sect1>


<sect1 id="nvidia-opinions">
<title>nVidia</title>

<para>
Nos desagrada el hecho de que <ulink url="http://www.nvidia.com">nVidia</ulink>
solo provea controladores binarios (para usar con XFree86), que tienen muchos fallos.
Tenemos muchos informes en
<ulink url="http://mplayerhq.hu/pipermail/mplayer-users/">mplayer-users</ulink>
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.
</para>
</sect1>


<sect1 id="joe-barr">
<title>Joe Barr</title>

<para>
Joe Barr se hizo infame en diciembre de 2001 por escribir un más que desfavorable
artículo sobre <application>MPlayer</application> llamado
<ulink url="http://www.linuxworld.com/story/32880.htm"><application>MPlayer</application>: El proyecto del infierno</ulink>.
Él encuentra <application>MPlayer</application> 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
<ulink url="http://www.linuxworld.com/story/32887.htm">10 predicciones sobre Linux para 2002</ulink>.
En un reportaje sobre xine llamado
<ulink url="http://www.linuxworld.com/story/32716.htm">Un reproductor de medios para el
resto de nosotros</ulink> 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 <application>xine</application>,
que resume perfectamente la situación por completo:

<blockquote><para>
Sin embargo, también ha dicho que se "sorprendió" por mi columna acerca de
<application>MPlayer</application> 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".
</para></blockquote>

Casi dos años después en octubre de 2003 escribe otro artículo llamado
<ulink url="http://www.newsforge.com/article.pl?sid=03/10/02/0343200"><application>MPlayer</application> revisitado</ulink>.
En este llega a las siguientes conclusiónes:

<blockquote><para>
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.
</para></blockquote>

y

<blockquote><para>
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.
</para></blockquote>

No podemos resumir nuestros sentimientos sobre Joe Barr mejor:
&quot;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.&quot; 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.
</para>

</sect1>
</appendix>
