@node Top, , , (dir)
@top
+@contents
+
@chapter INSTALL - compiling and installing GNU LilyPond
-@section Obtaining
-You can get the latest version of LilyPond at
-@uref{ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/,
-ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/}.
+This document describes how to build LilyPond on Unix platforms. It is
+also known to run and compile on Windows NT/95/98 as well. More
+information on this topic can be found at the
+@uref{ftp://ftp.lilypond.org/pub/LilyPond/gnu-windows/, LilyPond on Windows
+page}.
+
+
+@html
+<a name="download-source">
+@end html
-There are three options for downloading sources.
+@section Downloading
-@itemize
-@item if you don't have any version, then you can download
- the entire @file{.tar.gz} file.
+Even numbered versions are `stable'. The webpages for the stable version
+(1.2) reside @uref{http://www.gnu.org/software/lilypond, on the GNU
+servers}. Big enhancements go into the latest odd numbered version
+(1.3), whose webpages are on @uref{http://www.lilypond.org/,the lilypond
+site}.
+
+@subsection source code
+
+
+If you want to compile LilyPond from source, download here:
+@itemize @bullet
+@item Download development releases from
+@uref{ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/development/} by FTP and
+@uref{http://ftp.cs.uu.nl/pub/GNU/LilyPond/development/}, by HTTP.
+@item @uref{ftp://sca.uwaterloo.ca/pub/} by FTP (Canadian mirror)
+@item at @code{lilypond.org}
+@uref{ftp://ftp.lilypond.org/pub/LilyPond/} by FTP and
+@uref{http://www.lilypond.org/ftp/} by HTTP.
+@end itemize
+
+@html
+<a name="download-binaries">
+@end html
+
+
+
+@subsection Binaries
+
+Binaries are available, but are not updated for every version released.
+@itemize @bullet
+@item @uref{ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/binaries/RedHat/RPMS/, RedHat i386}
+@item @uref{ftp://ftp.lilypond.org/pub/LilyPond/binaries/linuxppc, LinuxPPC}
+@item
+@uref{ftp://ftp.debian.org/debian/pool/main/l/lilypond,
+Debian GNU/Linux Stable}
+@item
+@uref{ftp://ftp.debian.org/debian/pool/main/l/lilypond1.3,
+Debian GNU/Linux Unstable}
+@item @uref{http://home.austin.rr.com/jbr/jeff/lilypond/, Windows Stable}
+@c @item @uref{ftp://ftp.lilypond.org/pub/lilypond/gnu-windows, Windows
+@c Testing}
+@uref{http://www.lilypond.org/gnu-windows, Windows Testing}
+
+@end itemize
+
+@subsection Upgrading
-@item if you have an unpacked source tree of a previous version, you
-may use the diffs .
+There are two options for upgrading sources.
+@itemize
+@item if you have an unpacked source tree of a previous version, you
+may the patches.
@emph{If you upgrade by patching do remember to rerun autoconf after
applying the patch}.
-
@item if you have the @code{.tar.gz} file of a previous release, you can
use
@uref{ftp://ftp.xcf.berkeley.edu/pub/xdelta/, xdelta}.
- This is much safer than using normal diffs, and is the recommended way.
+ This is much safer than using patches, and is the recommended way.
The following command produces @file{lilypond-1.3.122.tar.gz} from
@file{lilypond-1.3.121} identical (up to compression dates) to the .122
@end example
@end itemize
-@section Build requirements
+@section Requirements
-This document describes how to build LilyPond on Unix platforms. It is
-also known to run and compile on Windows NT/95/98 as well. More
-information on this topic can be found at the
-@uref{http://appel.lilypond.org/lilypond/gnu-windows/, LilyPond on Windows
-page}.
+@subsection Compilation
You need the following packages to compile Lilypond.
@end itemize
-@section Running requirements
+@subsection Running requirements
GNU LilyPond does use a lot of resources. For operation you need the
following software
LilyPond is a big and slow program. A fast CPU and plenty of RAM is
recommended for comfortable use.
-@section Website requirements
+@subsection Website requirements
The documentation comes in the form of a website. You can view this
website on the internet, but you can also build it locally. This process
@end example
-Building the website requires some additional tools:
+Building the website requires some additional tools:
@itemize @bullet
@item xpmtoppm (from the netpbm package: the Portable Bitmap Utilities).
The website will build without bib converter utility, but you will not
see our hypertextified bibliography.
+@item texinfo (a development release)
+The documentation will build with texinfo-4.0, but if you want split
+html pages, you're best off using the lates pretest version from
+@uref{ftp://texinfo.org/texinfo/pretests/texinfo-4.0b.tar.gz,
+texinfo-4.0b} or
+@uref{ftp://alpha.gnu.org/gnu/texinfo-4.0b.tar.gz,texinfo-4.0b}
@end itemize
-@section Configuring and compiling
+@section Building LilyPond
to install GNU LilyPond, type:
@example
-@section Configuring for multiple platforms
+@subsection Configuring for multiple platforms
If you want to build multiple versions of LilyPond with different
configuration settings, you can use the @code{--enable-config=CONF}
-
-
@section Emacs mode
An emacs mode for LilyPond is included with the source archive as
an RPM, it is in @file{/usr/share/doc/lilypond-X/}. You have to install
it yourself.
-Add this to your ~/.emacs or ~/.emacs.el:
+Add this to your @file{~/.emacs} or @file{~/.emacs.el}:
@example
(load-library "lilypond-mode.el")
(setq auto-mode-alist
If you have the latest LilyPond-1.3.x Debian package, LilyPond-mode is
automatically loaded, so you need not modify your @code{~/.emacs} file.
+@section Compiling for distributions
-@section Red Hat Linux
+@subsection Red Hat Linux
Red Hat 7.0 i386 RPMS are available from
@uref{ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/RedHat/}.
You can also compile them yourself. A spec file is in
-@file{make/out/lilypond.spec}. This file is distributed along with the
+@file{make/out/redhat.spec}. This file is distributed along with the
sources. You can make the rpm by issuing
@example
@end example
For running on a Red Hat system you need these packages: guile, tetex,
-tetex-dvips, libstdc++, python, ghostscript.
+tetex-latex, tetex-dvips, libstdc++, python, ghostscript.
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, tetex-devel, groff, libgr-progs.
+guile-devel, flex, bison, texinfo, tetex-devel, groff,
+libgr-progs.
-@section SuSE
+@subsection SuSE
-[TODO: document this]
-
-Install @code{tetex}, @code{te_mpost}, @code{te_kpath}.
+You can also compile them yourself. A spec file is in
+@file{make/out/suse.spec}. This file is distributed along with the
+sources.
+You must have the following packages: guile tcsh tetex te_latex te_kpath
+te_mpost libpng python gpp libgpp gettext autoconf netpbm libnetpb
+gs_serv gs_lib gs_fonts guile
-@section Mandrake
+@subsection Mandrake
[TODO]
-@section Debian GNU/Linux
+@subsection Debian GNU/Linux
A Debian package is also available. You may install it easily by using
apt-get as root:
apt-get install lilypond1.3
@end example
+
+Debian's tex installation is a bit short on memory, you may want to
+increase it like this:
+@example
+--- /etc/texmf/texmf.cnf.dpkg Sun Jan 28 14:12:14 2001
++++ /etc/texmf/texmf.cnf Fri Apr 27 11:09:35 2001
+@@ -384,8 +384,8 @@
+ main_memory.context = 1500000
+ main_memory.mpost = 1000000
+ main_memory = 263000 % words of inimemory available; also applies to inimf&mp
+-extra_mem_top = 0 % extra high memory for chars, tokens, etc.
+-extra_mem_bot = 0 % extra low memory for boxes, glue, breakpoints, etc.
++extra_mem_top = 100000 % extra high memory for chars, tokens, etc.
++extra_mem_bot = 100000 % extra low memory for boxes, glue, breakpoints, etc.
+
+ obj_tab_size.context = 256000
+
+
+@end example
+
Alternatively, visit
@itemize @bullet
Bugs that are not fault of LilyPond are documented here.
-@unnumbered NetBSD
+@unnumberedsubsec NetBSD
@itemize @bullet
@item The flex precompiled in NetBSD-1.4.2 is broken.
@end itemize
-@unnumbered Solaris:
+@unnumberedsubsec Solaris:
@itemize @bullet
@item Sparc64/Solaris 2.6, GNU make-3.77
GNU make-3.77 is buggy on this platform, upgrade to 3.78.1 or newer.
-
@item Sparc64/Solaris 2.6, ld
Not yet resolved.
@end itemize
-@unnumbered AIX
+@unnumberedsubsec AIX
@itemize @bullet
@item AIX 4.3 ld