<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
<chapter id="faq" xreflabel="FAQ">
<title>Frequently Asked Questions</title>
<qandaset defaultlabel="qanda">
<qandadiv id="faq-development">
<title>Development</title>
<qandaentry>
<question><para>
How do I create a proper patch for <application>MPlayer</application>?
</para></question>
<answer><para>
We made a <ulink url="../../tech/patches.txt">short document</ulink>
describing all the necessary details. Please follow the instructions.
</para></answer>
</qandaentry>
<qandaentry>
<question><para>
How do I translate <application>MPlayer</application> to a new language?
</para></question>
<answer><para>
Read the <ulink url="../../tech/translations.txt">translation HOWTO</ulink>,
it should explain everything. You can get further help on the
<ulink url="http://mplayerhq.hu/mailman/listinfo/mplayer-docs">MPlayer-docs</ulink>
mailing list.
</para></answer>
</qandaentry>
<qandaentry>
<question><para>
How can I support <application>MPlayer</application> development?
</para></question>
<answer><para>
We are more than happy to accept your hardware and software
<ulink url="http://www.mplayerhq.hu/homepage/donations.html">donations</ulink>.
They help us in continuously improving <application>MPlayer</application>.
</para></answer>
</qandaentry>
<qandaentry>
<question><para>
How can I become an <application>MPlayer</application> developer?
</para></question>
<answer><para>
We always welcome coders and documenters. Read the
<ulink url="../../tech/">technical documentation</ulink>
to get a first grasp. Then you should subscribe to the
<ulink url="http://mplayerhq.hu/mailman/listinfo/mplayer-dev-eng">MPlayer-dev-eng</ulink>
mailing list and start coding. If you want to help out with the documentation,
join the
<ulink url="http://mplayerhq.hu/mailman/listinfo/mplayer-docs">MPlayer-docs</ulink>
mailing list.
</para></answer>
</qandaentry>
<qandaentry>
<question><para>
Why don't you use autoconf/automake?
</para></question>
<answer><para>
We have a modular, handwritten build system. It does a reasonably good
job, so why change? Besides, we dislike the auto* tools, just like
<ulink url="http://freshmeat.net/articles/view/889/">other people</ulink>.
</para></answer>
</qandaentry>
</qandadiv>
<qandadiv id="faq-compilation">
<title>Compilation</title>
<qandaentry>
<question><para>
Compilation fails with an error and <application>gcc</application> bails out
with some cryptic message containing the phrase
<systemitem>internal compiler error</systemitem> or
<systemitem>unable to find a register to spill</systemitem>.
</para></question>
<answer><para>
You have stumbled over a bug in <application>gcc</application>. Please
<ulink url="http://gcc.gnu.org/bugs.html">report it to the gcc team</ulink>
but not to us. For some reason <application>MPlayer</application> seems to
trigger compiler bugs frequently. Nevertheless we cannot fix them and do not
add workarounds for compiler bugs to our sources. To avoid this problem,
either stick with a compiler version that is known to be reliable and
stable, or upgrade frequently.
</para></answer>
</qandaentry>
<qandaentry>
<question><para>
Are there binary (RPM/deb) packages of <application>MPlayer</application>?
</para></question>
<answer><para>
See the <link linkend="debian">Debian</link> and <link linkend="rpm">RPM</link>
section for details.
</para></answer>
</qandaentry>
<qandaentry>
<question><para>
How can I build a 32 bit <application>MPlayer</application> on 64 bit Athlon?
</para></question>
<answer><para>
Try the following configure options:
<screen>
./configure --target=athlon_xp --cc="gcc -m32" --as="as --32" --with-extralibdir=/usr/lib
</screen>
</para></answer>
</qandaentry>
<qandaentry>
<question><para>
Compilation stops with an error message similar to this one:
<screen>
cfft.c: In function`passf2':
cfft.c:556: unable to find a register to spill in class `FLOAT_REGS'
cfft.c:556: this is the insn:
(insn 235 233 246 (set (subreg:SF (reg/v:DI 29 rmm0 [110]) 0)
(minus:SF (mem:SF (plus:SI (mult:SI (reg:SI 1 edx [112])
(const_int 8 [0x8]))
(reg/v/f:SI 3 ebx [62])) [4 S4 A32])
(reg:SF 8 st(0) [132]))) 533 {*fop_sf_1_nosse} (insn_list
232 (nil)) (expr_list:REG_DEAD (reg:SF 8 st(0) [132])
(nil)))
cfft.c:556: confused by earlier errors, bailing out
</screen>
</para></question>
<answer><para>
This is a known problem of <application>gcc</application> 3.2, upgrade
to 3.3 to solve the problem. How to install gcc is described in the
<link linkend="gcc-296">gcc 2.96</link> section. Alternatively you can use
an external FAAD library as described in the
<link linkend="aac">AAC</link> section.
</para></answer>
</qandaentry>
<qandaentry>
<question><para>
Compilation stops with an error message similar to this one:
<screen>
In file included from mplayer.c:34:
mw.h: In function `mplMainDraw':
mw.h:209: Internal compiler error in print_rtl_and_abort, at flow.c:6458
Please submit a full bug report,
with preprocessed source if appropriate.
</screen>
</para></question>
<answer><para>
This is a known problem of <application>gcc</application> 3.0.4, upgrade
to 3.1 to solve the problem. How to install gcc is described in the
<link linkend="gcc-296">gcc 2.96</link> section.
</para></answer>
</qandaentry>
<qandaentry>
<question><para>
Configure ends with this text, and <application>MPlayer</application> won't compile!
<screen>Your gcc does not support even i386 for '-march' and '-mcpu'</screen>
</para></question>
<answer><para>
Your gcc isn't installed correctly, check the <filename>configure.log</filename>
file for details.
</para></answer>
</qandaentry>
<qandaentry>
<question><para>
What's the problem with gcc 2.96?
</para></question>
<answer><para>
<emphasis role="bold">We strongly discourage the use of gcc 2.96!</emphasis>
Read <link linkend="gcc-296">this</link> document for details about why Red Hat
released gcc 2.96 and what the problems are all about. If you still really really
want to use it, be sure to get the latest release an
|