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