annotate DOCS/users_against_developers.html @ 2919:40254e0cba96

more flame
author gabucino
date Thu, 15 Nov 2001 20:05:52 +0000
parents 56428bdf583e
children bdcfa801fc57
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2867
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
1 <HTML>
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
2 <BODY BGCOLOR=white>
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
3
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
4 <FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
5
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
6 <P><B><I>In medias res</I></B></P>
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
7
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
8 <P>There are two major topic which always causes huge dispute and flame on the
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
9 <A HREF="http://www.MPlayerHQ.hu/cgi-bin/htsearch">mplayer-users</A>
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
10 mailing list. Number one is of course the topic of the</P>
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
11
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
12 <P><B><I>GCC 2.96 series</I></B></P>
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
13
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
14 <P>The <I>background</I> : there were/are the GCC <B>2.95</B> series. The
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
15 best of them was 2.95.3 . Please note the style of the version numbering.
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
16 This is how the GCC team numbers their compilers. The 2.95 series are good.
2910
56428bdf583e removed bad and not proven statemets...
arpi
parents: 2867
diff changeset
17 We never ever saw anything that was miscompiled because of the 2.95's faultiness.</P>
2867
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
18
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
19 <P>The <I>action</I> : <B>RedHat</B> started to include a GCC version of <B>2.96</B>
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
20 with their distributions. Note the version numbering. This should be the GCC
2910
56428bdf583e removed bad and not proven statemets...
arpi
parents: 2867
diff changeset
21 team's versioning. They patched the CVS version of GCC (something between 2.95 and 3.0)
2919
40254e0cba96 more flame
gabucino
parents: 2910
diff changeset
22 They patched it very deep, and used this version in the distrib because 3.0
40254e0cba96 more flame
gabucino
parents: 2910
diff changeset
23 wasn't out at time, and they wanted IA64 support ASAP (business reasons).
40254e0cba96 more flame
gabucino
parents: 2910
diff changeset
24 Oh, and GCC 2.95 miscompiles bash on the s390 architecture (there is
40254e0cba96 more flame
gabucino
parents: 2910
diff changeset
25 no RedHat distribution for s390..) .</P>
40254e0cba96 more flame
gabucino
parents: 2910
diff changeset
26
40254e0cba96 more flame
gabucino
parents: 2910
diff changeset
27 <P>The <I>facts</I> : <B>MPlayer</B>'s compile process needs the
40254e0cba96 more flame
gabucino
parents: 2910
diff changeset
28 <CODE>--disable-gcc-checking</CODE> to proceed upon detecting a GCC version of
40254e0cba96 more flame
gabucino
parents: 2910
diff changeset
29 2.96 (apparently it needs this option on <B>egcs</B> too. It's because we don't
40254e0cba96 more flame
gabucino
parents: 2910
diff changeset
30 test <B>MPlayer</B> on egcs. Pardon us, but we rather develop <B>MPlayer</B>).
40254e0cba96 more flame
gabucino
parents: 2910
diff changeset
31 If you know <B>MPlayer</B>, you should know that it has great speed. It
40254e0cba96 more flame
gabucino
parents: 2910
diff changeset
32 achieves this by having overoptimized MMX/SSE/3DNow/etc codes, fastmemcpy, and
40254e0cba96 more flame
gabucino
parents: 2910
diff changeset
33 lots of other features. <B>MPlayer</B> contained MMX/3DNow instructions in a
40254e0cba96 more flame
gabucino
parents: 2910
diff changeset
34 syntax that all Linux compilers accept it... except RedHat's GCC (it's more
40254e0cba96 more flame
gabucino
parents: 2910
diff changeset
35 standard compliant). It simply <B><I>skips</I></B> them. It doesn't give
40254e0cba96 more flame
gabucino
parents: 2910
diff changeset
36 errors. It doesn't give warnings. But hey, it compiles bash on s390 and
40254e0cba96 more flame
gabucino
parents: 2910
diff changeset
37 IA64.</P>
2867
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
38
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
39 <P>The <I>statements</I> : most developers around the world begun having
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
40 bad feelings about RedHat's GCC 2.96 , and told their RedHat users to
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
41 compile with other compiler than 2.96 . RedHat users' disappointment slowly
2910
56428bdf583e removed bad and not proven statemets...
arpi
parents: 2867
diff changeset
42 went into anger. What was all good
2867
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
43 for, apart from giving headaches to developers, putting oil on anti-RedHat
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
44 flame, confusing users? The answer, I do not know.</P>
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
45
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
46 <P><I>Present age, present time</I> : RedHat says that GCC 2.96-85 and above
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
47 is fixed, and works properly. Note the versioning. They should have started
2910
56428bdf583e removed bad and not proven statemets...
arpi
parents: 2867
diff changeset
48 with something like this. What about GCC 2.96.85 ? It doesn't matter now.
56428bdf583e removed bad and not proven statemets...
arpi
parents: 2867
diff changeset
49 I don't search, but I still see bugs with 2.96 . It doesn't matter now,
56428bdf583e removed bad and not proven statemets...
arpi
parents: 2867
diff changeset
50 hopefully now <B>RedHat will forget about 2.96</B> and turn towards <B>3.0</B>.
56428bdf583e removed bad and not proven statemets...
arpi
parents: 2867
diff changeset
51 Towards a deep patched 3.0...
56428bdf583e removed bad and not proven statemets...
arpi
parents: 2867
diff changeset
52 </P>
2867
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
53
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
54 <P><I>What I don't understand</I> is why are we hated by RedHat users for
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
55 putting warning messages, and stay-away documents in <B>MPlayer</B> .
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
56 Why are we called "brain damaged", "total asshole", "childish" by
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
57 <B>RedHat users</B>, on our mailing list, and even on the <B>redhat-devel</B> .
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
58 They even considered forking <B>MPlayer</B> for themselves. RedHat users.
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
59 Why? It's RedHat that made the compiler, why do <U>you</U> have to hate us?
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
60 Are you <U>that</U> fellow RedHat worshippers? Please stop it. We don't hold
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
61 a grudge against users, doesn't matter how loud you advertise its contrary.
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
62 Please go flame Linus Torvalds, the DRI developers (oh, now I know why
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
63 there were laid off by VA!), the Wine, avifile. Even if we are arrogant,
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
64 are we not the same as the previously listed ones? Why do <B>we</B> have
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
65 to suffer from your unrightful wrath?</P>
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
66
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
67 <P>I'm closing this topic. Think over it please. I (Gabucino) personally begun
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
68 with <A HREF="http://www.redhat.com">RedHat</A>, then used Mandrake (sorry I
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
69 don't know their URL), now I have <A
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
70 HREF="http://www.linuxfromscratch.com">LFS</A>. Never held a grudge against
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
71 RedHat or RedHat users, and I still don't. Hate is only comfortable. It
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
72 won't bring you anywhere.</P>
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
73
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
74 <P><B><I>Binary distribution of MPlayer</I></B></P>
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
75
2919
40254e0cba96 more flame
gabucino
parents: 2910
diff changeset
76 <P>Tons of users asked us about this. For example Debian users tend to say: Oh,
40254e0cba96 more flame
gabucino
parents: 2910
diff changeset
77 I can <CODE>apt-get install avifile</CODE>, why should I <B>compile MPlayer</B> ?
40254e0cba96 more flame
gabucino
parents: 2910
diff changeset
78 While this may sound reasonable, the problem lies a bit deeper than
40254e0cba96 more flame
gabucino
parents: 2910
diff changeset
79 those-fuckin-MPlayer-developers-hate-gcc-2.96-and-RedHat-and-Debian.
40254e0cba96 more flame
gabucino
parents: 2910
diff changeset
80 <UL>
40254e0cba96 more flame
gabucino
parents: 2910
diff changeset
81 <LI><B>MPlayer's</B> speed (MMX, SSE, fastmemcpy, etc) optimizations are
40254e0cba96 more flame
gabucino
parents: 2910
diff changeset
82 determined during compilation. Thus a compiled binary contains very
40254e0cba96 more flame
gabucino
parents: 2910
diff changeset
83 processor-specific code. An <B>MPlayer</B> binary compiled for K6 will die
40254e0cba96 more flame
gabucino
parents: 2910
diff changeset
84 on Pentiums and vice versa. This has to be workarounded by runtime
40254e0cba96 more flame
gabucino
parents: 2910
diff changeset
85 detection, which is not an easy thing to do becase it causes massive speed
40254e0cba96 more flame
gabucino
parents: 2910
diff changeset
86 decrease. If you don't believe (it was explained in details 10000 times on
40254e0cba96 more flame
gabucino
parents: 2910
diff changeset
87 mplayer-users, search the archive), solve it and send us a patch. Someone
40254e0cba96 more flame
gabucino
parents: 2910
diff changeset
88 begun work on it, but disappeared since then.</LI>
40254e0cba96 more flame
gabucino
parents: 2910
diff changeset
89 <LI><B>MPlayer's</B> video/audio system is not plugin based. It is compiled
40254e0cba96 more flame
gabucino
parents: 2910
diff changeset
90 into the binary, thus making the binary depend on various libraries (the
40254e0cba96 more flame
gabucino
parents: 2910
diff changeset
91 GUI depends on GTK, DivX4 depends on libdivxdecore, SDL depends on libSDL,
40254e0cba96 more flame
gabucino
parents: 2910
diff changeset
92 every SDL release contains an unique bug that has to be workarounded during
40254e0cba96 more flame
gabucino
parents: 2910
diff changeset
93 compiletime, X11 output compiles differently for X3 and X4, etc). You may
40254e0cba96 more flame
gabucino
parents: 2910
diff changeset
94 say: yes, let's make 30 versions of downloadable binaries! We won't. We
40254e0cba96 more flame
gabucino
parents: 2910
diff changeset
95 will make these stuff pluggable in the future.</LI>
40254e0cba96 more flame
gabucino
parents: 2910
diff changeset
96 <LI><B>MPlayer</B> includes GPL codes, and some non-GPL ones
40254e0cba96 more flame
gabucino
parents: 2910
diff changeset
97 (like OpenDivX alpha 48). Arpi's demuxers and other code has a special
40254e0cba96 more flame
gabucino
parents: 2910
diff changeset
98 license which is like GPL with one exception: it doesn't allow binary
40254e0cba96 more flame
gabucino
parents: 2910
diff changeset
99 distribution. Thus, anyone who distributes a binary which contains Arpi's
40254e0cba96 more flame
gabucino
parents: 2910
diff changeset
100 code (which is the core of <B>MPlayer</B>) is doing a
40254e0cba96 more flame
gabucino
parents: 2910
diff changeset
101 <B><I>FORBIDDEN THING</I></B> ! For example that french guy called
40254e0cba96 more flame
gabucino
parents: 2910
diff changeset
102 <B>Christian Marillat</B> who denied our request, and is still distributing
40254e0cba96 more flame
gabucino
parents: 2910
diff changeset
103 binary Debian packages of <B>MPlayer</B>, despite the fact that there was
40254e0cba96 more flame
gabucino
parents: 2910
diff changeset
104 at least one user who downloaded it and failed (of course compiling from
40254e0cba96 more flame
gabucino
parents: 2910
diff changeset
105 source helped him). We're trying to be GPL, but there are still
40254e0cba96 more flame
gabucino
parents: 2910
diff changeset
106 problems to resolve. Don't come and flame, instead help (or better,
40254e0cba96 more flame
gabucino
parents: 2910
diff changeset
107 stay quiet). Thanks.
40254e0cba96 more flame
gabucino
parents: 2910
diff changeset
108 </UL>
2867
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
109
a9a63f7e9ddc nice new docu. read it.
gabucino
parents:
diff changeset
110 </HTML>