-@node Top, , , (dir)
-@top
-
-@contents
-
-@chapter INSTALL - compiling and installing 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{http://www.lilypond.org/gnu-windows/, LilyPond on Windows page}.
-
-
-@html
-<a name="download-source">
-@end html
-
-@section Downloading
-
-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
-@c Hmm, these won't show up in lilypond.org/stats
-@c Otoh, lilypond.org is not updated when release mail arrives
-@uref{ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/} by FTP and
-@uref{http://ftp.cs.uu.nl/pub/GNU/LilyPond/}, 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
-
-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.
-
-@html
-<a name="download-binaries">
-@end html
-
-
-
-@subsection Precompiled binaries
-
-If you want to track bleeding edge development, try:
-
-@itemize @bullet
-@item @uref{ftp://ftp.debian.org/debian/pool/main/l/lilypond/, Debian
-GNU/Linux} usually has the latest binaries for the most useful stable
-and development versions, while
-@item @uref{http://rpmfind.net/linux/mandrake/cooker/contrib/RPMS/,
-Mandrake Cooker} also provides fairly recent versions.
-@end itemize
-
-Binaries are made available for other popular platforms, but as we need
-to compile them ourselves, they are not updated for every version
-released.
-
-@itemize @bullet
-@item @uref{ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/binaries/RedHat/RPMS/, Red Hat i386}
-@item @uref{ftp://ftp.lilypond.org/pub/LilyPond/binaries/SuSE, SuSE}
-@item @uref{ftp://ftp.lilypond.org/pub/LilyPond/binaries/linuxppc/,
-LinuxPPC}
-@item
-@uref{http://www.lilypond.org/gnu-windows/, Windows}
-@end itemize
-
-@subsection Upgrading
-
-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 patches, and is the recommended way.
-
-The following command produces @file{lilypond-1.4.3.tar.gz} from
-@file{lilypond-1.4.2.tar.gz} identical (up to compression dates) to the .3
-on the FTP site.
-@example
- xdelta patch lilypond-1.4.2-1.4.3.xd lilypond-1.4.2.tar.gz
-@end example
-@end itemize
-
-@section Requirements
-
-@subsection Compilation
-
-You need the following packages to compile Lilypond.
-
-@itemize
-@item A reasonably new C++ compiler: EGCS 1.1, GCC 2.95.2 or
-newer. Check out @uref{ftp://ftp.gnu.org/gnu/gcc/, the gcc site}.
-
-@item Python 1.5,
-Check out @uref{http://www.python.org, the python website}.
-
-@item GUILE 1.3.4 or newer, check out
-@uref{http://www.gnu.org/software/guile/guile.html,the GUILE webpage}.
-Version 1.4 is recommended for better performance.
-
-@item GNU Make.
-Check out
-@uref{ftp://ftp.gnu.org/gnu/make/, the GNU
-make FTP directory}.
-
-@item Flex (version 2.5.4a or newer).
-Check out @uref{http://www.gnu.org/software/flex/,the Flex webpage}.
-
-@item Bison (version 1.25 or newer).
-Check out @uref{http://www.gnu.org/software/bison/,the bison webpage}
-
-@item @TeX{}.
-
-@TeX{} is used as an output backend.
-
-Also, @TeX{}'s libkpathsea is used to find the fonts (@file{.mf}, @file{.afm}, @file{.tfm}).
-Make sure you have tetex 1.0 or newer (1.0.6 is known to work). You may
-need to install a tetex-devel or tetex-dev package too.
-
-@item Texinfo (version 4.0 or newer).
-The documentation of lily is written in texinfo. Check out
-@uref{ftp://ftp.gnu.org/gnu/texinfo/,the texinfo FTP directory}.
-
-@item The geometry package for LaTeX is needed to use ly2dvi.
-It is available at
-@uref{ftp://ftp.ctan.org/tex-archive/macros/latex/contrib/supported/geometry,the
-FTP directory for @code{geometry}}. This package is normally included
-with the @TeX{} distribution.
-
-@item MetaPost, needed for generating PostScript fonts. Please
-note that tetex-0.4pl8 (included with Red Hat 5.x) does not include
-@file{mfplain.mp}, which is needed for producing the scalable font
-files.
-
-If you don't have MetaPost and don't want to use PostScript output, then
-edit @file{mf/GNUmakefile}, removing the line saying @code{PFA_FILES=}.
-
-@item kpathsea, a library for searching (@TeX{}) files. @code{kpathsea} is
-usually included with your installation of @TeX{}. You may need to install
-a tetex-devel or tetex-dev package too.
-
-In the very unlikely case that kpathsea is not available for your
-platform (ie, you're not running GNU/Linux, Windows, or any recent
-UNIX), you can compile LilyPond without kpathsea support. In that case,
-you'll probably have to indicate where @TeX{}'s tfm files live. Invoke
-configure something like:
-
-@example
-./configure --without-kpathsea --enable-tfm-path=/usr/share/texmf/fonts/tfm/public/cm/:/usr/share/texmf/fonts/tfm/ams/symbols
-@end example
-
-@end itemize
-
-@subsection Running requirements
-
-GNU LilyPond does use a lot of resources. For operation you need the
-following software
-
-@itemize @bullet
-@item @TeX{}.
-@item Xdvi and Ghostscript
-@item GUILE 1.3.4, or newer. Check out
-@uref{http://www.gnu.org/software/guile.html,the GUILE webpage}
-@end itemize
-
-For running LilyPond successfully you have to help @TeX{} and MetaFont find
-various files. The recommended way of doing so is adjusting the
-environment variables in the start-up scripts of your shell. Appropriate
-Csh and bourne sh scripts are left in
-@file{buildscripts/out/lilypond-profile} and
-@file{buildscripts/out/lilypond-login} after compilation.
-
-LilyPond is a big and slow program. A fast CPU and plenty of RAM is
-recommended for comfortable use.
-
-@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
-requires a successful compile of lilypond. The website is built
-by issuing
-@example
-
- make web-doc
-
-@end example
-
-Building the website requires some additional tools:
-
-@itemize @bullet
-@item xpmtoppm (from the netpbm package: the Portable Bitmap Utilities).
- The original is at
-@uref{ftp://ftp.x.org/contrib/utilities/netpbm-1mar1994.p1.tar.gz,the
-netpbm FTP site}
-
-@item pnmtopng. The original is
-at
-@uref{ftp://swrinde.nde.swri.edu/pub/png/applications/pnmtopng-2.37.2.tar.gz,in
-the pnmtopng FTP site}.
-
-@item @uref{http://www.lri.fr/~filliatr/ftp/bibtex2html/, Bibtex2html}, or
-@uref{http://www.uni-koblenz.de/ag-ki/ftp/bib2html/, Bib2html}.
-Bibtex2html is available in debian, while bib2html is in some rpm based
-distributions.
-Bib2html, in turn depends on man2html for proper installation.
-man2html can be had from @uref{http://askdonald.ask.uni-karlsruhe.de/hppd/hpux/Networking/WWW/Man2html-1.05,http://askdonald.ask.uni-karlsruhe.de/hppd/hpux/Networking/WWW/Man2html-1.05}.
-
-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 Building LilyPond
-
-to install GNU LilyPond, type:
-@example
- gunzip -c lilypond-x.y.z | tar xf -
- cd lilypond-x.y.z
- ./configure # run with --help to see appropriate options
- make
- make install
- sh buildscripts/clean-fonts.sh
-@end example
-
-If you are doing an upgrade, you should remove all @file{feta}
-@code{.pk} and @file{.tfm} files. A script has been provided to do the
-work for you, see @file{buildscripts/clean-fonts.sh}.
-
-
-If you are not root, you should choose a @code{--prefix} argument that
-points into your home directory, eg.
-@example
-
- ./configure --prefix=$HOME/usr
-
-@end example
-
-In this case, you have to insert the contents of
-@code{buildscripts/out/lilypond-login} or
-@code{buildscripts/out/lilypond-profile} into your start up scripts by
-hand.
-
-
-
-@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}
-option of configure. You should use @samp{make conf=CONF} to generate
-the output in @file{out-CONF}. Example: suppose I want to build with
-and without profiling. Then I'd use the following for the normal build,
-@example
-
- ./configure --prefix=~ --enable-checking
- make
- make install
-@end example
-
-and for the profiling version, I specify a different configuration.
-
-@example
-
- ./configure --prefix=~ --enable-profiling --enable-config=prof --disable-checking
- make conf=prof
- make conf=prof install
-
-@end example
-