blob: 72d1f1da03838b421f2eff65ec7369f749dff0a5 [file] [log] [blame]
<sect1 id="chapter-cvs">
<title id="title-cvs">Building GStreamer from CVS</title>
<qandaset defaultlabel="qanda">
<qandaentry>
<question id="cvs-anon">
<para>
How do I check out GStreamer from CVS ?
</para>
</question>
<answer>
<para>
GStreamer is hosted on Freedesktop.org. GStreamer consists of various parts.
In the beginning, you will be interested in the "gstreamer" module, containing
the core, and "gst-plugins", containing the basic set of plugins.
</para>
<para>
To check out the HEAD version of the core, use
<programlisting>
cvs -d:pserver:anoncvs@anoncvs.freedesktop.org:/cvs/gstreamer co gstreamer
</programlisting>
This will create a directory "gstreamer" in your current directory.
If you want to get another module, replace the last "gstreamer" with the
name of the module.
</para>
<para>
The <ulink url="http://gstreamer.freedesktop.org/modules/">modules page</ulink>
has a list of active ones together with a short description.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="cvs-developer">
<para>
How do I get developer access to GStreamer CVS ?
</para>
</question>
<answer>
<para>
If you want to gain developer access to GStreamer CVS, you should ask for
it on the development lists, or ask one of the maintainers directly.
If you are not already a registered developer with a user account on
Freedesktop.org, You will then have to provide them with:
<orderedlist>
<listitem><para>your desired unix username</para></listitem>
<listitem><para>your full name</para></listitem>
<listitem><para>your e-mail address</para></listitem>
<listitem><para>a copy of your public sshv2 identity.
If you do not have this yet, you can generate it by running
"ssh-keygen -t dsa". The resulting public key
will be in <filename>.ssh/id_dsa.pub</filename></para></listitem>
<listitem><para>your GPG fingerprint. This would allow you to
add and remove ssh keys to your account.
</para></listitem>
</orderedlist>
Once you have all these items, see <ulink url="http://freedesktop.org/wiki/AccountRequests">http://freedesktop.org/wiki/AccountRequests</ulink> for what to do with them.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="autogen-libtool">
<label>I ran autogen.sh, but it fails with aclocal errors. What's wrong ?</label>
<para>
<programlisting>
+ running aclocal -I m4 -I common/m4 ...
aclocal: configure.ac: 8: macro `AM_DISABLE_STATIC' not found in library
aclocal: configure.ac: 17: macro `AM_PROG_LIBTOOL' not found in library
aclocal failed
</programlisting>
What's wrong ?
</para>
</question>
<answer>
<para>
aclocal is unable to find two macros installed by libtool in a file called
libtool.m4. Normally this would indicate that you don't have libtool, but
that would mean autogen.sh would have failed on not finding libtool.
</para>
<para>
It is more likely that you installed automake (which provides aclocal) in
a different prefix than libtool. You can check this by examining in what
prefix both aclocal and libtool are installed.
</para>
<para>
You can do three things to fix this :
<orderedlist>
<listitem><para>install automake in the same prefix as libtool</para></listitem>
<listitem><para>force use of the automake installed in the same prefix as libtool
by using the --with-automake option</para></listitem>
<listitem><para>figure out what prefix libtool has been installed to and point
aclocal to the right location by running
<programlisting>
export ACLOCAL_FLAGS="-I $(prefix)/share/aclocal"
</programlisting>
where you replace prefix with the prefix where libtool was installed.
</para></listitem>
</orderedlist>
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="werror">
<para>
Why is "-Wall -Werror" being used ?
</para>
</question>
<answer>
<para>
"-Wall" is being used because it finds a lot of possible problems with code.
Not all of them are necessarily a problem, but it's better to have the compiler
report some false positives and find a work-around than to spend time
chasing a bug for days that the compiler was giving you hints about.
</para>
<para>
"-Werror" is turned off for actual releases. It's turned on by default for
CVS and prereleases so that people actually notice and fix problems found by
"-Wall". We want people to actively hit and report or fix them.
</para>
<para>
If for any reason you want to bypass these flags and you are certain it's the
right thing to do, you can run
<programlisting>make ERROR_CFLAGS=""</programlisting>
to clear the CFLAGS for error checking.
</para>
</answer>
</qandaentry>
</qandaset>
</sect1>