2 INSTALL - compiling and installing GNU LilyPond
13 6: CONFIGURING and COMPILING
14 7: CONFIGURING FOR MULTIPLE PLATFORMS
23 This document explains what you need to install LilyPond,
24 and what you should do. If you are going to compile and
25 install LilyPond often, e.g. when doing development, you
26 might want to check out the buildscripts/set-lily.sh script.
27 It sets some environment variables and symlinks, which comes
28 in handly when you have to compile LilyPond more often.
32 You can get the latest version of LilyPond at
33 ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/. Refer to the links
34 document for mirror sites.
36 If you upgrade by patching do remember to rerun autoconf
37 after applying the patch.
41 For compilation you need:
43 o A GNU system: GNU LilyPond is known to run on these GNU
44 systems: Linux (PPC, intel), FreeBSD, AIX, NeXTStep,
45 IRIX, Digital Unix and Solaris.
47 o Lots of disk space: LilyPond takes between 30 and 100
48 mb to compile if you use debugging information. If you
49 are short on disk-space run configure with --disable-
52 Although we recommend to use Unix, LilyPond is known to
53 run on Windows NT/95/98 as well. See Section 11.
57 o Python 1.5, Check out ftp://ftp.python.org or
58 ftp://ftp.cwi.nl/pub/python.
60 o GUILE 1.3, check out http://www.gnu.org/soft-
61 ware/guile/guile.html.
63 o GNU make. Check out ftp://ftp.gnu.org.
65 o Flex (version 2.5.4 or newer). Check out
68 o Bison (version 1.25 or newer). Check out
71 o Yodl. All documentation will be in Yodl. (1.30.17)
72 ftp://ftp.lilypond.org/pub/yodl
74 o The geometry package for LaTeX is needed to use ly2dvi.
75 Available at ftp://ftp.ctan.org/tex-
76 archive/macros/latex/contrib/supported/geometry or at
77 mirror site ftp://ftp.dante.de
79 o MetaPost, if you want to use direct PostScript output.
80 Please note that tetex-0.4pl8 (included with Redhat
81 5.x) does not include mfplain.mp, which is needed for
82 producing the scaleable font files.
86 GNU LilyPond does use a lot of resources. For operation you
87 need the following software
91 o A PostScript printer and/or viewer (such as
92 Ghostscript) is strongly recommended. Xdvi will show
93 all embedded PostScript too if you have Ghostscript
96 o GUILE 1.3, check out http://www.gnu.org/pro-
99 For running LilyPond successfully you have to help TeX and
100 MetaFont find various files. The recommended way of doing
101 so is adjusting the environment variables in the start-up
102 scripts of your shell. An example is given here for the
105 export MFINPUTS="/usr/local/share/lilypond/mf:"
106 export TEXINPUTS="/usr/local/share/lilypond/tex:/usr/local/share/lilypond/ps:"
108 The empty path component represents and MetaFont's default
109 search paths. Scripts with the proper paths for the bourne
110 and C-shell respectively are generated in build-
111 scripts/out/lilypond-profile and buildscripts/out/lilypond-
112 login during compilation.
114 LilyPond is a hiddeously big, slow and bloated program. A
115 fast CPU and plenty of RAM is recommended for comfortable
120 If you want to auto-generate Lily's website, you'll need
121 some additional conversion tools.
123 o xpmtoppm (from the Portable Bitmap Utilities) (For Red-
124 Hat Linux users: it is included within the package
125 libgr-progs). the original is at ftp://ftp.x.org/con-
126 trib/utilities/netpbm-1mar1994.p1.tar.gz
128 o pnmtopng, which is also in libgr-progs for RedHat. The
130 ftp://swrinde.nde.swri.edu/pub/png/applications/pnm-
131 topng-2.37.2.tar.gz.i
133 The version of pnmtopng that is distributed with RedHat
134 5.1 and 5.2 contains a bug: pnmtopng is dynamically
135 linked to the wrong version of libpng. Recompile it
136 from source, and make sure that the pnmtopng binary is
137 linked statically to the libpng that is included in
138 libgr. RedHat 6.0 does not have this problem.
140 tar xzf libgr-2.0.13.tar.gz
146 You can then install the new pnmtopng into
149 o Bib2html http://pertsserver.cs.uiuc.edu/~hull/bib2html.
150 Which, in turn depends on man2html for proper installa-
151 tion. man2html can be had from http://askdon-
152 ald.ask.uni-karlsruhe.de/hppd/hpux/Network-
153 ing/WWW/Man2html-1.05.
155 The website will build without this utility, but you
156 will not see our hypertextified bibliography.
158 You also have to install buildscripts/out/ps-to-gifs in a
159 directory that is in the path.
161 6: CONFIGURING and COMPILING
163 to install GNU LilyPond, simply type:
165 gunzip -c lilypond-x.y.z | tar xf -
167 ./configure # fill in your standard prefix with --prefix
171 This will install a number of files, something close to:
173 /usr/local/man/man1/mi2mu.1
174 /usr/local/man/man1/convert-mudela.1
175 /usr/local/man/man1/mudela-book.1
176 /usr/local/man/man1/lilypond.1
177 /usr/local/bin/lilypond
179 /usr/local/share/lilypond/*
180 /usr/local/share/locale/{it,nl}/LC_MESSAGES/lilypond.mo
182 The above assumes that you are root and have the GNU devel-
183 opment tools, and your make is GNU make. If this is not the
184 case, you can adjust your environment variables to your
187 export CPPFLAGS="-I /home/me/my_include -DWEIRD_FOOBAR"
190 CPPFLAGS are the preprocessor flags.
192 The configure script is Cygnus configure, and it will accept
193 --help. If you are not root, you will probably have to make
194 it with a different --prefix option. Our favourite location
197 ./configure --prefix=$HOME/usr
199 In this case, you will have to set up MFINPUTS, and TEXIN-
202 Since GNU LilyPond currently is beta, you are advised to
208 Options to configure include:
211 Enable debugging print routines (lilypond -D option)
214 Set maximum optimisation: compile with -O2. This can
215 be unreliable on some compiler/platform combinations
216 (eg, DEC Alpha and PPC)
219 Compile with support for profiling.
222 Output to a different configuration file. Needed for
223 multi-platform builds
225 All options are documented in the configure help The option
226 --enable-optimise is recommended for Real Life usage.
232 everything will be compiled, but nothing will be installed.
233 The resulting binaries can be found in the subdirectories
234 out/ (which contain all files generated during compilation).
236 7: CONFIGURING FOR MULTIPLE PLATFORMS
238 If you want to compile LilyPond with different configuration
239 settings, then, you can use the --enable-config option.
240 Example: suppose I want to build with and without profil-
241 ing. Then I'd use the following for the normal build,
243 ./configure --prefix=~ --disable-optimise --enable-checking
247 and for the profiling version, I specify a different config-
250 ./configure --prefix=~ --enable-profiling --enable-config=optprof --enable-optimise --disable-checking
252 make config=optprof install
256 If you have done a successful make, then a simple
262 If you are doing an upgrade, please remember to remove obso-
263 lete .pk and .tfm files of the fonts. A script has been
264 provided to do the work for you, see bin/clean-fonts.sh.
268 o The -O2 option triggers bugs on various platforms
269 (PowerPC, Alpha). If you experience problems, you
271 should first try turning off this.
273 o On PPC you need at least EGCS-1.1.2f.
277 RedHat Linux users can compile an RPM. A spec file is in
278 make/out/lilypond.spec, it is distributed along with the
281 You can make the rpm by issuing
283 rpm -tb lilypond-x.y.z.tar.gz
284 rpm -i /usr/src/redhat/RPMS/i386/lilypond-x.y.z
286 Precompiled i386 RedHat RPMS are available from ftp://fresh-
287 meat.net/pub/rpms/lilypond/.
291 A Debian package is also available; contact Anthony Fok
292 foka@debian.org. The build scripts are in the subdirectory
297 Separate instructions on building for W32 are avaible in the
302 Han-Wen Nienhuys <hanwen@cs.uu.nl>
304 Jan Nieuwenhuizen <janneke@gnu.org>
306 In case of problems, please use the mailing list for help.