]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/topdocs/INSTALL.texi
We need FreeType 2.1.10 or newer.
[lilypond.git] / Documentation / topdocs / INSTALL.texi
index 55b9632acc602facf62d7a1097a0946294fd28cd..194c74e697a5ea64be958b00598d240e4a4023b3 100644 (file)
@@ -2,19 +2,15 @@
 @setfilename INSTALL.info
 @settitle INSTALL - compiling and installing GNU LilyPond
 
-@node Top, , , (dir)
+@documentencoding utf-8
+@documentlanguage en
+
+@node Top
 @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{ftp://ftp.lilypond.org/pub/LilyPond/gnu-windows/, LilyPond on Windows
-page}.
+@chapter Compiling and installing on Unix
 
 
 @html
@@ -23,503 +19,394 @@ page}.
 
 @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}.
+Even numbered minor versions are `stable' (2.6, 2.8, etc), while odd
+version are development releases (2.7, 2.9, etc).  Building LilyPond
+is an involved process.  If possible
+@uref{http://lilypond.org/install,download a precompiled binary} for
+your platform.
 
-@subsection  source code
+@subsection Source code
 
-
-If you want to compile LilyPond from source, download here:
+Download source
 @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}
+@item tarballs from
+@uref{http://lilypond.org/download/} by HTTP.
+@item tarballs from
+@uref{http://download.linuxaudio.org/lilypond/} by HTTP.
+@item 
+GIT from @uref{http://git.sv.gnu.org/gitweb/?p=lilypond.git;a=summary,git.sv.gnu.org}
+@example
+git clone git://git.sv.gnu.org/lilypond.git
+@end example
 
+The repository does not contain generated files.  To create
+@file{configure}, run
+@example
+./autogen.sh
+@end example
 @end itemize
 
-@subsection Upgrading
+For information on packaging, see @uref{http://lilypond.org/devel}.
 
-There are two  options for upgrading sources.
-
-@itemize
-@item if you have an unpacked source tree of a previous version, you
-may the patches.
+@subsection Precompiled binary packages
 
-@emph{If you upgrade by patching do remember to rerun autoconf after
-applying the patch}.
+Check out @uref{http://lilypond.org/web/install/} for up to date
+information on binary packages for your platform.
 
-@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.3.122.tar.gz} from
-@file{lilypond-1.3.121} identical (up to compression dates) to the .122
-on the FTP site.
-@example
-  xdelta patch lilypond-1.3.121-1.3.122.xd lilypond-1.3.121.tar.gz
-@end example
-@end itemize
 
 @section Requirements
 
 @subsection Compilation
 
-You need the following packages to compile Lilypond.
+In addition to the packages needed for running Lilypond (see below),
+you need the following extra packages for building.
 
-@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}.
+When installing a binary package FOO, you may need to install the
+FOO-devel, libFOO-dev or FOO-dev package too.
 
-@item  Python 1.5,
-Check out @uref{http://www.python.org, the python website}.
+@itemize
 
-@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 @uref{http://fontforge.sf.net/,FontForge} 20060125 or newer.
 
-@item GNU Make. 
-Check out
-@uref{ftp://ftp.gnu.org/gnu/make/, the GNU
-make FTP directory}.
+@item New Century Schoolbook fonts, as PFB files. These are shipped
+with X11 and Ghostscript, and are named @file{c059033l.pfb}
+@file{c059036l.pfb}, @file{c059013l.pfb} and @file{c059016l.pfb}
 
-@item Flex (version 2.5.4a or newer). 
-Check out @uref{http://www.gnu.org/software/flex/,the Flex webpage}.
+@item @uref{http://www.xs4all.nl/~hanwen/mftrace/,mftrace} (1.1.19 or
+newer),
 
-@item Bison (version 1.25 or newer).
-Check out @uref{http://www.gnu.org/software/bison/,the bison  webpage}
+You will need to install some additional packages to get mftrace to
+work.
 
-@item @TeX{}.
+@item @uref{http://www.gnu.org/software/guile/guile.html,GUILE}
+(version 1.8.2 or newer).  If you are installing binary packages, you
+may need to install guile-devel or guile-dev or libguile-dev too.
 
-@TeX{} is used as an output backend.
+@item @uref{ftp://ftp.gnu.org/gnu/texinfo/,Texinfo} (version 4.8 or newer).
 
-Also, @TeX{}'s libkpathsea is used to find the fonts (.mf, .afm, .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
+@uref{http://gcc.gnu.org/, The GNU c++ compiler} (version 4.x or
+newer). 
 
-@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 @uref{http://www.python.org,Python} (version 2.3 or newer)
 
-@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 @uref{ftp://ftp.gnu.org/gnu/make/,GNU Make} (version 3.78 or newer).
 
-@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.
+@item @uref{http://www.gnu.org/software/gettext/gettext.html,gettext}.
 
-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 @uref{http://www.gnu.org/software/flex/,Flex} 
 
-@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.
+@item @uref{http://www.perl.org/,Perl} 
 
-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:
+@item @uref{http://www.gnu.org/software/flex/,GNU Bison} 
 
-@example
-./configure --without-kpathsea --enable-tfm-path=/usr/share/texmf/fonts/tfm/public/cm/:/usr/share/texmf/fonts/tfm/ams/symbols
-@end example
+@item All packages required for running, including development packages with
+header files and libraries.
 
 @end itemize
 
 @subsection Running requirements
 
-GNU LilyPond does use a lot of resources. For operation you need the
-following software
+Running LilyPond requires proper installation of 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.
+@item @uref{http://www.freetype.org/,Freetype} (version 2.1.10 or newer).
+@item @uref{http://www.freetype.org/,FontConfig} (version 2.2).
+@item @uref{http://www.pango.org/,Pango} (version 1.12 or newer).
+@item @uref{http://www.gnu.org/software/guile/guile.html,GUILE}
+(version 1.8.2 or newer), or patch 1.8.1 with
+@uref{http://lilypond.org/vc/gub.darcs/patches/guile-1.8-rational.patch}.
+@item @uref{http://www.python.org,Python} (version 2.4 or newer).
+@item @uref{http://www.ghostscript.com,Ghostscript} (version 8.15 or
+newer. 8.50 recommended)
+@item Dejaview.  (This is normally installed by default)
+@end itemize
 
-LilyPond is a big and slow program.  A fast CPU and plenty of RAM is
-recommended for comfortable use.
+International fonts are required to create music with international text
+or lyrics.
 
-@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 
+@subsection Building documentation
 
-  make web-doc
-@end example 
+You can view the documentation online at
+@uref{http://lilypond.org/doc/}, but you can also build it locally.
+This process requires a successful compile of lilypond.  The
+documentation is built by issuing
+@quotation
+@example
+make web
+@end example
+@end quotation
 
-Building the website requires some additional tools
+Building the website requires some additional tools and packages
 
 @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}
+@item The @uref{http://netpbm.sourceforge.net/,netpbm utilities}
+@item ImageMagick
+@item International fonts (see input/regression/utf-8.ly for hints
+about which font packages are necessary for your platform)
+@item Ghostscript, 8.50 with the patch from
+@uref{http://bugs.ghostscript.com/show_bug.cgi?id=688154}
+and the patch from
+@uref{http://bugs.ghostscript.com/show_bug.cgi?id=688017}.
 @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.
-
+The HTML files can be installed into the standard documentation path
+by issuing
 
+@quotation
+@example
+make out=www web-install
+@end example
+@end quotation
 
-@subsection Configuring for multiple platforms
+@section Testing LilyPond
 
-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 
+@html
+<a name="testing"></a>
+@end html
 
-      ./configure --prefix=~ --enable-checking
-      make
-      make install
-@end example 
+LilyPond comes with an extensive suite that excercises the entire
+program. This suite can be used to automatically check the impact of a
+change. This is done as follows
 
-and for the profiling version, I specify a different configuration.
+@example
+  make test-baseline
+  @emph{## apply your changes, compile}
+  make check
+@end example
 
-@example 
+This will leave an HTML page @file{out/test-results/index.html}.  This
+page shows all the important differences that your change introduced,
+whether in the layout, MIDI, performance or error reporting.
 
-      ./configure --prefix=~ --enable-profiling --enable-config=prof --disable-checking
-      make conf=prof
-      make conf=prof install
+To rerun tests, use
 
-@end example 
+@example
+  make test-redo           @emph{## redo files differing from baseline}
+  make test-clean          @emph{## remove all test results}
+@end example
 
+@noindent
+and then run @code{make check} again.
 
+For tracking memory usage as part of this test, you will need GUILE
+CVS; especially the following patch:
+@uref{http://lilypond.org/vc/gub.darcs/patches/guile-1.9-gcstats.patch}.
 
+For checking the coverage of the test suite, do the following
 
+@example
+  ./buildscripts/build-coverage.sh
+  @emph{# uncovered files, least covered first}
+  python ./buildscripts/coverage.py  --summary out-cov/*.cc
+  @emph{# consecutive uncovered lines, longest first} 
+  python ./buildscripts/coverage.py  --uncovered out-cov/*.cc
+@end example
 
-@section Emacs mode
+@section Building LilyPond
 
-An emacs mode for LilyPond is included with the source archive as
-@file{lilypond-mode.el} and @file{lilypond-font-lock.el}.  If you have
-an RPM, it is in @file{/usr/share/doc/lilypond-X/}.  You have to install
-it yourself.
-
-Add this to your @file{~/.emacs} or @file{~/.emacs.el}:
-@example 
-    (load-library "lilypond-mode.el")
-    (setq auto-mode-alist
-      (cons '("\\.ly$" . LilyPond-mode) auto-mode-alist))
-    (add-hook 'LilyPond-mode-hook (lambda () (turn-on-font-lock)))
+To install GNU LilyPond, type
+@quotation
+@example
+gunzip -c lilypond-x.y.z | tar xf -
+cd lilypond-x.y.z
+./configure            # run with --help for applicable options
+make
+make install
 @end example
+@end quotation
 
-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 
+If you are not root, you should choose a @code{--prefix} argument that
+points into your home directory, e.g.
+@quotation
+@example
+./configure --prefix=$HOME/usr
+@end example
+@end quotation
 
-@subsection Red Hat Linux
 
-Red Hat 7.0 i386 RPMS are available from
-@uref{ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/RedHat/}.
+@subsection Configuring for multiple platforms
 
-You can also compile them yourself.  A spec file is in
-@file{make/out/redhat.spec}. This file is distributed along with the
-sources.  You can make the rpm by issuing
-@example 
+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 you want to build
+with and without profiling, then use the following for the normal
+build
 
-       rpm -tb lilypond-x.y.z.tar.gz
-       rpm -i /usr/src/redhat/RPMS/i386/lilypond-x.y.z
-@end example 
+@quotation
+@example
+./configure --prefix=$HOME/usr/ --enable-checking
+make
+make install
+@end example
+@end quotation
 
-For running on a Red Hat system you need these packages: guile, tetex,
-tetex-latex, tetex-dvips, libstdc++, python, ghostscript.
+and for the profiling version, specify a different configuration
 
-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.
+@quotation
+@example
+./configure --prefix=$HOME/usr/ --enable-profiling --enable-config=prof --disable-checking
+make conf=prof
+make conf=prof install
+@end example
+@end quotation
 
-@subsection SuSE
 
-You can also compile them yourself.  A spec file is in
-@file{make/out/suse.spec}. This file is distributed along with the
-sources.
+@section Emacs mode
 
-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
+An Emacs mode for entering music and running LilyPond is contained in
+the source archive in the @file{elisp} directory.  Do @command{make
+install} to install it to @var{elispdir}.  The file @file{lilypond-init.el}
+should be placed to @var{load-path}@file{/site-start.d/} or appended
+to your @file{~/.emacs} or @file{~/.emacs.el}.
 
-@subsection Slackware
+As a user, you may want add your source path (e.g. @file{~/site-lisp/}) to
+your @var{load-path} by appending the following line (as modified) to your
+@file{~/.emacs}
+@c any reason we do not advise:  (push "~/site-lisp" load-path)
+@quotation
+@example
+(setq load-path (append (list (expand-file-name "~/site-lisp")) load-path))
+@end example
+@end quotation
 
-Problems have been reported with Slackware 7.0; apparently, it ships
-with a faulty compiler. Do not compile LilyPond with -O2 on this
-platform.
 
-@subsection Mandrake
+@section Vim mode
 
-[TODO]
+A Vim mode for entering music and running LilyPond is contained in the
+source archive in @code{$VIM} directory.
 
-@subsection Debian GNU/Linux
+The LilyPond file type is detected if the file @file{~/.vim/filetype.vim} @c
+has the following content
+@quotation
+@example
+if exists("did_load_filetypes")
+  finish
+endif
+augroup filetypedetect
+  au! BufNewFile,BufRead *.ly           setf lilypond
+augroup END
+@end example
+@end quotation
 
-A Debian package is also available.  You may install it easily by using
-apt-get as root:
+Please include this path by appending the following line to your
+@file{~/.vimrc}
 
+@quotation
 @example
-       apt-get install lilypond1.3
+set runtimepath+=/usr/local/share/lilypond/$@{LILYPOND_VERSION@}/vim/
 @end example
+@end quotation
 
+@noindent
+where $@{LILYPOND_VERISON@} is your lilypond version.  If Lilypond was not
+installed in @file{/usr/local/}, then change this path accordingly.
 
-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
+@section Problems
 
-Alternatively, visit
+For help and questions use @email{lilypond-user@@gnu.org}.  Send bug
+reports to @email{bug-lilypond@@gnu.org}.
 
-@itemize @bullet
-@item @uref{http://packages.debian.org/lilypond,http://packages.debian.org/lilypond}
-@item @uref{http://ftp.debian.org/debian/pool/main/l/lilypond1.3/,http://ftp.debian.org/debian/pool/main/l/lilypond1.3/}
-for latest package uploaded to Debian unstable;
-@item @uref{http://people.debian.org/~foka/lilypond/,http://people.debian.org/~foka/lilypond/}
-for latest semi-unofficial build of LilyPond 1.3.121 for Debian 2.2r2 (potato) users.
-The official stable Debian 2.2r2 is stuck with the old LilyPond-1.3.24.
-@end itemize
+Bugs that are not fault of LilyPond are documented here.
 
-You may contact Anthony Fok @email{foka@@debian.org} for more information.
+@subsection Bison 1.875
 
-The build scripts are in the subdirectory @file{debian/}; you can
-make the .deb by doing, for example:
+There is a bug in bison-1.875: compilation fails with "parse error
+before `goto'" in line 4922 due to a bug in bison. To fix, please
+recompile bison 1.875 with the following fix
 
