<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<!-- Synced with english version 1.39 -->

<HEAD>
<TITLE>Lamentele degli sviluppatori - MPlayer - Movie Player per Linux</TITLE>
<LINK REL="stylesheet" TYPE="text/css" HREF="../default.css">
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
</HEAD>

<BODY>


<H1><A NAME="appendix_e">Appendice E - Lamentele degli sviluppatori</A></H1>

<P>Ci sono due argomenti principali che causano sempre grandi dispute e flame sulla mailing list degli
<A HREF="http://mplayerhq.hu/pipermail/mplayer-users/">mplayer-users</A>.
Il numero uno è naturalmente il</P>

<H2><A NAME="gcc">E.1 GCC 2.96</A></H2>

<P><B>Il retroscena</B> : C'erano/ci sono le serie GCC <B>2.95</B>. Il migliore
era il 2.95.3 . Per favore nota lo stile di numerazione delle versioni.
Così è come il team GCC numera i loro compilatori. Quelli della serie 2.95 sono buoni.
Non abbiamo mai visto nulla compilato male a causa di errori del 2.95.3.</P>

<P><B>Le dichiarazioni:</B> Il team GCC dichiarato di non avere nessun collegamento col GCC 2.96 e ha dato una
<A HREF="http://gcc.gnu.org/gcc-2.96.html">risposta ufficiale</A> riguardante il GCC 2.96.
Molti sviluppatori nel mondo hanno cominciato a riscontrare problemi col GCC 2.96, e
hanno cominciato a raccomandare altri compilatori. Esempi sono
<A HREF="http://www.mysql.com/downloads/mysql-3.23.html">MySQL</A>,
<A HREF="http://avifile.sourceforge.net/news-old1.htm">avifile</A> e
<A HREF="http://www.winehq.com/news/?view=92#RH 7.1 gcc fixes compiler bug">Wine</A>.
Altri link interessanti sono
<A HREF="http://www.atnf.csiro.au/people/rgooch/linux/docs/kernel-newsflash.html">
Linux kernel news flash about kernel 2.4.17</A> e
<A HREF="http://www.voy.com/3516/572.html">Voy Forum</A>.
Anche MPlayer ha sofferto di problemi intermittenti che si sono tutti risolti
cambiando versione di GCC. Alcuni progetti hanno cominciato a implementare metodi
per aggirare alcuni dei problemi del 2.96, ma noi ci siamo rifiutati di correggere i bug di altri,
specialmente perchè alcuni di questi metodi implicano un calo delle prestazioni.</P>

<P>Puoi leggere l'altro lato della storia
<A HREF="http://web.archive.org/web/20011024212120/http://www.bero.org/gcc296.html">qui</A>.
GCC 2.96 non permette i caratteri | (pipe) nei commenti in assembler
perchè supporta sia la sintassi Intel che AT&amp;T e il carattere |
è un simbolo nella variante Intel. Il problema è che ignora <B>silenziosamente</B>
l'intero blocco in assembler. Questo dovrebbe essere stato corretto ora, GCC stampa un avvertimento
invece di saltare il blocco.</P>

<P><B>Il presente:</B> Red Hat dice che il GCC 2.96-85 e superiori sono stati corretti. La
situazione è migliorata, ma noi vediamo ancora segnalazioni di problemi sulle nostre
mailing list che scompaiono con un diverso compilatore. In ogni caso non importa
più. Si spera che il maturante GCC 3.x risolverà la questione per il meglio.
Se desideri compilare col 2.96 passa l'opzione <CODE>--disable-gcc-checking</CODE>
a configure. Però devi arrangiarti da solo, <B>non segnalare nessun
bug</B>. Se lo farai, sarai solo escluso dalla mailing list perchè
abbiamo avuto già abbastanza flame sul GCC 2.96.</P>

<P>Se hai problemi col GCC 2.96, puoi prendere i pacchetti 2.96-85 dal
<A HREF="ftp://updates.redhat.com">server ftp</A> della RedHat, usa i pacchetti
3.04 offerti per la versione 7.2 e successive. Puoi anche prendere i pacchetti del gcc-3.2-10
(non ufficiali, ma funzionano bene)
<A HREF="ftp://people.redhat.com/jakub/gcc/3.2-10/">qui</A> e puoi
installarli insieme al gcc-2.96 che già hai. MPlayer lo riconoscerà e userà
il 3.2 invece del 2.96. Se non vuoi o non puoi usare
i pacchetti binari, ecco come compilare l'ultimo GCC dai sorgenti:</P>

