annotate DOCS/zh/users_against_developers.html @ 19164:39d60ed7edfe

use mpeg packetizer helpers for sending lpcm packets
author ben
date Sun, 23 Jul 2006 10:10:06 +0000
parents 883f38591d47
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
2 <HTML>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
3
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
4 <HEAD>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
5 <TITLE>开发者的眼泪 -- MPlayer -- Linux下的电影播放器</TITLE>
9512
883f38591d47 now all translations link to ../default.css
gabucino
parents: 9332
diff changeset
6 <LINK REL="stylesheet" TYPE="text/css" HREF="../default.css">
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
7 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gbk">
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
8 </HEAD>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
9
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
10 <BODY>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
11
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
12
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
13 <H1>附录 E -- 开发者的眼泪</H1>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
14
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
15 <P>总在<A HREF="http://mplayerhq.hu/pipermail/mplayer-users/">mplayer-users</A>邮件列表上引起巨大争吵和怒火的主题主要有两个。第一个主题是关于</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
16
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
17
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
18 <H2><A NAME="gcc">E.1 GCC 2.96</A></H2>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
19
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
20 <P><B>背景:</B>GCC<B>2.95</B>系列是GNU官方发行版而GCC的2.95.3版本是这个系列中bug最少的。我们从来没有遇到过可以归罪于GCC 2.95.3的编译问题。
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
21 从RedHat Linux 7.0开始,<B>Red Hat</B>在他们的发行版里包括了一个打满补丁的CVS版本的GCC,命名为<B>2.96</B>。Red Hat在他的发行版中包括这个版本是因为
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
22 当时GCC 3.0还没有完成,而他们需要一个在所有他们支持的平台上,包括IA64和s390都正常工作的编译器。Linux发行版<B>Mandrake</B>也照着Red Hat的例子开始
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
23 在他们的Linux-Mandrake 8.0系列中搭载GCC 2.96。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
24
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
25 <P><B>声明:</B>GCC小组否认于GCC 2.96有任何联系并对GCC 2.96发表了一份<A HREF="http://gcc.gnu.org/gcc-2.96.html">官方回应</A>。世界各地的开发者
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
26 开始遇到GCC 2.96的问题,并开始推荐其他的编译程序。<A
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
27 HREF="http://www.apachelabs.org/apr-mbox/200106.mbox/%3c20010623194228.C25512@ebuilt.com%3e">Apache</A>,<A
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
28 HREF="http://www.mysql.com/downloads/mysql-3.23.html">MySQL</A>,<A
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
29 HREF="http://avifile.sourceforge.net/news-old1.htm">avifile</A>和<A
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
30 HREF="http://www.winehq.com/news/?view=92#RH%207.1%20gcc%20fixes%20compiler%20bug">Wine</A>。其他你会感兴趣的链接有:<A
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
31 HREF="http://www.realtimelinux.org/archives/rtai/20017/0144.html">Real time Linux</A>,<A
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
32 HREF="http://www.atnf.csiro.au/people/rgooch/linux/docs/kernel-newsflash.html">Linux kernel news flash about kernel 2.4.17</A>和<A
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
33 HREF="http://www.voy.com/3516/572.html">Voy Forum</A>。MPlayer同样经受这些时有时无的只要换个不同版本的GCC就可以全部解决的问题。
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
34 有些项目开始为一些2.96的问题实现绕过的方法,但是我们拒绝修正别人的bug,尤其是其中一些绕过的方法意味着降低性能。</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
35
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
36 <P>你能<A HREF="http://www.bero.org/gcc296.html">在这个站点</A>的读到故事的另一面。GCC 2.96不允许在汇编程序中出现|(管道)字符因为它同时支持
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
37 Intel和AT&amp;T的语法而|字符在Intel版本中是个符号。问题是它<B>一声不吭</B>的忽略了整个汇编程序块。这个问题现在应该被修正了,GCC会显示一个警告
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
38 而不是直接跳过。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
39
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
40 <P><B>现状:</B>Red Hat说2.96-85以上的GCC都已经修正了。情况确实好了很多,但我们在我们的邮件列表里仍然遇到一些换了编译器之后就不存在了的问题。
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
41 在任何情况下它都不再重要了。希望一个成熟的GCC 3.x将很好的解决这个问题。如果你想要用2.96编译的话在configure的时候加上<CODE>--disable-gcc-checking</CODE>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
42 标记。记住你要自己负责而且<B>不要报告任何bug</B>。如果你报告,你只会被我们的邮件列表封掉,因为对于GCC 2.96我们已经有够多的争吵了。请让它平息下来。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
43
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
44 <P>如果你的GCC 2.96有问题,你能从Red Hat的<A HREF="ftp://updates.redhat.com">ftp服务器</A>得到2.96-85的包,或者直接去找7.2或更高版本里面提供的
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
45 3.0.4的包。你也能用<A HREF="ftp://people.redhat.com/jakub/gcc/3.2-10/">gcc-3.2-10的包</A>(非官方的,但是工作地不错)和你能把他们跟你已经有的2.96
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
46 装在一起。MPlayer检测到它并用3.2-10代替2.96。如果你不想要或者无法使用二进制包,下面教你怎么从源代码编译最新的GCC:</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
47
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
48 <OL>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
49 <LI>去<A HREF="http://gcc.gnu.org/mirrors.html">GCC镜像页</A>网页并下载<CODE>gcc-core-XXX.tar.gz</CODE>。<CODE>XXX</CODE>是版本号。里面包括了完整的C编译器程序,
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
50 对MPlayer是足够了。如果你也想要C++,Java或其它一些GCC的高级特性<CODE>gcc-XXX.tar.gz</CODE>可能更适合你。</LI>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
51 <LI>用下列命令解开文档<BR>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
52 <CODE>tar -xvzf gcc-core-XXX.tar.gz</CODE></LI>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
53 <LI>GCC不像大多数程序一样的在自己的源码目录内编译,而是需要一个源码目录之外的编译目录。所以你需要这样创建这个目录<BR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
54 <CODE>mkdir gcc-build</CODE></LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
55 <LI>然后,你能继续在GCC编译目录中配置GCC,但你需要源码目录中的configure:<BR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
56 <CODE>cd gcc-build<BR>
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
57 ../gcc-XXX/configure</CODE></LI>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
58 <LI>在编译目录中运行下列命令来编译GCC:<BR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
59 <CODE>做依靠自己力量</CODE></LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
60 <LI>现在你可以运行下列命令安装GCC(以root身份)<BR>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
61 <CODE>make install</CODE></LI>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
62 </OL>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
63
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
64
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
65 <H2><A NAME="binary">E.2 二进制发行版</A></H2>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
66
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
67 <P>MPlayer以前包含来自OpenDivX工程的源代码,那是不能以二进制形式再分发的。这个代码已经在0.90-pre1中去掉了,剩下的来自OpenDivX源码
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
68 的<CODE>divx_vbr.c</CODE>在0.90-pre9的时候由它的作者按GPL协议发布。现在如果你觉得合适的话欢迎你制作二进制的包。</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
69
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
70 <P>二进制分发的另一个阻碍是针对CPU结构的编译优化。 MPlayer运行时CPU检测(在编译时指定<CODE>--enable-runtime-cpudetection</CODE>)。
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
71 它默认是禁用的因为它意味着小小的速度牺牲,现在可以创建在能在Intel CPU家族的不同的成员上运行的二进制文件了。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
72
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
73
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
74 <H2><A NAME="nvidia">E.3 nVidia</A></H2>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
75
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
76 <P>我们讨厌<A HREF="http://www.nvidia.com">nVidia</A>仅仅提供二进制的驱动(用于XFree86)的作法,他们通常都很buggy。我们在<A
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
77 HREF="http://mplayerhq.hu/pipermail/mplayer-users/">mplayer-users</A>上已有许多关于这些封闭源代码的驱动和他们的低质量,不稳定以及糟糕的用户和专家
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
78 支持的报告。这里有一个来自<A
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
79 HREF="http://www.nvnews.net/forum/showthread.php?s=fda5725bc2151e29453b2da3bd5d2930&amp;threadid=14306">nVidia的Linux论坛</A>
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
80 的例子。许多这样的问题与异常持续不断重复的出现。我们最近跟nVidia接触过,而他们说这些错误不存在,不稳定是由于质量不好的AGP芯片造成的
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
81 ,而他们没有收到驱动bug(例如紫色条纹)的报告。因此如果你的nVidia显卡有问题,建议你升级nVidia驱动和/或者购买新的主板或者要求nVidia提供开源的驱动。
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
82 在任何情况下,如果你使用nVidia的二进制的驱动并遇到驱动相关的问题,请你明白你几乎不能从我们这里得到帮助,因为我们在这个问题上无能为力。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
83
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
84
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
85 <H2><A NAME="barr">E.4 Joe Barr</A></H2>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
86
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
87 <P>Joe Barr因为写了一篇一点都不讨人喜欢的<A HREF="http://www.linuxworld.com/site-stories/2001/1214.mplayer.html">MPlayer评论</A>而变得
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
88 声名狼籍。他发现MPlayer难以安装,但是然而他由不太喜欢<A
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
89 HREF="http://www.linuxworld.com/linuxworld/lw-2000-06/lw-06-exam.html">阅读文档</A>。他同样得出结论认为开发者是不友好的,
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
90 文件是不完整和侮辱性的。你自己判断吧。他继续在他的<A
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
91 HREF="http://www.linuxworld.com/site-stories/2001/1227.predictions.html">2002年的Linux十大预言</A>中否定mplayer,接下来在<A
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
92 HREF="http://www.linuxworld.com/site-stories/2002/0125.xine.html">xine的评论</A>中他继续扇风点火。富有讽刺意味的是在那篇文章结束时他引用的
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
93 他与xine原作者的G黱ter Bartsch的争论,完美地总结整个情况:</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
94
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
95 <BLOCKQUOTE>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
96 然而,他也继续说他对我写的Mplayer的专题感到“惊讶”并觉得那是不公平的,他提醒我那是一个免费软件工程。“如果你不喜欢它,”Bartsch说,“你有不使用它的自由”。
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
97 </BLOCKQUOTE>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
98
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
99 <P>他不答复我们的邮件。他的编辑也不答复了我们的邮件。这里引用一些不同的人关于Joe Barr的评论,方便你形成你自己的观点:</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
100
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
101 <P>Marc Rassbach有些针对这个人的<A HREF="http://daily.daemonnews.org/view_story.php3?story_id=2102">评论</A>。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
102
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
103 <BLOCKQUOTE>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
104 你们都记得在LinuxWorld 2000的时候他说Linus T说‘FreeBSD只是一小撮程序员’。Linus从没说过任何这类东西。当Joe因此被讯问时,
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
105 他的反应是说BSD的支持者是白痴和蠢才。
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
106 </BLOCKQUOTE>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
107
9080
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
108 <P>一段来自<A HREF="http://mplayerhq.hu/pipermail/mplayer-users/">mplayer-users</A>邮件列表上的Robert Munro的<A
e7aad3a3bb7c sync by <hephooey@fastmail.fm>
diego
parents: 7597
diff changeset
109 HREF="http://www.mplayerhq.hu/pipermail/mplayer-users/2001-December/009118.html">引文</A>:</P>
7597
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
110
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
111 <BLOCKQUOTE>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
112 <P>他挺有意思,但不善于避免,um ...争论。 Joe Barr以前是Compuserve上的Will Zachmann上的Canopus论坛的常客。他那时是OS/2的拥护者(我也是OS/2迷)。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
113
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
114 <P>他常常说话过头,骂人,我怀疑他有没有经历过什么困难。以他最近的专栏看来,他软化了些。 适当的阴险的幽默不是他早年的方式,完全不是。</P>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
115 </BLOCKQUOTE>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
116
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
117 </BODY>
363959276ef2 by cvs hephooey@fastmail.fm
jaf
parents:
diff changeset
118 </HTML>