2 NSTALL - compiling and installing GNU LilyPond
13 6: CONFIGURING and COMPILING
14 7: CONFIGURING FOR MULTIPLE PLATFORMS
24 This document explains what you need to install LilyPond,
25 and what you should do. If you are going to compile and
26 install LilyPond often, e.g. when doing development, you
27 might want to check out the buildscripts/set-lily.sh script.
28 It sets some environment variables and symlinks, which comes
29 in handly when you have to compile LilyPond more often.
33 You can get the latest version of LilyPond at
34 ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/. Refer to the links
35 document for mirror sites.
37 If you upgrade by patching do remember to rerun autoconf
38 after applying the patch.
42 For compilation you need:
44 o A GNU system: GNU LilyPond is known to run on these GNU
45 systems: Linux (PPC, intel), FreeBSD, AIX, NeXTStep,
46 IRIX, Digital Unix and Solaris.
48 o Lots of disk space: LilyPond takes between 30 and 100
49 mb to compile if you use debugging information. If you
50 are short on disk-space run configure with --disable-
53 Although we recommend to use Unix, LilyPond is known to
54 run on Windows NT/95/98 as well. See Section 11.
58 o Python 1.5, Check out ftp://ftp.python.org or
59 ftp://ftp.cwi.nl/pub/python.
61 o GUILE 1.3, check out http://www.gnu.org/soft-
62 ware/guile/guile.html.
64 o GNU make. Check out ftp://ftp.gnu.org.
66 o Flex (version 2.5.4 or newer). Check out
69 o Bison (version 1.25 or newer). Check out
72 o Yodl. All documentation will be in Yodl. (1.31.15)
73 ftp://ftp.lilypond.org/pub/yodl. You need the latest
74 version of YODL, because the tutorial will trigger a
75 bug in earlier versions.
77 o The geometry package for LaTeX is needed to use ly2dvi.
78 Available at ftp://ftp.ctan.org/tex-
79 archive/macros/latex/contrib/supported/geometry or at
80 mirror site ftp://ftp.dante.de
82 o MetaPost, if you want to use direct PostScript output.
83 Please note that tetex-0.4pl8 (included with Redhat
84 5.x) does not include mfplain.mp, which is needed for
85 producing the scaleable font files.
89 GNU LilyPond does use a lot of resources. For operation you
90 need the following software
94 o A PostScript printer and/or viewer (such as
95 Ghostscript) is strongly recommended. Xdvi will show
96 all embedded PostScript too if you have Ghostscript
99 o GUILE 1.3, check out http://www.gnu.org/pro-
102 For running LilyPond successfully you have to help TeX and
103 MetaFont find various files. The recommended way of doing
104 so is adjusting the environment variables in the start-up
105 scripts of your shell. An example is given here for the
108 export MFINPUTS="/usr/local/share/lilypond/mf:"
109 export TEXINPUTS="/usr/local/share/lilypond/tex:/usr/local/share/lilypond/ps:"
111 The empty path component represents and MetaFont's default
112 search paths. Scripts with the proper paths for the bourne
113 and C-shell respectively are generated in build-
114 scripts/out/lilypond-profile and buildscripts/out/lilypond-
115 login during compilation.
117 LilyPond is a hiddeously big, slow and bloated program. A
118 fast CPU and plenty of RAM is recommended for comfortable
123 The website is the most convenient form to use for reading
124 the documentation on-line documentation. It is made by
129 This does require a fully functioning
131 If you want to auto-generate Lily's website, you'll need
132 some additional conversion tools.
134 o YODL 1.31.15 or later.
136 o xpmtoppm (from the Portable Bitmap Utilities) (For Red-
137 Hat Linux users: it is included within the package
138 libgr-progs). the original is at ftp://ftp.x.org/con-
139 trib/utilities/netpbm-1mar1994.p1.tar.gz
141 o pnmtopng, which is also in libgr-progs for RedHat. The
143 ftp://swrinde.nde.swri.edu/pub/png/applications/pnm-
144 topng-2.37.2.tar.gz.i
146 The version of pnmtopng that is distributed with RedHat
147 5.1 and 5.2 contains a bug: pnmtopng is dynamically
148 linked to the wrong version of libpng, which results in
150 cropped images. Recompile it from source, and make
151 sure that the pnmtopng binary is linked statically to
152 the libpng that is included in libgr. RedHat 6.0 does
153 not have this problem.
155 tar xzf libgr-2.0.13.tar.gz
161 You can then install the new pnmtopng into
164 o Bib2html http://pertsserver.cs.uiuc.edu/~hull/bib2html.
165 Which, in turn depends on man2html for proper installa-
166 tion. man2html can be had from http://askdon-
167 ald.ask.uni-karlsruhe.de/hppd/hpux/Network-
168 ing/WWW/Man2html-1.05.
170 The website will build without this utility, but you
171 will not see our hypertextified bibliography.
173 o Doc++ (optional) to read the source code.
175 You also have to install buildscripts/out/ps-to-gifs in a
176 directory that is in the path.
178 6: CONFIGURING and COMPILING
180 to install GNU LilyPond, simply type:
182 gunzip -c lilypond-x.y.z | tar xf -
184 ./configure # fill in your standard prefix with --prefix
188 This will install a number of files, something close to:
190 /usr/local/man/man1/mi2mu.1
191 /usr/local/man/man1/convert-mudela.1
192 /usr/local/man/man1/mudela-book.1
193 /usr/local/man/man1/lilypond.1
194 /usr/local/bin/lilypond
196 /usr/local/share/lilypond/*
197 /usr/local/share/locale/{it,nl}/LC_MESSAGES/lilypond.mo
199 The above assumes that you are root and have the GNU devel-
200 opment tools, and your make is GNU make. If this is not the
201 case, you can adjust your environment variables to your
204 export CPPFLAGS="-I /home/me/my_include -DWEIRD_FOOBAR"
207 CPPFLAGS are the preprocessor flags.
209 The configure script is Cygnus configure, and it will accept
210 --help. If you are not root, you will probably have to make
211 it with a different --prefix option. Our favourite location
214 ./configure --prefix=$HOME/usr
216 In this case, you will have to set up MFINPUTS, and TEXIN-
219 Since GNU LilyPond currently is beta, you are advised to
225 Options to configure include:
228 Enable debugging print routines (lilypond -D option)
231 Set maximum optimisation: compile with -O2. This can
232 be unreliable on some compiler/platform combinations
233 (eg, DEC Alpha and PPC)
236 Compile with support for profiling.
239 Output to a different configuration file. Needed for
240 multi-platform builds
242 All options are documented in the configure help The option
243 --enable-optimise is recommended for Real Life usage.
249 everything will be compiled, but nothing will be installed.
250 The resulting binaries can be found in the subdirectories
251 out/ (which contain all files generated during compilation).
253 7: CONFIGURING FOR MULTIPLE PLATFORMS
255 If you want to compile LilyPond with different configuration
256 settings, then, you can use the --enable-config option.
257 Example: suppose I want to build with and without profil-
258 ing. Then I'd use the following for the normal build,
260 ./configure --prefix=~ --disable-optimise --enable-checking
264 and for the profiling version, I specify a different config-
267 ./configure --prefix=~ --enable-profiling --enable-config=optprof --enable-optimise --disable-checking
269 make config=optprof install
273 If you have done a successful make, then a simple
279 If you are doing an upgrade, please remember to remove obso-
280 lete .pk and .tfm files of the fonts. A script has been
281 provided to do the work for you, see bin/clean-fonts.sh.
285 o The -O2 option triggers bugs on various platforms
286 (PowerPC, Alpha). If you experience problems, you
287 should first try turning off this.
289 o On PPC you need at least EGCS-1.1.2f.
293 RedHat Linux users can compile an RPM. A spec file is in
294 make/out/lilypond.spec, it is distributed along with the
297 You can make the rpm by issuing
299 rpm -tb lilypond-x.y.z.tar.gz
300 rpm -i /usr/src/redhat/RPMS/i386/lilypond-x.y.z
302 Precompiled i386 RedHat RPMS are available from ftp://fresh-
303 meat.net/pub/rpms/lilypond/ and http://linux.umbc.edu/soft-
306 For compilation on a RedHat system you need these packages,
307 in addition to the thoes needed for running:
321 A Debian package is also available; contact Anthony Fok
322 foka@debian.org. The build scripts are in the subdirectory
327 Separate instructions on building for W32 are avaible in the
332 Send bug reports to bug-gnu-music@gnu.org. For help and
333 questions use help-gnu-music@gnu.org and gnu-music-dis-
334 cuss@gnu.org. Please consult the faq before mailing your
339 Han-Wen Nienhuys <hanwen@cs.uu.nl>
341 Jan Nieuwenhuizen <janneke@gnu.org>
343 In case of problems, please use the mailing list for help.