10 INSTALL - compiling and installing GNU LilyPond
22 6: CONFIGURING and COMPILING
23 7: CONFIGURING FOR MULTIPLE PLATFORMS
34 This document explains what you need to install LilyPond,
35 and what you should do. If you are going to compile and
36 install LilyPond often, e.g. when doing development, you
37 might want to check out the buildscripts/set-lily.sh script.
38 It sets some environment variables and symlinks, which comes
39 in handly when you have to compile LilyPond more often.
45 For compilation you need:
48 o A GNU system: GNU LilyPond is known to run on these GNU
49 systems: Linux (PPC, intel), FreeBSD, AIX, NeXTStep,
50 IRIX, Digital Unix and Solaris.
53 o Lots of disk space: LilyPond takes between 50 and 100
54 mb to compile if you use debugging information. If you
55 are short on disk-space run configure with --disable-
58 Although we recommend to use Unix, LilyPond is known to
59 run on Windows NT/95/98 as well. See Section 11.
62 o GNU C++ version 2.8 or newer (egcs-1.1 or newer is also
65 o Python 1.5 (Strictly speaking, you shouldn't need
66 Python for compiling and installing, but you'll need it
67 to regenerate the font tables, e.g.).
69 o GUILE 1.3 (no, GUILE 1.2 won't work), check out
70 http://www.gnu.org/software/guile/guile.html.
76 GNU LilyPond does use a lot of resources. For operation you
82 o A PostScript printer and/or viewer (such as
83 Ghostscript) is strongly recommended. Xdvi will show
84 all embedded PostScript too if you have Ghostscript
89 o GUILE 1.3 (no, GUILE 1.2 won't work), check out
90 http://www.gnu.org/programs/guile.html
92 For running LilyPond successfully you have to help TeX and
93 MetaFont find various files. The recommended way of doing
94 so is adjusting the environment variables in the start-up
95 scripts of your shell. An example is given here for the
101 export MFINPUTS="/usr/local/share/lilypond/mf:"
102 export TEXINPUTS="/usr/local/share/lilypond/tex:"
107 The empty path component represents and MetaFont's default
108 search paths. Scripts with the proper paths for the bourne
109 and C-shell respectively are generated in build-
110 scripts/out/lilypond-profile and buildscripts/out/lilypond-
111 login during compilation.
117 Although not strictly necessary, these are recommended to
121 o GNU make. Check out ftp://ftp.gnu.org or any mirror of
124 o Flex (version 2.5.4 or newer). Check out
125 ftp://ftp.gnu.org or any mirror of this site.
127 o Bison (version 1.25 or newer). Check out
128 ftp://ftp.gnu.org or any mirror of this site.
130 o GUILE 1.3 (no, GUILE 1.2 won't work), check out
131 http://www.gnu.org/programs/guile.html
134 o Python (version 1.5 or newer). Check out
135 ftp://ftp.python.org or ftp://ftp.cwi.nl/pub/python.
138 o Yodl. All documentation will be in Yodl. (1.30.17)
139 ftp://ftp.lilypond.org/pub/yodl
140 http://www.cs.uu.nl/~hanwen/yodl
143 o Texinfo. (version 3.12 or newer)
146 o GNU find Check out ftp://ftp.gnu.org or any mirror of
150 o The geometry package for LaTeX is needed to use ly2dvi.
151 Available at ftp://ftp.ctan.org/tex-
152 archive/macros/latex/contrib/supported/geometry or at
153 mirror site ftp://ftp.dante.de
156 o A fast computer: a full page of music typically takes 1
157 minute on my 486/133, using the --enable-checking com-
164 If you want to auto-generate Lily's website, you'll need
165 some additional conversion tools.
168 o xpmtoppm (from the Portable Bitmap Utilities) (For Red-
169 Hat Linux users: it is included within the package
172 o Bib2html http://pertsserver.cs.uiuc.edu/~hull/bib2html.
173 Which, in turn depends on man2html for proper installa-
174 tion. man2html can be had from http://askdon-
175 ald.ask.uni-karlsruhe.de/hppd/hpux/Network-
176 ing/WWW/Man2html-1.05.
178 TeTeX users should not forget to rerun texhash.
180 Building the website requires pnmtopng. The version of pnm-
181 topng that is distributed with RedHat 5.1 contains a bug
182 (pnmtopng is dynamically linked to the wrong version of
183 libpng). Recompile it from source, and make sure that the
184 pnmtopng binary is linked statically to the libpng that is
188 tar xzf libgr-2.0.13.tar.gz
198 You can then install the new pnmtopng into /usr/local/bin/
201 6: CONFIGURING and COMPILING
204 to install GNU LilyPond, simply type:
210 gunzip -c lilypond-x.y.z | tar xf -
212 configure # fill in your standard prefix with --prefix
220 This will install a number of files, something close to:
226 /usr/local/man/man1/mi2mu.1
227 /usr/local/man/man1/convert-mudela.1
228 /usr/local/man/man1/mudela-book.1
229 /usr/local/man/man1/lilypond.1
230 /usr/local/bin/lilypond
232 /usr/local/share/lilypond/*
233 /usr/local/share/locale/{it,nl}/LC_MESSAGES/lilypond.mo
239 The above assumes that you are root and have the GNU devel-
240 opment tools, and your make is GNU make. If this is not the
241 case, you can adjust your environment variables to your
251 export CPPFLAGS="-I /home/me/my_include -DWEIRD_FOOBAR"
258 CPPFLAGS are the preprocessor flags.
260 The configure script is Cygnus configure, and it will accept
261 --help. If you are not root, you will probably have to make
262 it with a different --prefix option. Our favourite location
270 configure --prefix=$HOME/usr
276 In this case, you will have to set up MFINPUTS, and TEXIN-
279 Since GNU LilyPond currently is beta, you are advised to
294 Options to configure include:
298 Enable debugging print routines (lilypond -D option)
301 Set maximum optimisation: compile with -O2. This can
302 be unreliable on some compiler/platform combinations
303 (eg, DEC Alpha and PPC)
306 Compile with support for profiling.
309 Output to a different configuration file. Needed for
310 multi-platform builds
312 All options are documented in the configure help The option
313 --enable-optimise is recommended for Real Life usage.
328 everything will be compiled, but nothing will be installed.
329 The resulting binaries can be found in the subdirectories
330 out/ (which contain all files generated during compilation).
333 7: CONFIGURING FOR MULTIPLE PLATFORMS
336 If you want to compile LilyPond with different configuration
337 settings, then, you can use the --enable-config option.
338 Example: suppose I want to build with and without profil-
339 ing. Then I'd use the following for the normal build,
346 configure --prefix=~ --disable-optimise --enable-checking
351 and for the profiling version, I specify a different config-
359 configure --prefix=~ --enable-profiling --enable-config=optprof --enable-optimise --disable-checking
361 make config=optprof install
371 If you have done a successful make, then a simple
386 If you are doing an upgrade, please remember to remove obso-
387 lete .pk and .tfm files of the fonts. A script has been
388 provided to do the work for you, see bin/clean-fonts.sh.
395 o The -O2 option to gcc triggers a gcc bug on DEC Alpha
396 in dstream.cc. You should turn off this flag for this
403 This is what I type in my xterm:
406 lilypond someinput.ly
414 This is what the output looks like over here:
421 GNU LilyPond 0.0.78 #4/FlowerLib 1.1.24 #0
422 Parsing ... [/home/hw/share/lilypond/init//
424 init//performer.ly]]][input/kortjakje.ly]
425 Creating elements ...[8][16][24][25]
426 Preprocessing elements...
427 Calculating column positions ... [14][25]
428 Postprocessing elements...
429 TeX output to someinput.tex ...
430 Creating MIDI elements ...MIDI output to someinput.midi ...
433 hw:~/musix/spacer$ xdvi someinput&
440 Check out the input files, some of them have comments Please
441 refer to the man page for more information.
447 RedHat Linux users can compile an RPM. A spec file is in
448 make/out/lilypond.spec, it is distributed along with the
451 You can make the rpm by issuing
454 rpm -tb lilypond-x.y.z.tar.gz
455 rpm -i /usr/src/redhat/RPMS/i386/lilypond-x.y.z
465 A Debian package is also available; contact Anthony Fok
466 foka@debian.org <foka@debian.org>. The build scripts are in
467 the subdirectory debian/.
473 Separate instructions on building for W32 are avaible in the
480 Han-Wen Nienhuys <hanwen@cs.uu.nl>
482 Jan Nieuwenhuizen <janneke@gnu.org>