summaryrefslogtreecommitdiffstats
path: root/DOCS/users_against_developers.html
blob: 3e7886fad7863a3c2ddb2341b25766029d2c36cb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
<HTML>

<HEAD>
<STYLE>
	.text
		{font-family	:	Verdana, Arial, Helvetica, sans-serif;
		font-size	:	14px;}
</STYLE>
</HEAD>

<BODY BGCOLOR=white>

<FONT CLASS="text">

<P><B>In medias res</B></P>

<P>There are two major topics which always cause huge dispute and flame on the
<A HREF="http://mplayerhq.hu/pipermail/mplayer-users/">mplayer-users</A>
mailing list. Number one is the topic of the</P>

<P><A NAME=gcc><B>GCC 2.96 series</B></A></P>

<P><B>The background:</B> The GCC <B>2.95</B> series is an official GNU release
and version 2.95.3 of GCC is the most bug-free in that series.
We have never noticed compilation problems that we could trace to gcc-2.95.3. 
Starting with Red Hat Linux 7.0, <B>Red Hat</B> included a heavily
patched CVS version of GCC in their distribution and named it <B>2.96</B>. Red
Hat included this version in the distribution because GCC 3.0 was not finished at
the time, and they needed a compiler that worked well on all of their supported
platforms, including IA64 and s390. The Linux distributor <B>Mandrake</B>
also followed Red Hat's example and started shipping GCC 2.96 with their
Linux-Mandrake 8.0 series. </P>

<P><B>The statements:</B> The GCC team disclaimed any link with GCC 2.96 and issued an
<A HREF="http://gcc.gnu.org/gcc-2.96.html">official response</A> to GCC 2.96.
Many developers around the world began having problems with GCC 2.96, and
started recommending other compilers. Examples are
<A HREF="http://www.apachelabs.org/apr-mbox/200106.mbox/%3c20010623194228.C25512@ebuilt.com%3e">Apache</A>,
<A HREF="http://www.mysql.com/downloads/mysql-3.23.html">MySQL</A>,
<A HREF="http://avifile.sourceforge.net/news-old1.htm">avifile</A> and
<A HREF="http://www.winehq.com/news/?view=92#RH 7.1 gcc fixes compiler bug">Wine</A>.
Other interesting links are 
<A HREF="http://www.realtimelinux.org/archives/rtai/20017/0144.html">Real time Linux</A>,
<A HREF="http://www.atnf.csiro.au/people/rgooch/linux/docs/kernel-newsflash.html">
Linux kernel news flash about kernel 2.4.17</A> and
<A HREF="http://www.voy.com/3516/572.html">Voy Forum</A>.
<B>MPlayer</B> also suffered from intermittent problems that were all solved by
switching to a different version of GCC. Several projects started implementing
workarounds for some of the 2.96 issues, but we refused to fix other people's
bugs, especially since some workarounds may imply a performance penalty.</P>

<P>You can read about the other side of the story
<A HREF="http://www.bero.org/gcc296.html">here</A>.
GCC 2.96 does not allow | (pipe) characters in assembler comments
because it supports Intel as well as AT&amp;T Syntax and the | character is a
symbol in the Intel variant. The problem is that it <B>silently</B> ignores the
whole assembler block. This is supposedly fixed now, GCC prints a warning instead
of skipping the block.</P>

<P><B>The present:</B> Red Hat says that GCC 2.96-85 and above is fixed. The 
situation has indeed improved, yet we still see problem reports on our
mailing lists that disappear with a different compiler. In any case it does not
matter any longer. Hopefully a maturing GCC 3.x will solve the issue for good.
If you want to compile with 2.96 give the <CODE>--disable-gcc-checking</CODE>
flag to configure. Remember that you are on your own and <B>do not report any
bugs</B>. If you do, you will only get banned from our mailing list because
we have had more than enough flame wars over GCC 2.96. Please let the matter rest.</P>

<P>If you have problems with GCC 2.96, you can get 2.96-85 packages from the
Red Hat <A HREF="ftp://updates.redhat.com">ftp server</A>, or just go for the
3.04 packages offered for version 7.2 and later. If you do not want to or cannot
use the binary packages, here is how you can compile GCC 3.0.4 from source:</P>

<UL>
  <LI>Go to the <A HREF="http://gcc.gnu.org/mirrors.html">GCC mirrors page</A>
    page and download <CODE>gcc-core-3.0.4.tar.gz</CODE>.  This includes the
    complete C compiler and is sufficient for <B>MPlayer</B>. If you also want
    C++, Java or some of the other advanced GCC features
    <CODE>gcc-3.0.4.tar.gz</CODE> may better suit your needs.</LI>
  <LI>Extract the archive with<BR>
    <CODE>tar -xvzf gcc-core-3.0.4.tar.gz</CODE></LI>
  <LI>GCC is not built inside the source directory itself like most programs,
    but needs a build directory outside the source directory.  Thus you need to
    create this directory via<BR>
    <CODE>mkdir gcc-build</CODE></LI>
  <LI>Then you can proceed to configure gcc in the build directory, but you need
    the configure from the source directory:<BR>
    <CODE>cd gcc-build<BR>
    ../gcc-3.0.4/configure</CODE></LI>
  <LI>Compile GCC by issuing this command in the build directory:<BR>
    <CODE>make bootstrap</CODE></LI>
  <LI>Now you can install GCC (as root) by typing<BR>
    <CODE>make install</CODE></LI>
