sect(ABSTRACT)
-You do something which looks remotely like
-verb(
- configure # Check out the buildscripts/set-lily.sh script
- make
- make install
-)
+This document explains what you need to install LilyPond, and what you
+should do. If you are going to compile and install LilyPond often,
+e.g. when doing development, you might want to check out the
+file(buildscripts/set-lily.sh) script. It sets some environment
+variables and symlinks, which comes in handly when you have to compile
+LilyPond more often.
+
+sect(OBTAINING)
+
+You can get the latest version of LilyPond at
+lurl(ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/). Refer to the links
+document for mirror sites.
-The detailed instructions follow here. The
-file(buildscripts/set-lily.sh) script sets some environment variables
-and symlinks, which comes in handly when you have to compile LilyPond
-very often. It is aimed at people who run (or debug) LilyPond without
-installing.
+em(If you upgrade by patching do remember to rerun autoconf after
+applying the patch).
sect(PREREQUISITES)
(PPC, intel), FreeBSD, AIX, NeXTStep, IRIX, Digital Unix and
Solaris.
-it()Lots of disk space: LilyPond takes between 50 and 100 mb to
+it()Lots of disk space: LilyPond takes between 30 and 100 mb to
compile if you use debugging information. If you are short on
disk-space run configure with code(--disable-debugging).
Although we recommend to use Unix, LilyPond is known to run on Windows
NT/95/98 as well. See Section ref(w32).
-it() GNU C++ version 2.7 or newer (2.8 and egcs are also fine).
-it() Python 1.5 (Strictly speaking, you shouldn't need Python for
- compiling and installing, but you'll need it to regenerate the font
- tables, e.g.).
+it() EGCS 1.1 or newer.
-it() GUILE 1.3 (no, GUILE 1.2 won't work)
+it() Python 1.5,
+Check out
+lurl(ftp://ftp.python.org) or lurl(ftp://ftp.cwi.nl/pub/python).
+
+it() GUILE 1.3, check out lurl(http://www.gnu.org/software/guile/guile.html).
+
+it()GNU make.
+Check out lurl(ftp://ftp.gnu.org).
+
+it()Flex (version 2.5.4 or newer).
+Check out lurl(ftp://ftp.gnu.org).
+
+it()Bison (version 1.25 or newer).
+Check out lurl(ftp://ftp.gnu.org).
+
+it()Yodl. All documentation will be in Yodl. (1.30.17)
+lurl(ftp://ftp.lilypond.org/pub/yodl)
+
+it()The geometry package for LaTeX is needed to use ly2dvi.
+Available at
+lurl(ftp://ftp.ctan.org/tex-archive/macros/latex/contrib/supported/geometry)
+or at mirror site lurl(ftp://ftp.dante.de)
)
+
sect(RUNNING)
GNU LilyPond does use a lot of resources. For operation you need the
-following:
+following software
itemize(
it()TeX
it()A PostScript printer and/or viewer (such as Ghostscript) is strongly
recommended. Xdvi will show all embedded PostScript too if you have
Ghostscript installed.
+it() GUILE 1.3, check out lurl(http://www.gnu.org/programs/guile.html)
)
environment variables in the start-up scripts of your shell. An
example is given here for the Bourne shell:
verb(export MFINPUTS="/usr/local/share/lilypond/mf:"
-export TEXINPUTS="/usr/local/share/lilypond/tex:"
+export TEXINPUTS="/usr/local/share/lilypond/tex:/usr/local/share/lilypond/ps:"
)
The empty path component
represents TeX() and MetaFont's default search paths. Scripts with
the proper paths for the bourne and C-shell respectively are generated in
file(buildscripts/out/lilypond-profile) and
-file(buildscripts/out/lilypond-login) during compilation.
+file(buildscripts/out/lilypond-login) during compilation.
+LilyPond is a hideously slow program. A fast CPU and plenty of RAM is
+recommended for comfortable use.
-sect(RECOMMENDED)
-
-Although not strictly necessary, these are recommended to have.
-
-itemize(
-it()GNU make.
-Check out lurl(ftp://ftp.gnu.org)
-or any mirror of this site.
-
-it()Flex (version 2.5.4 or newer).
-Check out lurl(ftp://ftp.gnu.org)
-or any mirror of this site.
-it()Bison (version 1.25 or newer).
-Check out lurl(ftp://ftp.gnu.org)
-or any mirror of this site.
-
-it()GUILE (version 1.2)
-Check out lurl(http://www.gnu.org/programs/guile.html)
-
-it()Python (version 1.5 or newer). Check out
-lurl(ftp://ftp.python.org) or lurl(ftp://ftp.cwi.nl/pub/python).
-
-it()Yodl. All documentation will be in Yodl. (1.30.17)
-lurl(ftp://pcnov095.win.tue.nl/pub/yodl)
- lurl(http://www.cs.uu.nl/~hanwen/yodl)
-it()Texinfo. (version 3.12 or newer)
-
-it()GNU find
-Check out lurl(ftp://ftp.gnu.org)
-or any mirror of this site.
-
-it()The geometry package for LaTeX is needed to use ly2dvi.
- Available at
-lurl(ftp://ftp.ctan.org/tex-archive/macros/latex/contrib/supported/geometry)
-or at mirror site lurl(ftp://ftp.dante.de)
-
-it() A fast computer (a full page of music typically takes 1 minute on my
- 486/133, using the bf(--enable-checking) compile. It's lot slower than
- most MusiXTeX preprocessors)
-)
sect(WEBSITE)
)
Building the website requires pnmtopng. The version of file(pnmtopng)
-that is distributed with RedHat 5.1 contains a bug (pnmtopng is
-dynamically linked to the wrong version of libpng). Recompile it from
-source, and make sure that the pnmtopng binary is linked statically to
-the libpng that is included in libgr.
+that is distributed with RedHat 5.1 and 5.2 contains a bug: pnmtopng
+is dynamically linked to the wrong version of libpng. Recompile it
+from source, and make sure that the pnmtopng binary is linked
+statically to the libpng that is included in libgr. RedHat 6.0 does
+not have this problem.
verb( tar xzf libgr-2.0.13.tar.gz
make
to install GNU LilyPond, simply type:
verb(
- configure
+ gunzip -c lilypond-x.y.z | tar xf -
+ cd lilypond-x.y.z
+ ./configure # fill in your standard prefix with --prefix
make
make install
)
verb(
export CPPFLAGS="-I /home/me/my_include -DWEIRD_FOOBAR"
- configure
+ ./configure
)
code(CPPFLAGS) are the preprocessor flags.
with a different bf(--prefix) option. Our favourite location is
verb(
- configure --prefix=$HOME/usr
+ ./configure --prefix=$HOME/usr
)
In this case, you will have to set up MFINPUTS, and TEXINPUTS accordingly.
Options to configure include:
description(
-dit(bf(--enable-guile))
- Link in GUILE (experimental)
dit(bf(--enable-printing))
Enable debugging print routines (lilypond bf(-D) option)
dit(bf(--enable-optimise))
following for the normal build,
verb(
- configure --prefix=~ --disable-optimise --enable-checking
+ ./configure --prefix=~ --disable-optimise --enable-checking
make
make install
)
and for the profiling version, I specify a different configuration.
verb(
- configure --prefix=~ --enable-profiling --enable-config=optprof --enable-optimise --disable-checking
+ ./configure --prefix=~ --enable-profiling --enable-config=optprof --enable-optimise --disable-checking
make config=optprof
make config=optprof install
)
nsect(CAVEATS)
itemize(
-it()The -O2 option to gcc triggers a gcc bug on DEC Alpha in dstream.cc. You
- should turn off this flag for this file.
+it()The -O2 option triggers bugs on various platforms (PowerPC, Alpha).
+ If you experience problems, you should first try turning off this.
)
nsect(EXAMPLE)
sect(REDHAT LINUX)
RedHat Linux users can compile an RPM. A spec file is in
-file(make/out/lilypond.spec). You should install a gif file called
-file(lelie_icon.gif) along with the sources. You can generate this
-gif file by typing
-
-verb(
- make gifs
-)
-
-in the directory file(Documentation).
+file(make/out/lilypond.spec), it is distributed along with the
+sources.
You can make the rpm by issuing
-
verb(
- make rpm
+ rpm -tb lilypond-x.y.z.tar.gz
+ rpm -i /usr/src/redhat/RPMS/i386/lilypond-x.y.z
)
sect(DEBIAN GNU/LINUX)
A Debian package is also available; contact Anthony Fok
-email(foka@debian.org). The build scripts are in the subdirectory file(debian/)
+email(foka@debian.org). The build scripts are in the subdirectory
+file(debian/).
sect(WINDOWS NT/95)