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 For compilation you need:
34 o A GNU system: GNU LilyPond is known to run on these GNU
35 systems: Linux (PPC, intel), FreeBSD, AIX, NeXTStep,
36 IRIX, Digital Unix and Solaris.
38 o Lots of disk space: LilyPond takes between 50 and 100
39 mb to compile if you use debugging information. If you
40 are short on disk-space run configure with --disable-
43 Although we recommend to use Unix, LilyPond is known to
44 run on Windows NT/95/98 as well. See Section 11.
48 o Python 1.5 (Strictly speaking, you shouldn't need
49 Python for compiling and installing, but you'll need it
50 to regenerate the font tables, e.g.).
52 o GUILE 1.3 (no, GUILE 1.2 won't work), check out
53 http://www.gnu.org/software/guile/guile.html.
57 GNU LilyPond does use a lot of resources. For operation you
62 o A PostScript printer and/or viewer (such as
63 Ghostscript) is strongly recommended. Xdvi will show
64 all embedded PostScript too if you have Ghostscript
67 o GUILE 1.3 (no, GUILE 1.2 won't work), check out
68 http://www.gnu.org/programs/guile.html
70 For running LilyPond successfully you have to help TeX and
71 MetaFont find various files. The recommended way of doing
72 so is adjusting the environment variables in the start-up
73 scripts of your shell. An example is given here for the
76 export MFINPUTS="/usr/local/share/lilypond/mf:"
77 export TEXINPUTS="/usr/local/share/lilypond/tex:"
79 The empty path component represents and MetaFont's default
80 search paths. Scripts with the proper paths for the bourne
81 and C-shell respectively are generated in build-
82 scripts/out/lilypond-profile and buildscripts/out/lilypond-
83 login during compilation.
87 Although not strictly necessary, these are recommended to
90 o GNU make. Check out ftp://ftp.gnu.org or any mirror of
93 o Flex (version 2.5.4 or newer). Check out
94 ftp://ftp.gnu.org or any mirror of this site.
96 o Bison (version 1.25 or newer). Check out
97 ftp://ftp.gnu.org or any mirror of this site.
99 o GUILE 1.3 (no, GUILE 1.2 won't work), check out
100 http://www.gnu.org/programs/guile.html
102 o Python (version 1.5 or newer). Check out
103 ftp://ftp.python.org or ftp://ftp.cwi.nl/pub/python.
105 o Yodl. All documentation will be in Yodl. (1.30.17)
106 ftp://ftp.lilypond.org/pub/yodl
107 http://www.cs.uu.nl/~hanwen/yodl
109 o Texinfo. (version 3.12 or newer)
111 o GNU find Check out ftp://ftp.gnu.org or any mirror of
114 o The geometry package for LaTeX is needed to use ly2dvi.
115 Available at ftp://ftp.ctan.org/tex-
116 archive/macros/latex/contrib/supported/geometry or at
117 mirror site ftp://ftp.dante.de
119 o A fast computer: a full page of music typically takes 1
120 minute on my 486/133, using the --enable-checking com-
125 If you want to auto-generate Lily's website, you'll need
126 some additional conversion tools.
128 o xpmtoppm (from the Portable Bitmap Utilities) (For Red-
129 Hat Linux users: it is included within the package
132 o Bib2html http://pertsserver.cs.uiuc.edu/~hull/bib2html.
133 Which, in turn depends on man2html for proper installa-
134 tion. man2html can be had from http://askdon-
135 ald.ask.uni-karlsruhe.de/hppd/hpux/Network-
136 ing/WWW/Man2html-1.05.
138 TeTeX users should not forget to rerun texhash.
140 Building the website requires pnmtopng. The version of pnm-
141 topng that is distributed with RedHat 5.1 contains a bug
142 (pnmtopng is dynamically linked to the wrong version of
143 libpng). Recompile it from source, and make sure that the
144 pnmtopng binary is linked statically to the libpng that is
147 tar xzf libgr-2.0.13.tar.gz
153 You can then install the new pnmtopng into /usr/local/bin/
155 6: CONFIGURING and COMPILING
157 to install GNU LilyPond, simply type:
159 gunzip -c lilypond-x.y.z | tar xf -
161 configure # fill in your standard prefix with --prefix
165 This will install a number of files, something close to:
167 /usr/local/man/man1/mi2mu.1
168 /usr/local/man/man1/convert-mudela.1
169 /usr/local/man/man1/mudela-book.1
170 /usr/local/man/man1/lilypond.1
171 /usr/local/bin/lilypond
173 /usr/local/share/lilypond/*
174 /usr/local/share/locale/{it,nl}/LC_MESSAGES/lilypond.mo
176 The above assumes that you are root and have the GNU devel-
177 opment tools, and your make is GNU make. If this is not the
178 case, you can adjust your environment variables to your
182 export CPPFLAGS="-I /home/me/my_include -DWEIRD_FOOBAR"
185 CPPFLAGS are the preprocessor flags.
187 The configure script is Cygnus configure, and it will accept
188 --help. If you are not root, you will probably have to make
189 it with a different --prefix option. Our favourite location
192 configure --prefix=$HOME/usr
194 In this case, you will have to set up MFINPUTS, and TEXIN-
197 Since GNU LilyPond currently is beta, you are advised to
203 Options to configure include:
206 Enable debugging print routines (lilypond -D option)
209 Set maximum optimisation: compile with -O2. This can
210 be unreliable on some compiler/platform combinations
211 (eg, DEC Alpha and PPC)
214 Compile with support for profiling.
217 Output to a different configuration file. Needed for
218 multi-platform builds
220 All options are documented in the configure help The option
221 --enable-optimise is recommended for Real Life usage.
227 everything will be compiled, but nothing will be installed.
228 The resulting binaries can be found in the subdirectories
229 out/ (which contain all files generated during compilation).
231 7: CONFIGURING FOR MULTIPLE PLATFORMS
233 If you want to compile LilyPond with different configuration
234 settings, then, you can use the --enable-config option.
235 Example: suppose I want to build with and without profil-
236 ing. Then I'd use the following for the normal build,
238 configure --prefix=~ --disable-optimise --enable-checking
242 and for the profiling version, I specify a different config-
245 configure --prefix=~ --enable-profiling --enable-config=optprof --enable-optimise --disable-checking
247 make config=optprof install
251 If you have done a successful make, then a simple
257 If you are doing an upgrade, please remember to remove obso-
258 lete .pk and .tfm files of the fonts. A script has been
259 provided to do the work for you, see bin/clean-fonts.sh.
263 o The -O2 option triggers bugs on various platforms
264 (PowerPC, Alpha). If you experience problems, you
265 should first try turning off this.
269 This is what I type in my xterm:
271 lilypond someinput.ly
275 This is what the output looks like over here:
277 GNU LilyPond 0.0.78 #4/FlowerLib 1.1.24 #0
278 Parsing ... [/home/hw/share/lilypond/init//
280 init//performer.ly]]][input/kortjakje.ly]
281 Creating elements ...[8][16][24][25]
282 Preprocessing elements...
283 Calculating column positions ... [14][25]
284 Postprocessing elements...
285 TeX output to someinput.tex ...
286 Creating MIDI elements ...MIDI output to someinput.midi ...
288 hw:~/musix/spacer$ xdvi someinput&
291 Check out the input files, some of them have comments Please
292 refer to the man page for more information.
296 RedHat Linux users can compile an RPM. A spec file is in
297 make/out/lilypond.spec, it is distributed along with the
300 You can make the rpm by issuing
302 rpm -tb lilypond-x.y.z.tar.gz
303 rpm -i /usr/src/redhat/RPMS/i386/lilypond-x.y.z
307 A Debian package is also available; contact Anthony Fok
308 foka@debian.org. The build scripts are in the subdirectory
313 Separate instructions on building for W32 are avaible in the
318 Han-Wen Nienhuys <hanwen@cs.uu.nl>
320 Jan Nieuwenhuizen <janneke@gnu.org>