+@quotation
 @example
-       $ su - root
-       # dpkg --purge lilypond lilypond1.3
-       # exit
-       $ tar xzf lilypond-1.3.122.tar.gz
-       $ cd lilypond-1.3.122
-       $ dch -p -v 1.3.122-0.local.1 "Local build."
-       $ debuild
-       $ su - root
-       # dpkg -i ../lilypond1.3_1.3.122*.deb
-       # exit
-       $
+$ cd lily; make out/parser.cc
+$ vi +4919 out/parser.cc
+# append a semicolon to the line containing "__attribute__ ((__unused__))
+# save
+$ make
 @end example
+@end quotation
 
-For compilation on a Debian GNU/Linux system you need these packages,
-in addition to the those needed for running:
 
-@itemize @bullet
-@item g++, cpp, libc6-dev, libstdc++<your-libstdc++-version-here>-dev
-@item libguile<your-libguile-version-here>-dev
-@item make, m4, flex, bison
-@item gettext
-@item groff, texinfo, bibtex2html (not in 2.2r2)
-@item tetex-base, tetex-bin, tetex-extra, libkpathsea-dev or tetex-dev
-@item dpkg-dev, debhelper, fakeroot
-@item gs, netpbm, pnmtopng
-@end itemize
+@unnumberedsubsec MacOS X
 
