@end itemize
-Of course, if your platform supports LilyPond, such as Debian GNU/Linux,
-FreeBSD, OpenBSD or NetBSD, you're encouraged to use the native build
-from source drill.
-
For Red Hat Linux and SuSE Linux, @file{.spec} files are included in the
tarball; see instructions below.
-@subsubsection Anonymous CVS access
-Short version:
+Of course, if your platform supports LilyPond, such as Debian GNU/Linux,
+FreeBSD, OpenBSD or NetBSD, you're encouraged to use the native build
+from source drill.
-@quotation
-@example
-cvs -d :pserver:anoncvs@@lilypond.org:/home/lilypond login
-cvs -d :pserver:anoncvs@@lilypond.org:/home/lilypond co -P lilypond
-@end example
-@end quotation
+The latest development version is also available through anonymous
+CVS. See @uref{http://savannah.gnu.org/cvs/?group=lilypond}.
-See @uref{http://lilypond.org/wiki/?CVS} for more information.
@html
<a name="download-binaries">
Check out @uref{ftp://ftp.gnu.org/gnu/gcc/, the gcc site}.
WARNING: if you choose to upgrade to GCC 3.x, enquire if your
-distribution supports g++ 3.x and flex.
+distribution supports g++ 3.x and flex. At the time of writing (Fri
+Jul 5 2002), @strong{no} distribution that we know of ships a flex
+that generates gcc-3.1.x compliant C++ code.
@item Python (version 1.5 or newer).
Check out @uref{http://www.python.org, the python website}.
WARNING: plain Flex 2.5.4(a) generates invalid C++ code. GCC 3.x
chokes on this. If you wish to use GCC 3.x, make sure that your
-distribution supports g++ 3.x and flex. For a workaround, see
-lexer-gcc-3.0 below.
+distribution supports g++ 3.x and flex. For workarounds, see
+lexer-gcc-3.0.patch and lexer-gcc-3.1.sh in the source directory.
@item Bison (version 1.25 or newer).
Check out @uref{http://www.gnu.org/software/bison/,the bison webpage}
@itemize @bullet
@item @TeX{}.
@item Xdvi and Ghostscript
-@item GUILE 1.4, or newer. Check out
+@item GUILE 1.4, or newer.
+Check out
@uref{http://www.gnu.org/software/guile.html,the GUILE webpage}
@end itemize
@itemize @bullet
@item The netpbm utilities, see @uref{http://netpbm.sourceforge.net/}
-@item pktrace 1.0 or newer, needed for generating PostScript Type1
-fonts. Get it from @uref{http://www.cs.uu.nl/~hanwen/pktrace/}. You
-will need to install some additional packages to get pktrace to work.
+@item mftrace 1.0 or newer, needed for generating PostScript Type1
+fonts. Get it from @uref{http://www.cs.uu.nl/~hanwen/mftrace/}. You
+will need to install some additional packages to get mftrace to work.
@end itemize
@section Building LilyPond
For compilation on a Red Hat system you need these packages, in
addition to the those needed for running: glibc-devel, gcc-c++,
-libstdc++-devel, guile-devel, flex, bison, texinfo, groff, pktrace,
+libstdc++-devel, guile-devel, flex, bison, texinfo, groff, mftrace,
netpbm-progs, autotrace, t1utils.
Bugs that are not fault of LilyPond are documented here.
-@unnumberedsubsec FLex-2.5.4a and gcc-3.0
+@unnumberedsubsec Gcc-3.0.4
+
+Gcc 3.0.4, is a bit flaky. Try downgrading to 2.95.x, or if you're
+adventurous (see below), upgrading to 3.1.x.
+
+@unnumberedsubsec Flex-2.5.4a and gcc-3.x
Flex 2.5.4a does not produce g++-3.0 compliant C++ code. To compile
LilyPond with gcc-3.0 you may do:
Note that this is fixed in Debian/unstable for flex >= 2.5.4a-13.
+@unnumberedsubsec Flex-2.5.4a and gcc-3.1.x
+
+Flex 2.5.4a does not produce g++-3.1.1 compliant C++ code. To compile
+LilyPond with gcc-3.1.1 you may do:
+
+@example
+ CONF=gcc-3.1 ./lexer-gcc-3.1.sh
+ CPPFLAGS=$(pwd)/lily/out-gcc-3.1 CC=gcc-3.1 CXX=g++-3.1 \
+ ./configure --enable-config=gcc-3.1
+ CONF=gcc-3.1 ./lexer-gcc-3.1.sh
+ make conf=gcc-3.1
+@end example
+
+Note that this is @strong{not} fixed in Debian/unstable for flex <=
+2.5.4a-26.
+
@unnumberedsubsec Linux-2.4.0, Guile-1.4 --with-threads
There's a bug in certain kernels around version 2.4.0, that is