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 hideously slow program. A fast CPU and plenty
115 of RAM is recommended for comfortable use.
119 If you want to auto-generate Lily's website, you'll need
120 some additional conversion tools.
122 o xpmtoppm (from the Portable Bitmap Utilities) (For Red-
123 Hat Linux users: it is included within the package
124 libgr-progs). the original is at ftp://ftp.x.org/con-
125 trib/utilities/netpbm-1mar1994.p1.tar.gz
127 o pnmtopng, which is also in libgr-progs for RedHat. The
129 ftp://swrinde.nde.swri.edu/pub/png/applications/pnm-
130 topng-2.37.2.tar.gz.i
132 The version of pnmtopng that is distributed with RedHat
133 5.1 and 5.2 contains a bug: pnmtopng is dynamically
134 linked to the wrong version of libpng. Recompile it
135 from source, and make sure that the pnmtopng binary is
136 linked statically to the libpng that is included in
137 libgr. RedHat 6.0 does not have this problem.
139 tar xzf libgr-2.0.13.tar.gz
145 You can then install the new pnmtopng into
148 o Bib2html http://pertsserver.cs.uiuc.edu/~hull/bib2html.
149 Which, in turn depends on man2html for proper installa-
150 tion. man2html can be had from http://askdon-
151 ald.ask.uni-karlsruhe.de/hppd/hpux/Network-
152 ing/WWW/Man2html-1.05.
154 The website will build without this utility, but you
155 will not see our hypertextified bibliography.
157 TeTeX users should not forget to rerun texhash.
159 You also have to install buildscripts/out/ps-to-gifs in a
160 directory that is in the path.
162 6: CONFIGURING and COMPILING
164 to install GNU LilyPond, simply type:
166 gunzip -c lilypond-x.y.z | tar xf -
168 ./configure # fill in your standard prefix with --prefix
172 This will install a number of files, something close to:
174 /usr/local/man/man1/mi2mu.1
175 /usr/local/man/man1/convert-mudela.1
176 /usr/local/man/man1/mudela-book.1
177 /usr/local/man/man1/lilypond.1
178 /usr/local/bin/lilypond
180 /usr/local/share/lilypond/*
181 /usr/local/share/locale/{it,nl}/LC_MESSAGES/lilypond.mo
183 The above assumes that you are root and have the GNU devel-
184 opment tools, and your make is GNU make. If this is not the
185 case, you can adjust your environment variables to your
188 export CPPFLAGS="-I /home/me/my_include -DWEIRD_FOOBAR"
191 CPPFLAGS are the preprocessor flags.
193 The configure script is Cygnus configure, and it will accept
194 --help. If you are not root, you will probably have to make
195 it with a different --prefix option. Our favourite location
198 ./configure --prefix=$HOME/usr
200 In this case, you will have to set up MFINPUTS, and TEXIN-
203 Since GNU LilyPond currently is beta, you are advised to
209 Options to configure include:
212 Enable debugging print routines (lilypond -D option)
215 Set maximum optimisation: compile with -O2. This can
216 be unreliable on some compiler/platform combinations
217 (eg, DEC Alpha and PPC)
220 Compile with support for profiling.
223 Output to a different configuration file. Needed for
224 multi-platform builds
226 All options are documented in the configure help The option
227 --enable-optimise is recommended for Real Life usage.
233 everything will be compiled, but nothing will be installed.
234 The resulting binaries can be found in the subdirectories
235 out/ (which contain all files generated during compilation).
237 7: CONFIGURING FOR MULTIPLE PLATFORMS
239 If you want to compile LilyPond with different configuration
240 settings, then, you can use the --enable-config option.
241 Example: suppose I want to build with and without profil-
242 ing. Then I'd use the following for the normal build,
244 ./configure --prefix=~ --disable-optimise --enable-checking
248 and for the profiling version, I specify a different config-
251 ./configure --prefix=~ --enable-profiling --enable-config=optprof --enable-optimise --disable-checking
253 make config=optprof install
257 If you have done a successful make, then a simple
263 If you are doing an upgrade, please remember to remove obso-
264 lete .pk and .tfm files of the fonts. A script has been
265 provided to do the work for you, see bin/clean-fonts.sh.
269 o The -O2 option triggers bugs on various platforms
270 (PowerPC, Alpha). If you experience problems, you
272 should first try turning off this.
274 o On PPC you need at least EGCS-1.1.2f.
278 This is what I type in my xterm:
280 lilypond someinput.ly
284 This is what the output looks like over here:
286 GNU LilyPond 0.0.78 #4/FlowerLib 1.1.24 #0
287 Parsing ... [/home/hw/share/lilypond/init//
289 init//performer.ly]]][input/kortjakje.ly]
290 Creating elements ...[8][16][24][25]
291 Preprocessing elements...
292 Calculating column positions ... [14][25]
293 Postprocessing elements...
294 TeX output to someinput.tex ...
295 Creating MIDI elements ...MIDI output to someinput.midi ...
297 hw:~/musix/spacer$ xdvi someinput&
300 Check out the input files, some of them have comments Please
301 refer to the man page for more information.
305 RedHat Linux users can compile an RPM. A spec file is in
306 make/out/lilypond.spec, it is distributed along with the
309 You can make the rpm by issuing
311 rpm -tb lilypond-x.y.z.tar.gz
312 rpm -i /usr/src/redhat/RPMS/i386/lilypond-x.y.z
314 Precompiled i386 RedHat RPMS are available from
315 http://linux.umbc.edu/software/lilypond/rpms/.
319 A Debian package is also available; contact Anthony Fok
320 foka@debian.org. The build scripts are in the subdirectory
325 Separate instructions on building for W32 are avaible in the
330 Han-Wen Nienhuys <hanwen@cs.uu.nl>
332 Jan Nieuwenhuizen <janneke@gnu.org>