-Most of these are listed on the Build-Depends line in the
-debian/control file.  To ensure the creation of the lilypond deb is
-trouble-free, we recommend that you first install the following packages
-before starting dpkg-buildpackage by running apt-get as root.
+For Fink, use the following command to compile.
 
-For Debian 2.2 (or 2.2r2, 2.2r3):
+@verbatim
+export GUILE=guile-1.6
+export GUILE_CONFIG=guile-1.6-config
+export PKG_CONFIG_PATH=/sw/lib/freetype219/lib/pkgconfig/:/sw/lib/fontconfig2/lib/pkgconfig/
+./configure
+@end verbatim
 
-@example
-       apt-get install task-debian-devel task-c++-dev \
-               python-base libguile6-dev tetex-bin tetex-dev \
-               tetex-extra flex bison texinfo groff gs \
-               netpbm pnmtopng m4 gettext
-@end example
+@unnumberedsubsec  Solaris
 
-For Debian in development ("unstable", the future 2.3 or 3.0):
+@itemize @bullet
+@item Solaris7, ./configure
 
+@file{./configure} needs a POSIX compliant shell.  On Solaris7,
+@file{/bin/sh} is not yet POSIX compliant, but @file{/bin/ksh} or bash
+is.  Run configure like
+@quotation
 @example
