9675
|
1 <?xml version="1.0" encoding="iso-8859-1"?>
|
|
2 <appendix id="users-vs-dev">
|
|
3 <title>Developer cries</title>
|
|
4
|
|
5 <sect1 id="gcc-296">
|
|
6 <title>GCC 2.96</title>
|
|
7
|
|
8 <formalpara>
|
|
9 <title>The background:</title>
|
|
10 <para>
|
10111
|
11 The GCC <emphasis role="bold">2.95</emphasis> series is an official GNU release and
|
9675
|
12 version 2.95.3 of GCC is the most bug-free in that series. We have never
|
|
13 noticed compilation problems that we could trace to gcc-2.95.3. Starting
|
10111
|
14 with Red Hat Linux 7.0, <emphasis role="bold">Red Hat</emphasis> included a heavily
|
9675
|
15 patched CVS version of GCC in their distribution and named it
|
10111
|
16 <emphasis role="bold">2.96</emphasis>. Red Hat included this version in the
|
9675
|
17 distribution because GCC 3.0 was not finished at the time, and they needed
|
|
18 a compiler that worked well on all of their supported platforms, including
|
10111
|
19 IA64 and s390. The Linux distributor <emphasis role="bold">Mandrake</emphasis> also
|
9675
|
20 followed Red Hat's example and started shipping GCC 2.96 with their
|
|
21 Linux-Mandrake 8.0 series.
|
|
22 </para>
|
|
23 </formalpara>
|
|
24
|
|
25 <formalpara>
|
|
26 <title>The statements:</title>
|
|
27 <para>
|
|
28 The GCC team disclaimed any link with GCC 2.96 and issued an
|
|
29 <ulink url="http://gcc.gnu.org/gcc-2.96.html">official response</ulink>
|
10111
|
30 to GCC 2.96. Many developers around the world began having problems with
|
9675
|
31 GCC 2.96, and started recommending other compilers. Examples are
|
|
32 <ulink url="http://www.mysql.com/downloads/mysql-3.23.html">MySQL</ulink>,
|
|
33 <ulink url="http://avifile.sourceforge.net/news-old1.htm">avifile</ulink>
|
|
34 and
|
|
35 <ulink url="http://www.winehq.com/news/?view=92#RH 7.1 gcc fixes compiler bug">Wine</ulink>.
|
|
36 Other interesting links are
|
|
37 <ulink url="http://www.atnf.csiro.au/people/rgooch/linux/docs/kernel-newsflash.html">
|
|
38 Linux kernel news flash about kernel 2.4.17</ulink>
|
|
39 and
|
|
40 <ulink url="http://www.voy.com/3516/572.html">Voy Forum</ulink>.
|
|
41 <application>MPlayer</application> also suffered from intermittent problems
|
|
42 that were all solved by switching to a different version of GCC. Several
|
|
43 projects started implementing workarounds for some of the 2.96 issues, but
|
|
44 we refused to fix other people's bugs, especially since some workarounds
|
|
45 may imply a performance penalty.
|
|
46 </para>
|
|
47 </formalpara>
|
|
48
|
|
49 <para>
|
|
50 You can read about the other side of the story
|
|
51 <ulink url="http://www.bero.org/gcc296.html">at this site</ulink>.
|
|
52 GCC 2.96 does not allow <literal>|</literal> (pipe) characters in assembler
|
|
53 comments because it supports Intel as well as AT&T Syntax and the
|
|
54 <literal>|</literal> character is a symbol in the Intel variant. The
|
|
55 problem is that it <emphasis>silently</emphasis> ignores the whole
|
|
56 assembler block. This is supposedly fixed now, GCC prints a warning instead
|
|
57 of skipping the block.
|
|
58 </para>
|
|
59
|
|
60 <formalpara>
|
|
61 <title>The present:</title>
|
|
62 <para>
|
|
63 Red Hat says that GCC 2.96-85 and above is fixed. The situation has indeed
|
|
64 improved, yet we still see problem reports on our mailing lists that
|
|
65 disappear with a different compiler. In any case it does not matter any
|
|
66 longer. Hopefully a maturing GCC 3.x will solve the issue for good. If you
|
|
67 want to compile with 2.96 give the <option>--disable-gcc-checking</option>
|
|
68 flag to <filename>configure</filename>. Remember that you are on your own
|
10111
|
69 and <emphasis role="bold">do not report any bugs</emphasis>. If you do, you will only
|
9675
|
70 get banned from our mailing list because we have had more than enough flame
|
|
71 wars over GCC 2.96. Please let the matter rest.
|
|
72 </para>
|
|
73 </formalpara>
|
|
74
|
|
75 <para>
|
|
76 If you have problems with GCC 2.96, you can get 2.96-85 packages from the
|
|
77 Red Hat <ulink url="ftp://updates.redhat.com">ftp server</ulink>, or just
|
|
78 go for the 3.0.4 packages offered for version 7.2 and later. You can also
|
|
79 get <ulink url="ftp://people.redhat.com/jakub/gcc/3.2-10/">gcc-3.2-10 packages</ulink>
|
|
80 (unofficial, but working fine)
|
|
81 and you can install them along the gcc-2.96 you already have. MPlayer will
|
10043
|
82 detect it and use 3.2 instead of 2.96. If you do not want to or cannot use
|
10111
|
83 the binary packages, here is how you can compile GCC 3 from source:
|
9675
|
84 </para>
|
|
85
|
|
86 <procedure>
|
|
87 <step><para>
|
|
88 Go to the
|
10111
|
89 <ulink url="http://gcc.gnu.org/mirrors.html">GCC mirrors page</ulink>
|
|
90 page and download <filename>gcc-core-<replaceable>XXX</replaceable>.tar.gz</filename>
|
|
91 where <replaceable>XXX</replaceable> is the version number. This includes the complete
|
|
92 C compiler and is sufficient for <application>MPlayer</application>. If you also want
|
|
93 C++, Java or some of the other advanced GCC features
|
|
94 <filename>gcc-<replaceable>XXX</replaceable>.tar.gz</filename> may better suit your needs.
|
9675
|
95 </para></step>
|
|
96 <step><para>
|
|
97 Extract the archive with
|
10111
|
98 <screen>tar -xvzf gcc-core-<replaceable>XXX</replaceable>.tar.gz</screen>
|
9675
|
99 </para></step>
|
|
100 <step><para>
|
|
101 GCC is not built inside the source directory itself like most programs,
|
|
102 but needs a build directory outside the source directory. Thus you need
|
|
103 to create this directory via
|
|
104 <screen>mkdir gcc-build</screen>
|
|
105 </para></step>
|
|
106 <step><para>
|
|
107 Then you can proceed to configure gcc in the build directory, but you
|
|
108 need the configure from the source directory:
|
|
109 <screen>
|
|
110 cd gcc-build
|
10111
|
111 ../gcc-3.<replaceable>XXX</replaceable>/configure</screen>
|
9675
|
112 </para></step>
|
|
113 <step><para>
|
|
114 Compile GCC by issuing this command in the build directory:
|
|
115 <screen>make bootstrap</screen>
|
|
116 </para></step>
|
|
117 <step><para>
|
|
118 Now you can install GCC (as root) by typing
|
|
119 <screen>make install</screen>
|
|
120 </para></step>
|
|
121 </procedure>
|
|
122 </sect1>
|
|
123
|
|
124
|
|
125 <sect1 id="mplayer-binary">
|
|
126 <title>Binary distribution</title>
|
|
127
|
|
128 <para>
|
|
129 <application>MPlayer</application> previously contained source from the
|
|
130 OpenDivX project, which disallows binary redistribution.This code has been
|
|
131 removed in version 0.90-pre1 and the remaining file <filename>divx_vbr.c</filename>
|
|
132 that is derived from OpenDivX sources has been put under the GPL by its authors
|
|
133 as of version 0.90pre9. You are now welcome to create binary packages as you
|
|
134 see fit.
|
|
135 </para>
|
|
136
|
|
137 <para>
|
|
138 Another impediment to binary redistribution was compiletime optimizations
|
10111
|
139 for CPU architecture. <application>MPlayer</application> now supports
|
9675
|
140 runtime CPU detection (specify the
|
|
141 <option>--enable-runtime-cpudetection</option> option when compiling). It
|
10111
|
142 is disabled by default because it implies a small speed sacrifice, it is
|
9675
|
143 now possible to create binaries that run on different members of the Intel
|
|
144 CPU family.
|
|
145 </para>
|
|
146 </sect1>
|
|
147
|
|
148
|
|
149 <sect1 id="nvidia-opinions">
|
|
150 <title>nVidia</title>
|
|
151
|
|
152 <para>
|
|
153 We dislike the fact that <ulink url="http://www.nvidia.com">nVidia</ulink>
|
|
154 only provides binary drivers (for use with XFree86), which are often buggy.
|
|
155 We have had many reports on
|
|
156 <ulink url="http://mplayerhq.hu/pipermail/mplayer-users/">mplayer-users</ulink>
|
|
157 about problems related to these closed-source drivers
|
|
158 and their poor quality, instability and poor user and expert support.
|
|
159 Here is an example from the
|
|
160 <ulink url="http://www.nvnews.net/forum/showthread.php?s=fda5725bc2151e29453b2da3bd5d2930&threadid=14306">nVidia Linux Forum</ulink>.
|
|
161 Many of these problems/issues keep appearing repeatedly.
|
|
162 We have been contacted by nVidia lately, and they said these bugs do not
|
|
163 exist, instability is caused by bad AGP chips, and they received no reports
|
|
164 of driver bugs (like the purple line). So if you have a problem with your
|
|
165 nVidia card, you are advised to update the nVidia driver and/or buy a new
|
|
166 motherboard or ask nVidia to supply open-source drivers. In any case, if
|
|
167 you are using the nVidia binary drivers and facing driver related problems,
|
|
168 please be aware that you will receive very little help from our side
|
|
169 because we have little power to help in this matter.
|
|
170 </para>
|
|
171 </sect1>
|
|
172
|
|
173
|
|
174 <sect1 id="joe-barr">
|
|
175 <title>Joe Barr</title>
|
|
176
|
|
177 <para>
|
|
178 Joe Barr became infamous by writing a less than favorable
|
|
179 <ulink url="http://www.linuxworld.com/site-stories/2001/1214.mplayer.html">
|
|
180 <application>MPlayer</application> review</ulink>.
|
|
181 He found <application>MPlayer</application> hard to install, but then
|
|
182 again he is not very fond of
|
|
183 <ulink
|
|
184 url="http://www.linuxworld.com/linuxworld/lw-2000-06/lw-06-exam.html">reading documentation</ulink>.
|
|
185 He also concluded that the developers were unfriendly and the documentation
|
|
186 incomplete and insulting. You be the judge.
|
|
187 He went on to mention <application>MPlayer</application> negatively in his
|
|
188 <ulink url="http://www.linuxworld.com/site-stories/2001/1227.predictions.html">10 Linux predictions for 2002</ulink>.
|
|
189 In a followup
|
10144
|
190 <ulink url="http://www.linuxworld.com/site-stories/2002/0125.xine.html">review of xine</ulink>
|
9675
|
191 he continued stirring up controversy. Ironically at the end of that article
|
10144
|
192 he quotes his exchange with Günter Bartsch, the original author of <application>xine</application>,
|
9675
|
193 that perfectly summarizes the whole situation:
|
|
194
|
|
195 <blockquote><para>
|
|
196 However, he also went on to say that he was "surprised" by my column about
|
10111
|
197 <application>MPlayer</application> and thought it was unfair, reminding me that it is
|
|
198 a free software project. "If you don't like it," Bartsch said, "you're free not to use it."
|
9675
|
199 </para></blockquote>
|
|
200 </para>
|
|
201
|
|
202 <para>
|
|
203 He does not reply to our mails. His editor does not reply to our mails.
|
|
204 Here are some quotes from different people about Joe Barr, so you can form
|
|
205 your own opinion:
|
|
206 </para>
|
|
207
|
|
208 <para>
|
|
209 Marc Rassbach has
|
|
210 <ulink url="http://daily.daemonnews.org/view_story.php3?story_id=2102">something to say</ulink>
|
10111
|
211 about the man.
|
9675
|
212
|
|
213 <blockquote><para>
|
|
214 You may all remember the LinuxWorld 2000, when he claimed that Linus T said
|
|
215 that 'FreeBSD is just a handful of programmers'. Linus said NOTHING of the
|
|
216 sort. When Joe was called on this, his reaction was to call BSD supporters
|
|
217 assholes and jerks.
|
|
218 </para></blockquote>
|
|
219 </para>
|
|
220
|
|
221 <para>
|
|
222 A <ulink url="http://www.mplayerhq.hu/pipermail/mplayer-users/2001-December/009118.html">quote</ulink>
|
|
223 from Robert Munro on the
|
|
224 <ulink url="http://mplayerhq.hu/pipermail/mplayer-users/">mplayer-users</ulink>
|
|
225 mailing list:
|
|
226
|
|
227 <blockquote>
|
|
228 <para>
|
|
229 He's interesting, but not good at avoiding, um... controversy. Joe Barr
|
|
230 used to be one of the regulars on Will Zachmann's Canopus forum on
|
|
231 Compuserve, years ago. He was an OS/2 advocate then (I was an OS/2 fan
|
|
232 too).
|
|
233 </para>
|
|
234
|
|
235 <para>
|
|
236 He used to go over-the-top, flaming people, and I suspect he had some hard
|
|
237 times, then. He's mellowed some, judging by his columns recently.
|
|
238 Moderately subtle humor was not his mode in those earlier days, not at all.
|
|
239 </para>
|
|
240 </blockquote>
|
|
241 </para>
|
|
242
|
|
243 </sect1>
|
|
244 </appendix>
|