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
81 GNU LilyPond does use a lot of resources. For operation you
82 need the following software
86 o A PostScript printer and/or viewer (such as
87 Ghostscript) is strongly recommended. Xdvi will show
88 all embedded PostScript too if you have Ghostscript
91 o GUILE 1.3, check out http://www.gnu.org/pro-
94 For running LilyPond successfully you have to help TeX and
95 MetaFont find various files. The recommended way of doing
96 so is adjusting the environment variables in the start-up
97 scripts of your shell. An example is given here for the
100 export MFINPUTS="/usr/local/share/lilypond/mf:"
101 export TEXINPUTS="/usr/local/share/lilypond/tex:/usr/local/share/lilypond/ps:"
103 The empty path component represents and MetaFont's default
105 search paths. Scripts with the proper paths for the bourne
106 and C-shell respectively are generated in build-
107 scripts/out/lilypond-profile and buildscripts/out/lilypond-
108 login during compilation.
110 LilyPond is a hideously slow program. A fast CPU and plenty
111 of RAM is recommended for comfortable use.
115 If you want to auto-generate Lily's website, you'll need
116 some additional conversion tools.
118 o xpmtoppm (from the Portable Bitmap Utilities) (For Red-
119 Hat Linux users: it is included within the package
122 o Bib2html http://pertsserver.cs.uiuc.edu/~hull/bib2html.
123 Which, in turn depends on man2html for proper installa-
124 tion. man2html can be had from http://askdon-
125 ald.ask.uni-karlsruhe.de/hppd/hpux/Network-
126 ing/WWW/Man2html-1.05.
128 TeTeX users should not forget to rerun texhash.
130 Building the website requires pnmtopng. The version of pnm-
131 topng that is distributed with RedHat 5.1 and 5.2 contains a
132 bug: pnmtopng is dynamically linked to the wrong version of
133 libpng. Recompile it from source, and make sure that the
134 pnmtopng binary is linked statically to the libpng that is
135 included in libgr. RedHat 6.0 does not have this problem.
137 tar xzf libgr-2.0.13.tar.gz
143 You can then install the new pnmtopng into /usr/local/bin/
145 6: CONFIGURING and COMPILING
147 to install GNU LilyPond, simply type:
149 gunzip -c lilypond-x.y.z | tar xf -
151 ./configure # fill in your standard prefix with --prefix
155 This will install a number of files, something close to:
157 /usr/local/man/man1/mi2mu.1
158 /usr/local/man/man1/convert-mudela.1
159 /usr/local/man/man1/mudela-book.1
160 /usr/local/man/man1/lilypond.1
161 /usr/local/bin/lilypond
163 /usr/local/share/lilypond/*
164 /usr/local/share/locale/{it,nl}/LC_MESSAGES/lilypond.mo
166 The above assumes that you are root and have the GNU devel-
167 opment tools, and your make is GNU make. If this is not the
168 case, you can adjust your environment variables to your
171 export CPPFLAGS="-I /home/me/my_include -DWEIRD_FOOBAR"
174 CPPFLAGS are the preprocessor flags.
176 The configure script is Cygnus configure, and it will accept
177 --help. If you are not root, you will probably have to make
178 it with a different --prefix option. Our favourite location
181 ./configure --prefix=$HOME/usr
183 In this case, you will have to set up MFINPUTS, and TEXIN-
186 Since GNU LilyPond currently is beta, you are advised to
192 Options to configure include:
195 Enable debugging print routines (lilypond -D option)
198 Set maximum optimisation: compile with -O2. This can
199 be unreliable on some compiler/platform combinations
200 (eg, DEC Alpha and PPC)
203 Compile with support for profiling.
206 Output to a different configuration file. Needed for
207 multi-platform builds
209 All options are documented in the configure help The option
210 --enable-optimise is recommended for Real Life usage.
216 everything will be compiled, but nothing will be installed.
217 The resulting binaries can be found in the subdirectories
218 out/ (which contain all files generated during compilation).
220 7: CONFIGURING FOR MULTIPLE PLATFORMS
222 If you want to compile LilyPond with different configuration
223 settings, then, you can use the --enable-config option.
224 Example: suppose I want to build with and without profil-
225 ing. Then I'd use the following for the normal build,
227 ./configure --prefix=~ --disable-optimise --enable-checking
231 and for the profiling version, I specify a different config-
234 ./configure --prefix=~ --enable-profiling --enable-config=optprof --enable-optimise --disable-checking
236 make config=optprof install
240 If you have done a successful make, then a simple
246 If you are doing an upgrade, please remember to remove obso-
247 lete .pk and .tfm files of the fonts. A script has been
248 provided to do the work for you, see bin/clean-fonts.sh.
252 o The -O2 option triggers bugs on various platforms
253 (PowerPC, Alpha). If you experience problems, you
254 should first try turning off this.
258 This is what I type in my xterm:
260 lilypond someinput.ly
264 This is what the output looks like over here:
266 GNU LilyPond 0.0.78 #4/FlowerLib 1.1.24 #0
267 Parsing ... [/home/hw/share/lilypond/init//
269 init//performer.ly]]][input/kortjakje.ly]
270 Creating elements ...[8][16][24][25]
271 Preprocessing elements...
272 Calculating column positions ... [14][25]
273 Postprocessing elements...
274 TeX output to someinput.tex ...
275 Creating MIDI elements ...MIDI output to someinput.midi ...
277 hw:~/musix/spacer$ xdvi someinput&
280 Check out the input files, some of them have comments Please
281 refer to the man page for more information.
285 RedHat Linux users can compile an RPM. A spec file is in
286 make/out/lilypond.spec, it is distributed along with the
289 You can make the rpm by issuing
291 rpm -tb lilypond-x.y.z.tar.gz
292 rpm -i /usr/src/redhat/RPMS/i386/lilypond-x.y.z
296 A Debian package is also available; contact Anthony Fok
297 foka@debian.org. The build scripts are in the subdirectory
302 Separate instructions on building for W32 are avaible in the
307 Han-Wen Nienhuys <hanwen@cs.uu.nl>
309 Jan Nieuwenhuizen <janneke@gnu.org>