-       apt-get install task-debian-devel task-c++-dev \
-               python-base libguile9-dev tetex-bin libkpathsea-dev \
-               tetex-extra flex bison texinfo bibtex2html groff gs \
-               netpbm pnmtopng m4 gettext
+       CONFIG_SHELL=/bin/ksh ksh -c ./configure
 @end example
-
-And, just so that old fonts from previous versions of LilyPond won't
-interfere with your build, you may want to do this before the build too:
-
+@end quotation
+or
+@quotation
 @example
-       dpkg --purge lilypond lilypond1.3
+       CONFIG_SHELL=/bin/bash bash -c ./configure
 @end example
+@end quotation
 
+@item FreeBSD
 
+To use system fonts, dejaview must be installed.  With the default
+port, the fonts are installed in @file{usr/X11R6/lib/X11/fonts/dejavu}.
 
-@section Problems
-
-For help and questions use @email{help-gnu-music@@gnu.org} and
-@email{gnu-music-discuss@@gnu.org}.  Please consult the faq before
-mailing your problems.  If you find bugs, please send bug reports to
-@email{bug-gnu-music@@gnu.org}.
-
-Bugs that are not fault of LilyPond are documented here.
-
-@unnumberedsubsec NetBSD
-
-@itemize @bullet
-@item The flex precompiled in NetBSD-1.4.2 is broken.
-Download flex-2.5.4a, build, install.
+Open the file @file{$LILYPONDBASE/usr/etc/fonts/local.conf} and add the
+following line just after the @code{<fontconfig>} line.  (Adjust as necessary
+for your hierarchy.)
 
