<?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>
<emphasi
|