Mercurial > mplayer.hg
annotate DOCS/xml/en/users-vs-dev.xml @ 14654:ca1f3ca346b3
Add Reimar's hint for building 32 bit MPlayer on Athlon64.
author | diego |
---|---|
date | Sat, 05 Feb 2005 14:19:42 +0000 |
parents | 1a16342f11a2 |
children | 688fa06538ef |
rev | line source |
---|---|
9675 | 1 <?xml version="1.0" encoding="iso-8859-1"?> |
10913
49b1a67e7381
Add revision keyword to english xml files, to ease translation synchronization
lumag
parents:
10144
diff
changeset
|
2 <!-- $Revision$ --> |
9675 | 3 <appendix id="users-vs-dev"> |
4 <title>Developer cries</title> | |
5 | |
6 <sect1 id="gcc-296"> | |
7 <title>GCC 2.96</title> | |
8 | |
9 <formalpara> | |
10 <title>The background:</title> | |
11 <para> | |
10111 | 12 The GCC <emphasis role="bold">2.95</emphasis> series is an official GNU release and |
9675 | 13 version 2.95.3 of GCC is the most bug-free in that series. We have never |
14 noticed compilation problems that we could trace to gcc-2.95.3. Starting | |
10111 | 15 with Red Hat Linux 7.0, <emphasis role="bold">Red Hat</emphasis> included a heavily |
9675 | 16 patched CVS version of GCC in their distribution and named it |
10111 | 17 <emphasis role="bold">2.96</emphasis>. Red Hat included this version in the |
9675 | 18 distribution because GCC 3.0 was not finished at the time, and they needed |
19 a compiler that worked well on all of their supported platforms, including | |
10111 | 20 IA64 and s390. The Linux distributor <emphasis role="bold">Mandrake</emphasis> also |
9675 | 21 followed Red Hat's example and started shipping GCC 2.96 with their |
22 Linux-Mandrake 8.0 series. | |
23 </para> | |
24 </formalpara> | |
25 | |
26 <formalpara> | |
27 <title>The statements:</title> | |
28 <para> | |
29 The GCC team disclaimed any link with GCC 2.96 and issued an | |
30 <ulink url="http://gcc.gnu.org/gcc-2.96.html">official response</ulink> | |
10111 | 31 to GCC 2.96. Many developers around the world began having problems with |
14120 | 32 GCC 2.96, and several projects, |
33 <ulink url="http://avifile.sf.net/news-old1.htm">avifile</ulink> among them, | |
34 started recommending other compilers. | |
12229 | 35 Other interesting links are |
9675 | 36 <ulink url="http://www.atnf.csiro.au/people/rgooch/linux/docs/kernel-newsflash.html"> |
37 Linux kernel news flash about kernel 2.4.17</ulink> | |
38 and | |
39 <ulink url="http://www.voy.com/3516/572.html">Voy Forum</ulink>. | |
40 <application>MPlayer</application> also suffered from intermittent problems | |
41 that were all solved by switching to a different version of GCC. Several | |
42 projects started implementing workarounds for some of the 2.96 issues, but | |
43 we refused to fix other people's bugs, especially since some workarounds | |
44 may imply a performance penalty. | |
45 </para> | |
46 </formalpara> | |
47 | |
48 <para> | |
49 GCC 2.96 does not allow <literal>|</literal> (pipe) characters in assembler | |
50 comments because it supports Intel as well as AT&T Syntax and the | |
51 <literal>|</literal> character is a symbol in the Intel variant. The | |
52 problem is that it <emphasis>silently</emphasis> ignores the whole | |
53 assembler block. This is supposedly fixed now, GCC prints a warning instead | |
54 of skipping the block. | |
55 </para> | |
56 | |
57 <formalpara> | |
58 <title>The present:</title> | |
59 <para> | |
60 Red Hat says that GCC 2.96-85 and above is fixed. The situation has indeed | |
61 improved, yet we still see problem reports on our mailing lists that | |
62 disappear with a different compiler. In any case it does not matter any | |
63 longer. Hopefully a maturing GCC 3.x will solve the issue for good. If you | |
64 want to compile with 2.96 give the <option>--disable-gcc-checking</option> | |
65 flag to <filename>configure</filename>. Remember that you are on your own | |
10111 | 66 and <emphasis role="bold">do not report any bugs</emphasis>. If you do, you will only |
9675 | 67 get banned from our mailing list because we have had more than enough flame |
68 wars over GCC 2.96. Please let the matter rest. | |
69 </para> | |
70 </formalpara> | |
71 | |
72 <para> | |
73 If you have problems with GCC 2.96, you can get 2.96-85 packages from the | |
74 Red Hat <ulink url="ftp://updates.redhat.com">ftp server</ulink>, or just | |
75 go for the 3.0.4 packages offered for version 7.2 and later. You can also | |
14113 | 76 get <ulink url="ftp://people.redhat.com/jakub/gcc/errata/3.2.3-37/">gcc-3.2.3-37 packages</ulink> |
9675 | 77 (unofficial, but working fine) |
11540 | 78 and you can install them along the gcc-2.96 you already have. |
79 <application>MPlayer</application> will detect it and use 3.2 instead of 2.96. | |
80 If you do not want to or cannot use the binary packages, here is how you can | |
81 compile GCC 3 from source: | |
9675 | 82 </para> |
83 | |
84 <procedure> | |
85 <step><para> | |
86 Go to the | |
10111 | 87 <ulink url="http://gcc.gnu.org/mirrors.html">GCC mirrors page</ulink> |
88 page and download <filename>gcc-core-<replaceable>XXX</replaceable>.tar.gz</filename> | |
89 where <replaceable>XXX</replaceable> is the version number. This includes the complete | |
90 C compiler and is sufficient for <application>MPlayer</application>. If you also want | |
91 C++, Java or some of the other advanced GCC features | |
92 <filename>gcc-<replaceable>XXX</replaceable>.tar.gz</filename> may better suit your needs. | |
9675 | 93 </para></step> |
94 <step><para> | |
95 Extract the archive with | |
10111 | 96 <screen>tar -xvzf gcc-core-<replaceable>XXX</replaceable>.tar.gz</screen> |
9675 | 97 </para></step> |
98 <step><para> | |
99 GCC is not built inside the source directory itself like most programs, | |
100 but needs a build directory outside the source directory. Thus you need | |
101 to create this directory via | |
102 <screen>mkdir gcc-build</screen> | |
103 </para></step> | |
104 <step><para> | |
105 Then you can proceed to configure gcc in the build directory, but you | |
106 need the configure from the source directory: | |
107 <screen> | |
108 cd gcc-build | |
10111 | 109 ../gcc-3.<replaceable>XXX</replaceable>/configure</screen> |
9675 | 110 </para></step> |
111 <step><para> | |
112 Compile GCC by issuing this command in the build directory: | |
113 <screen>make bootstrap</screen> | |
114 </para></step> | |
115 <step><para> | |
116 Now you can install GCC (as root) by typing | |
117 <screen>make install</screen> | |
118 </para></step> | |
119 </procedure> | |
120 </sect1> | |
121 | |
122 | |
123 <sect1 id="mplayer-binary"> | |
124 <title>Binary distribution</title> | |
125 | |
126 <para> | |
127 <application>MPlayer</application> previously contained source from the | |
128 OpenDivX project, which disallows binary redistribution.This code has been | |
129 removed in version 0.90-pre1 and the remaining file <filename>divx_vbr.c</filename> | |
130 that is derived from OpenDivX sources has been put under the GPL by its authors | |
131 as of version 0.90pre9. You are now welcome to create binary packages as you | |
132 see fit. | |
133 </para> | |
134 | |
135 <para> | |
136 Another impediment to binary redistribution was compiletime optimizations | |
10111 | 137 for CPU architecture. <application>MPlayer</application> now supports |
11278
ff78d7ceecaa
Dead links updated or removed, Joe Barr section rewritten taking into
diego
parents:
10913
diff
changeset
|
138 runtime CPU detection (pass the |
ff78d7ceecaa
Dead links updated or removed, Joe Barr section rewritten taking into
diego
parents:
10913
diff
changeset
|
139 <option>--enable-runtime-cpudetection</option> to <command>configure</command>). |
ff78d7ceecaa
Dead links updated or removed, Joe Barr section rewritten taking into
diego
parents:
10913
diff
changeset
|
140 It is disabled by default because it implies a small speed sacrifice, but it is |
9675 | 141 now possible to create binaries that run on different members of the Intel |
11450
3c42df11d60e
Intel --> Intel compatible, inspired by Maciej Paszta <paszczi@go2.pl>
diego
parents:
11290
diff
changeset
|
142 compatible CPU family. |
9675 | 143 </para> |
144 </sect1> | |
145 | |
146 | |
147 <sect1 id="nvidia-opinions"> | |
148 <title>nVidia</title> | |
149 | |
150 <para> | |
151 We dislike the fact that <ulink url="http://www.nvidia.com">nVidia</ulink> | |
12815 | 152 only provides binary drivers (for use with XFree86), which are often buggy. |
9675 | 153 We have had many reports on |
154 <ulink url="http://mplayerhq.hu/pipermail/mplayer-users/">mplayer-users</ulink> | |
155 about problems related to these closed-source drivers | |
156 and their poor quality, instability and poor user and expert support. | |
157 Many of these problems/issues keep appearing repeatedly. | |
158 We have been contacted by nVidia lately, and they said these bugs do not | |
159 exist, instability is caused by bad AGP chips, and they received no reports | |
160 of driver bugs (like the purple line). So if you have a problem with your | |
161 nVidia card, you are advised to update the nVidia driver and/or buy a new | |
162 motherboard or ask nVidia to supply open-source drivers. In any case, if | |
163 you are using the nVidia binary drivers and facing driver related problems, | |
164 please be aware that you will receive very little help from our side | |
165 because we have little power to help in this matter. | |
166 </para> | |
167 </sect1> | |
168 | |
169 | |
170 <sect1 id="joe-barr"> | |
171 <title>Joe Barr</title> | |
172 | |
173 <para> | |
11278
ff78d7ceecaa
Dead links updated or removed, Joe Barr section rewritten taking into
diego
parents:
10913
diff
changeset
|
174 Joe Barr became infamous in december 2001 by writing a less than favorable |
ff78d7ceecaa
Dead links updated or removed, Joe Barr section rewritten taking into
diego
parents:
10913
diff
changeset
|
175 <application>MPlayer</application> review called |
11540 | 176 <ulink url="http://www.linuxworld.com/story/32880.htm"><application>MPlayer</application>: The project from hell</ulink>. |
11278
ff78d7ceecaa
Dead links updated or removed, Joe Barr section rewritten taking into
diego
parents:
10913
diff
changeset
|
177 He found <application>MPlayer</application> hard to install, and concluded |
ff78d7ceecaa
Dead links updated or removed, Joe Barr section rewritten taking into
diego
parents:
10913
diff
changeset
|
178 that the developers were unfriendly and the documentation |
ff78d7ceecaa
Dead links updated or removed, Joe Barr section rewritten taking into
diego
parents:
10913
diff
changeset
|
179 incomplete and insulting. You be the judge of that. |
ff78d7ceecaa
Dead links updated or removed, Joe Barr section rewritten taking into
diego
parents:
10913
diff
changeset
|
180 He went on to mention Arpi negatively in his |
ff78d7ceecaa
Dead links updated or removed, Joe Barr section rewritten taking into
diego
parents:
10913
diff
changeset
|
181 <ulink url="http://www.linuxworld.com/story/32887.htm">10 Linux predictions for 2002</ulink>. |
ff78d7ceecaa
Dead links updated or removed, Joe Barr section rewritten taking into
diego
parents:
10913
diff
changeset
|
182 In a followup review of xine called |
ff78d7ceecaa
Dead links updated or removed, Joe Barr section rewritten taking into
diego
parents:
10913
diff
changeset
|
183 <ulink url="http://www.linuxworld.com/story/32716.htm">A streaming media player for the rest of us</ulink> |
9675 | 184 he continued stirring up controversy. Ironically at the end of that article |
10144 | 185 he quotes his exchange with Günter Bartsch, the original author of <application>xine</application>, |
9675 | 186 that perfectly summarizes the whole situation: |
187 | |
188 <blockquote><para> | |
12229 | 189 However, he also went on to say that he was "surprised" by my column |
190 about <application>Mplayer</application> and thought it was unfair, reminding | |
191 me that it is a free software project. "If you don't like it," | |
192 Bartsch said, "you're free not to use it." | |
9675 | 193 </para></blockquote> |
194 | |
11278
ff78d7ceecaa
Dead links updated or removed, Joe Barr section rewritten taking into
diego
parents:
10913
diff
changeset
|
195 Almost two years later in october 2003 he wrote another review called |
12229 | 196 <ulink url="http://www.newsforge.com/article.pl?sid=03/10/02/0343200">Mplayer revisited</ulink> |
197 (wrong spelling preserved). | |
11290 | 198 In it he came to the following conclusions: |
9675 | 199 |
200 <blockquote><para> | |
11278
ff78d7ceecaa
Dead links updated or removed, Joe Barr section rewritten taking into
diego
parents:
10913
diff
changeset
|
201 I would have to say that there have been improvements in the number of |
ff78d7ceecaa
Dead links updated or removed, Joe Barr section rewritten taking into
diego
parents:
10913
diff
changeset
|
202 features, in performance, and in documentation. It's still not the |
ff78d7ceecaa
Dead links updated or removed, Joe Barr section rewritten taking into
diego
parents:
10913
diff
changeset
|
203 easiest install in the world, especially for newbies, but it's a |
ff78d7ceecaa
Dead links updated or removed, Joe Barr section rewritten taking into
diego
parents:
10913
diff
changeset
|
204 little better than it used to be. |
9675 | 205 </para></blockquote> |
206 | |
11278
ff78d7ceecaa
Dead links updated or removed, Joe Barr section rewritten taking into
diego
parents:
10913
diff
changeset
|
207 and |
9675 | 208 |
11278
ff78d7ceecaa
Dead links updated or removed, Joe Barr section rewritten taking into
diego
parents:
10913
diff
changeset
|
209 <blockquote><para> |
ff78d7ceecaa
Dead links updated or removed, Joe Barr section rewritten taking into
diego
parents:
10913
diff
changeset
|
210 But more importantly, I didn't notice any recent comments about user |
ff78d7ceecaa
Dead links updated or removed, Joe Barr section rewritten taking into
diego
parents:
10913
diff
changeset
|
211 abuse. I think I deserve some of the credit for that, even if I do say |
ff78d7ceecaa
Dead links updated or removed, Joe Barr section rewritten taking into
diego
parents:
10913
diff
changeset
|
212 so myself. Arpi and the rest of the project team must feel that way |
ff78d7ceecaa
Dead links updated or removed, Joe Barr section rewritten taking into
diego
parents:
10913
diff
changeset
|
213 too, because they have taken care to remember me in a special section |
ff78d7ceecaa
Dead links updated or removed, Joe Barr section rewritten taking into
diego
parents:
10913
diff
changeset
|
214 of the documentation included in the tarball. Like I said at the |
ff78d7ceecaa
Dead links updated or removed, Joe Barr section rewritten taking into
diego
parents:
10913
diff
changeset
|
215 start, some things haven't changed at all. |
ff78d7ceecaa
Dead links updated or removed, Joe Barr section rewritten taking into
diego
parents:
10913
diff
changeset
|
216 </para></blockquote> |
9675 | 217 |
11278
ff78d7ceecaa
Dead links updated or removed, Joe Barr section rewritten taking into
diego
parents:
10913
diff
changeset
|
218 We could not have summarized our feelings towards Joe Barr better: |
ff78d7ceecaa
Dead links updated or removed, Joe Barr section rewritten taking into
diego
parents:
10913
diff
changeset
|
219 "It's still not the fairest or best researched article in the world, |
ff78d7ceecaa
Dead links updated or removed, Joe Barr section rewritten taking into
diego
parents:
10913
diff
changeset
|
220 but it's better than it used to be." Hopefully the next time around |
ff78d7ceecaa
Dead links updated or removed, Joe Barr section rewritten taking into
diego
parents:
10913
diff
changeset
|
221 we will meet each other's expectations. However, the credit for maturity |
ff78d7ceecaa
Dead links updated or removed, Joe Barr section rewritten taking into
diego
parents:
10913
diff
changeset
|
222 goes to our increasing age only, and maybe to being weary of flame wars. |
9675 | 223 </para> |
224 | |
225 </sect1> | |
226 </appendix> |