2003-03-23 23:35:12 +00:00
|
|
|
|
<?xml version="1.0" encoding="iso-8859-1"?>
|
2003-09-21 13:05:42 +00:00
|
|
|
|
<!-- $Revision$ -->
|
2003-03-23 23:35:12 +00:00
|
|
|
|
<appendix id="users-vs-dev">
|
|
|
|
|
<title>Developer cries</title>
|
|
|
|
|
|
|
|
|
|
<sect1 id="gcc-296">
|
|
|
|
|
<title>GCC 2.96</title>
|
|
|
|
|
|
|
|
|
|
<formalpara>
|
|
|
|
|
<title>The background:</title>
|
|
|
|
|
<para>
|
2003-05-16 13:30:51 +00:00
|
|
|
|
The GCC <emphasis role="bold">2.95</emphasis> series is an official GNU release and
|
2003-03-23 23:35:12 +00:00
|
|
|
|
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
|
2003-05-16 13:30:51 +00:00
|
|
|
|
with Red Hat Linux 7.0, <emphasis role="bold">Red Hat</emphasis> included a heavily
|
2003-03-23 23:35:12 +00:00
|
|
|
|
patched CVS version of GCC in their distribution and named it
|
2003-05-16 13:30:51 +00:00
|
|
|
|
<emphasis role="bold">2.96</emphasis>. Red Hat included this version in the
|
2003-03-23 23:35:12 +00:00
|
|
|
|
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
|
2005-07-02 23:33:40 +00:00
|
|
|
|
IA64 and s390. The Linux distributor <emphasis role="bold">Mandrake</emphasis>
|
|
|
|
|
(now Mandriva) also followed Red Hat's example and started shipping GCC 2.96
|
|
|
|
|
with their Linux-Mandrake 8.0 series.
|
2003-03-23 23:35:12 +00:00
|
|
|
|
</para>
|
|
|
|
|
</formalpara>
|
|
|
|
|
|
|
|
|
|
<formalpara>
|
|
|
|
|
<title>The statements:</title>
|
|
|
|
|
<para>
|
|
|
|
|
The GCC team disclaimed any link with GCC 2.96 and issued an
|
|
|
|
|
<ulink url="http://gcc.gnu.org/gcc-2.96.html">official response</ulink>
|
2003-05-16 13:30:51 +00:00
|
|
|
|
to GCC 2.96. Many developers around the world began having problems with
|
2004-12-06 23:17:56 +00:00
|
|
|
|
GCC 2.96, and several projects,
|
|
|
|
|
<ulink url="http://avifile.sf.net/news-old1.htm">avifile</ulink> among them,
|
|
|
|
|
started recommending other compilers.
|
2004-04-17 23:21:05 +00:00
|
|
|
|
Other interesting links are
|
2003-03-23 23:35:12 +00:00
|
|
|
|
<ulink url="http://www.atnf.csiro.au/people/rgooch/linux/docs/kernel-newsflash.html">
|
|
|
|
|
Linux kernel news flash about kernel 2.4.17</ulink>
|
|
|
|
|
and
|
|
|
|
|
<ulink url="http://www.voy.com/3516/572.html">Voy Forum</ulink>.
|
|
|
|
|
<application>MPlayer</application> 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.
|
|
|
|
|
</para>
|
|
|
|
|
</formalpara>
|
|
|
|
|
|
|
|
|
|
<para>
|
|
|
|
|
GCC 2.96 does not allow <literal>|</literal> (pipe) characters in assembler
|
|
|
|
|
comments because it supports Intel as well as AT&T Syntax and the
|
|
|
|
|
<literal>|</literal> character is a symbol in the Intel variant. The
|
|
|
|
|
problem is that it <emphasis>silently</emphasis> ignores the whole
|
|
|
|
|
assembler block. This is supposedly fixed now, GCC prints a warning instead
|
|
|
|
|
of skipping the block.
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
|
|
<formalpara>
|
|
|
|
|
<title>The present:</title>
|
|
|
|
|
<para>
|
|
|
|
|
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 <option>--disable-gcc-checking</option>
|
|
|
|
|
flag to <filename>configure</filename>. Remember that you are on your own
|
2003-05-16 13:30:51 +00:00
|
|
|
|
and <emphasis role="bold">do not report any bugs</emphasis>. If you do, you will only
|
2003-03-23 23:35:12 +00:00
|
|
|
|
get banned from our mailing list because we have had more than enough flame
|
|
|
|
|
wars over GCC 2.96. Please let the matter rest.
|
|
|
|
|
</para>
|
|
|
|
|
</formalpara>
|
|
|
|
|
|
|
|
|
|
<para>
|
|
|
|
|
If you have problems with GCC 2.96, you can get 2.96-85 packages from the
|
|
|
|
|
Red Hat <ulink url="ftp://updates.redhat.com">ftp server</ulink>, or just
|
|
|
|
|
go for the 3.0.4 packages offered for version 7.2 and later. You can also
|
2004-12-05 23:54:49 +00:00
|
|
|
|
get <ulink url="ftp://people.redhat.com/jakub/gcc/errata/3.2.3-37/">gcc-3.2.3-37 packages</ulink>
|
2003-03-23 23:35:12 +00:00
|
|
|
|
(unofficial, but working fine)
|
2003-11-30 13:07:40 +00:00
|
|
|
|
and you can install them along the gcc-2.96 you already have.
|
|
|
|
|
<application>MPlayer</application> will detect it and use 3.2 instead of 2.96.
|
|
|
|
|
If you do not want to or cannot use the binary packages, here is how you can
|
|
|
|
|
compile GCC 3 from source:
|
2003-03-23 23:35:12 +00:00
|
|
|
|
</para>
|
|
|
|
|
|
|
|
|
|
<procedure>
|
|
|
|
|
<step><para>
|
|
|
|
|
Go to the
|
2003-05-16 13:30:51 +00:00
|
|
|
|
<ulink url="http://gcc.gnu.org/mirrors.html">GCC mirrors page</ulink>
|
|
|
|
|
page and download <filename>gcc-core-<replaceable>XXX</replaceable>.tar.gz</filename>
|
|
|
|
|
where <replaceable>XXX</replaceable> is the version number. This includes the complete
|
|
|
|
|
C compiler and is sufficient for <application>MPlayer</application>. If you also want
|
|
|
|
|
C++, Java or some of the other advanced GCC features
|
|
|
|
|
<filename>gcc-<replaceable>XXX</replaceable>.tar.gz</filename> may better suit your needs.
|
2003-03-23 23:35:12 +00:00
|
|
|
|
</para></step>
|
|
|
|
|
<step><para>
|
|
|
|
|
Extract the archive with
|
2003-05-16 13:30:51 +00:00
|
|
|
|
<screen>tar -xvzf gcc-core-<replaceable>XXX</replaceable>.tar.gz</screen>
|
2003-03-23 23:35:12 +00:00
|
|
|
|
</para></step>
|
|
|
|
|
<step><para>
|
|
|
|
|
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
|
|
|
|
|
<screen>mkdir gcc-build</screen>
|
|
|
|
|
</para></step>
|
|
|
|
|
<step><para>
|
|
|
|
|
Then you can proceed to configure gcc in the build directory, but you
|
|
|
|
|
need the configure from the source directory:
|
|
|
|
|
<screen>
|
|
|
|
|
cd gcc-build
|
2003-05-16 13:30:51 +00:00
|
|
|
|
../gcc-3.<replaceable>XXX</replaceable>/configure</screen>
|
2003-03-23 23:35:12 +00:00
|
|
|
|
</para></step>
|
|
|
|
|
<step><para>
|
|
|
|
|
Compile GCC by issuing this command in the build directory:
|
|
|
|
|
<screen>make bootstrap</screen>
|
|
|
|
|
</para></step>
|
|
|
|
|
<step><para>
|
|
|
|
|
Now you can install GCC (as root) by typing
|
|
|
|
|
<screen>make install</screen>
|
|
|
|
|
</para></step>
|
|
|
|
|
</procedure>
|
|
|
|
|
</sect1>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<sect1 id="mplayer-binary">
|
|
|
|
|
<title>Binary distribution</title>
|
|
|
|
|
|
|
|
|
|
<para>
|
|
|
|
|
<application>MPlayer</application> previously contained source from the
|
|
|
|
|
OpenDivX project, which disallows binary redistribution.This code has been
|
|
|
|
|
removed in version 0.90-pre1 and the remaining file <filename>divx_vbr.c</filename>
|
|
|
|
|
that is derived from OpenDivX sources has been put under the GPL by its authors
|
|
|
|
|
as of version 0.90pre9. You are now welcome to create binary packages as you
|
|
|
|
|
see fit.
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
|
|
<para>
|
|
|
|
|
Another impediment to binary redistribution was compiletime optimizations
|
2003-05-16 13:30:51 +00:00
|
|
|
|
for CPU architecture. <application>MPlayer</application> now supports
|
2003-10-26 23:08:16 +00:00
|
|
|
|
runtime CPU detection (pass the
|
|
|
|
|
<option>--enable-runtime-cpudetection</option> to <command>configure</command>).
|
|
|
|
|
It is disabled by default because it implies a small speed sacrifice, but it is
|
2003-03-23 23:35:12 +00:00
|
|
|
|
now possible to create binaries that run on different members of the Intel
|
2003-11-12 21:48:06 +00:00
|
|
|
|
compatible CPU family.
|
2003-03-23 23:35:12 +00:00
|
|
|
|
</para>
|
|
|
|
|
</sect1>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<sect1 id="nvidia-opinions">
|
|
|
|
|
<title>nVidia</title>
|
|
|
|
|
|
|
|
|
|
<para>
|
|
|
|
|
We dislike the fact that <ulink url="http://www.nvidia.com">nVidia</ulink>
|
2004-07-14 09:05:47 +00:00
|
|
|
|
only provides binary drivers (for use with XFree86), which are often buggy.
|
2003-03-23 23:35:12 +00:00
|
|
|
|
We have had many reports on
|
|
|
|
|
<ulink url="http://mplayerhq.hu/pipermail/mplayer-users/">mplayer-users</ulink>
|
|
|
|
|
about problems related to these closed-source drivers
|
|
|
|
|
and their poor quality, instability and poor user and expert support.
|
|
|
|
|
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.
|
|
|
|
|
</para>
|
|
|
|
|
</sect1>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<sect1 id="joe-barr">
|
|
|
|
|
<title>Joe Barr</title>
|
|
|
|
|
|
|
|
|
|
<para>
|
2003-10-26 23:08:16 +00:00
|
|
|
|
Joe Barr became infamous in december 2001 by writing a less than favorable
|
|
|
|
|
<application>MPlayer</application> review called
|
2003-11-30 13:07:40 +00:00
|
|
|
|
<ulink url="http://www.linuxworld.com/story/32880.htm"><application>MPlayer</application>: The project from hell</ulink>.
|
2003-10-26 23:08:16 +00:00
|
|
|
|
He found <application>MPlayer</application> hard to install, and concluded
|
|
|
|
|
that the developers were unfriendly and the documentation
|
|
|
|
|
incomplete and insulting. You be the judge of that.
|
|
|
|
|
He went on to mention Arpi negatively in his
|
|
|
|
|
<ulink url="http://www.linuxworld.com/story/32887.htm">10 Linux predictions for 2002</ulink>.
|
|
|
|
|
In a followup review of xine called
|
|
|
|
|
<ulink url="http://www.linuxworld.com/story/32716.htm">A streaming media player for the rest of us</ulink>
|
2003-03-23 23:35:12 +00:00
|
|
|
|
he continued stirring up controversy. Ironically at the end of that article
|
2003-05-21 11:12:17 +00:00
|
|
|
|
he quotes his exchange with G<>nter Bartsch, the original author of <application>xine</application>,
|
2003-03-23 23:35:12 +00:00
|
|
|
|
that perfectly summarizes the whole situation:
|
|
|
|
|
|
|
|
|
|
<blockquote><para>
|
2004-04-17 23:21:05 +00:00
|
|
|
|
However, he also went on to say that he was "surprised" by my column
|
|
|
|
|
about <application>Mplayer</application> 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."
|
2003-03-23 23:35:12 +00:00
|
|
|
|
</para></blockquote>
|
|
|
|
|
|
2003-10-26 23:08:16 +00:00
|
|
|
|
Almost two years later in october 2003 he wrote another review called
|
2004-04-17 23:21:05 +00:00
|
|
|
|
<ulink url="http://www.newsforge.com/article.pl?sid=03/10/02/0343200">Mplayer revisited</ulink>
|
|
|
|
|
(wrong spelling preserved).
|
2003-10-27 10:25:56 +00:00
|
|
|
|
In it he came to the following conclusions:
|
2003-03-23 23:35:12 +00:00
|
|
|
|
|
|
|
|
|
<blockquote><para>
|
2003-10-26 23:08:16 +00:00
|
|
|
|
I would have to say that there have been improvements in the number of
|
|
|
|
|
features, in performance, and in documentation. It's still not the
|
|
|
|
|
easiest install in the world, especially for newbies, but it's a
|
|
|
|
|
little better than it used to be.
|
2003-03-23 23:35:12 +00:00
|
|
|
|
</para></blockquote>
|
|
|
|
|
|
2003-10-26 23:08:16 +00:00
|
|
|
|
and
|
2003-03-23 23:35:12 +00:00
|
|
|
|
|
2003-10-26 23:08:16 +00:00
|
|
|
|
<blockquote><para>
|
|
|
|
|
But more importantly, I didn't notice any recent comments about user
|
|
|
|
|
abuse. I think I deserve some of the credit for that, even if I do say
|
|
|
|
|
so myself. Arpi and the rest of the project team must feel that way
|
|
|
|
|
too, because they have taken care to remember me in a special section
|
|
|
|
|
of the documentation included in the tarball. Like I said at the
|
|
|
|
|
start, some things haven't changed at all.
|
|
|
|
|
</para></blockquote>
|
2003-03-23 23:35:12 +00:00
|
|
|
|
|
2003-10-26 23:08:16 +00:00
|
|
|
|
We could not have summarized our feelings towards Joe Barr better:
|
|
|
|
|
"It's still not the fairest or best researched article in the world,
|
|
|
|
|
but it's better than it used to be." Hopefully the next time around
|
|
|
|
|
we will meet each other's expectations. However, the credit for maturity
|
|
|
|
|
goes to our increasing age only, and maybe to being weary of flame wars.
|
2003-03-23 23:35:12 +00:00
|
|
|
|
</para>
|
|
|
|
|
|
|
|
|
|
</sect1>
|
|
|
|
|
</appendix>
|