<UL>
  <LI>Vai alla pagina dei<A HREF="http://gcc.gnu.org/mirrors.html">mirror di GCC</A>
    e scarica <CODE>gcc-core-XXX.tar.gz</CODE>, dove <CODE>XXX</CODE> è il numero di versione.
   Questo include il completo compilatore C ed è sufficente per MPlayer. Se vuoi anche
    C++, Java o altre caratteristiche avanzate di GCC il pacchetto
    <CODE>gcc-XXX.tar.gz</CODE> potrebbe soddisfare meglio le tue esigenze.</LI>
  <LI>Estrai l'archivio con<BR>
    <CODE>tar -xvzf gcc-core-XXX.tar.gz</CODE></LI>
  <LI>GCC non viene compilato all'interno della directory dei sorgenti come la maggior parte dei programmi,
    ma necessita una directory esterna.  Quindi bisogna crearla con<BR>
    <CODE>mkdir gcc-build</CODE></LI>
  <LI>Quindi si può procedere a configurare gcc in questa directory, ma devi usare il
    configure dei sorgenti:<BR>
    <CODE>cd gcc-build<BR>
    ../gcc-XXX/configure</CODE></LI>
  <LI>Compila GCC passando questo comando:<BR>
    <CODE>make bootstrap</CODE></LI>
  <LI>Ora puoi installare GCC (da root) facendo<BR>
    <CODE>make install</CODE></LI>
</UL>

<H2><A NAME="binary">E.2 Distribuzione binaria di MPlayer</A></H2>


<P>MPlayer in precedenza conteneva dei sorgenti del progetto OpenDivX,
che non permetteva la ridistribuzione binaria. Questo codice è stato rimosso nella versione
0.90-pre1 e il rimanente file <CODE>divx_vbr.c</CODE> derivato dai sorgenti di
OpenDivX è stato rilasciato sotto licenza GPL dai suoi autori dalla versione
0.90pre9. Ora puoi creare pacchetti binari se vuoi.</P>

<P>Un altro impedimento alla distribuzione binaria erano le ottimizzazioni di compilazione
per l'architettura della CPU.  MPlayer ora supporta il riconoscimento della CPU a runtime
(specifica l'opzione <CODE>--enable-runtime-cpudetection</CODE> al momento della configurazione).
E' disabilitato di default perchè implica un piccolo sacrificio di velocità,
ora è possibile creare file binari che possono essere eseguiti su diversi membri
della famiglia di CPU della Intel.</P>

<H2><A NAME="nvidia">E.3 nVidia</A></H2>

<P>Non ci piacciono i driver binari di nvidia, la loro qualità, instabilità,
l'inesistente supporto all'utente, la regolare comparsa di nuovi bug. E la maggior parte degli utenti fa
lo stesso. Alcuni esempi si possono trovare sul
<A HREF="http://www.nvnews.net/vbulletin/forumdisplay.php?s=6d83dc289805c37caef49b77857a0b7e&amp;daysprune=&and;forumid=27">
forum Linux di nVidia</A>.
Ultimamente siamo stati contattati da NVidia, e loro hanno detto che questi bug non
esistono, l'instabilità è causata da pessimi chip AGP, e che non hanno ricevuto nessuna segnalazione
di bug del driver (la linea viola, per esempio). Quindi: se hai problemi con
la tua NVidia, aggiorna il driver nvidia e/o compra una nuova
scheda madre.</P>

<H2><A NAME="barr">E.4 Joe Barr</A></H2>

<P>Non risponde alle nostre mail. Il suo editore non risponde alle nostre mail.
La rete è piena delle sue false dichiarazioni e accuse (apparentemente non
gli piacciono i ragazzi BSD, a causa dei loro diversi punti di vista
[su cosa?]).</P>

<P>Ora alcune citazioni di diverse persone circa Joe Barr (solo per farvi sapere
perchè non conta assolutamente niente):</P>

<P><I>"Voi tutti ricorderete il LinuxWorld 2000, quando lui affermò che Linus T disse
che 'FreeBSD è solo un aiuto per i programmatori'. Linus non disse NIENTE del
genere. Quando furono chieste spiegazioni a Joe, la sua reazione fu quella di chiamare tutti i sostenitori BSD
stupidi e tonti."</I></P>

<P><I>"E' interessante, ma non è bravo ad evitare, um... le discussioni.  Joe Barr
era regolarmente presente sul forum Canopus di Zachmann su Compuserve,
anni fa. Allora era un sostenitore di OS/2 (anche io ero un fan di OS/2).
Era solito passare il limite, insultando la gente, e credo che avesse passato dei brutti quarti d'ora,
al tempo. Si è ammorbidito un po' recentemente, giudicando dalle sue colonne.  L'umorismo moderatamente
subdolo non era suo uso a quei tempi, per niente."</I></P>

</BODY>
</HTML>