-@item The configuration of Gcc (egcs-2.91.60 19981201 (egcs-1.1.1
-release)) does not include @file{/usr/pkg} paths.  Configure using:
 @example
-
-CFLAGS='-I /usr/pkg/include' LDFLAGS='-L/usr/pkg/lib' ./configure
-
+<dir>/usr/X11R6/lib/X11/fonts</dir>
 @end example
 
 @end itemize
 
-@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.
+@section International fonts
 
-@item Sparc64/Solaris 2.6, ld
+On MacOs X, all fonts are installed by default.  However, finding all
+system fonts requires a bit of configuration; see
+@uref{http://lists.gnu.org/archive/html/lilypond-user/2007-03/msg00472.html,
+this post} on the @code{lilypond-user} mailing list.
 
-Not yet resolved.
-@end itemize
+On Linux, international fonts are installed by different means on
+every distribution.  We cannot list the exact commands or packages
+that are necessary, as each distribution is different, and the exact
+package names within each distribution changes.  Here are some
+hints, though:
 
+@verbatim
+Red Hat Fedora
 
-@unnumberedsubsec   AIX
+    taipeifonts fonts-xorg-truetype ttfonts-ja fonts-arabic \
+         ttfonts-zh_CN fonts-ja fonts-hebrew 
 
-@itemize @bullet
-@item AIX 4.3 ld
+Debian GNU/Linux
 
-The following is from the gcc install/SPECIFIC file.
-@quotation
-   Some versions of the AIX binder (linker) can fail with a relocation
-   overflow severe error when the -bbigtoc option is used to link
-   GCC-produced object files into an executable that overflows the TOC.
-   A fix for APAR IX75823 (OVERFLOW DURING LINK WHEN USING GCC AND  
-   -BBIGTOC) is available from IBM Customer Support and from its
-   27service.boulder.ibm.com website as PTF U455193.   
-
-   Binutils does not support AIX 4.3 (at least through release 2.9). GNU
-   as and GNU ld will not work properly and one should not configure GCC
-   to use those GNU utilities. Use the native AIX tools which do
-   interoperate with GCC.
-@end quotation
+   apt-get install emacs-intl-fonts xfonts-intl-.* \
+        ttf-kochi-gothic ttf-kochi-mincho \
+        xfonts-bolkhov-75dpi xfonts-cronyx-100dpi xfonts-cronyx-75dpi 
+@end verbatim
 
-add -Wl,-bbigtoc to USER_LDFLAGS, ie:
-@example
-    LDFLAGS='-Wl,-bbigtoc' ./configure
-@end example
 
-@end itemize
 
 
 @bye
-        
+