</UL>

<P><A NAME=binary><B>Binary distribution of MPlayer</B></A></P>

<P>This was the second big problem but has been solved as of version
0.90-pre1. <B>MPlayer</B> previously contained source from the OpenDivX project,
which disallows binary redistribution. This code has been removed and you are now
welcome to create binary packages as you see fit.</P>

<P>Another impediment to binary redistribution was compiletime optimizations
for CPU architecture.  <B>MPlayer</B> now supports runtime CPU detection.
Although this implies a small speed sacrifice, it is now possible to create
binaries that run on different members of the Intel CPU family. For optimum
performance you may wish to disable runtime CPU detection before compilation
(<CODE>configure --disable-runtime-cpudetection</CODE>).</P>

<P><A NAME=nvidia><B>nVidia</B></A></P>

<P>We dislike the fact that <A HREF="http://www.nvidia.com">nVidia</A>
 only provides binary drivers (for use with XFree86), which are often buggy. 
We have had many reports on
<A HREF="http://mplayerhq.hu/pipermail/mplayer-users/">mplayer-users</A>
about problems related to these closed-source drivers
and their poor quality, instability and poor user and expert support.
Here is an example from the
<A HREF="http://www.nvnews.net/forum/showthread.php?s=fda5725bc2151e29453b2da3bd5d2930&threadid=14306">
nVidia Linux Forum</A>.
Many of these problems/issues keep appearing repeatedly.
We have been contacted by nVidia lately, and they said these bugs
do not exist, instability is caused by bad AGP chips, and they received
no reports of driver bugs (like the purple line). So if you have a
problem with your nVidia card, you are advised to update the nVidia driver 
and/or buy a new motherboard or ask nVidia to supply open-source drivers. 
In any case, if you are using the nVidia binary drivers and facing driver related problems,
please be aware that you will receive very little help from our side because we have 
little power to help in this matter.</P>

<P><A NAME=kotsog><B>Joe Barr</B></A></P>

<P>Joe Barr became infamous by writing a less than favorable
<A HREF="http://www.linuxworld.com/site-stories/2001/1214.mplayer.html">
<B>MPlayer</B> review</A>. He found <B>MPlayer</B> hard to install, but then
again he is not very fond of
<A HREF="http://www.linuxworld.com/linuxworld/lw-2000-06/lw-06-exam.html">reading documentation</A>.
He also concluded that the developers were unfriendly and the documentation
incomplete and insulting. You be the judge.
He went on to mention <B>MPlayer</B> negatively in his
<A HREF="http://www.linuxworld.com/site-stories/2001/1227.predictions.html">10 Linux predictions for 2002</A>
In a followup
<A HREF="http://www.linuxworld.com/site-stories/2002/0125.xine.html">review of xine</A>
he continued stirring up controversy. Ironically at the end of that article he
quotes his exchange with Günter Bartsch, the original author of xine, that
perfectly summarizes the whole situation:</P>

<BLOCKQUOTE>
However, he also went on to say that he was "surprised" by my column about
Mplayer and thought it was unfair, reminding me that it is a free software
project. "If you don't like it," Bartsch said, "you're free not to use it." 
</BLOCKQUOTE>
</P>

<P>He does not reply to our mails. His editor does not reply to our mails.
Here are some quotes from different people about Joe Barr, so you can form your
own opinion:</P>

<P>Marc Rassbach has <A HREF="http://daily.daemonnews.org/view_story.php3?story_id=2102">something to say</A>
about the man
</P>

<BLOCKQUOTE>
You may all remember the LinuxWorld 2000, when he claimed that Linus T said
that 'FreeBSD is just a handful of programmers'. Linus said NOTHING of the
sort. When Joe was called on this, his reaction was to call BSD supporters
assholes and jerks.
</BLOCKQUOTE>

<P>A <A HREF="http://www.mplayerhq.hu/pipermail/mplayer-users/2001-December/009118.html">quote</A>
from Robert Munro on the
<A HREF="http://mplayerhq.hu/pipermail/mplayer-users/">mplayer-users</A>
mailinglist:</P>

<BLOCKQUOTE>
<P>He's interesting, but not good at avoiding, um... controversy.  Joe Barr
used to be one of the regulars on Will Zachmann's Canopus forum on Compuserve,
years ago.  He was an OS/2 advocate then (I was an OS/2 fan too).<P>

<P>He used to go over-the-top, flaming people, and I suspect he had some hard
times, then. He's mellowed some, judging by his columns recently.  Moderately
subtle humor was not his mode in those earlier days, not at all.</P>
</BLOCKQUOTE>

</HTML>