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 very often you might want to check out the
37 buildscripts/set-lily.sh script. It sets some environment
38 variables and symlinks, which comes in handly when you have
39 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/programs/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://pcnov095.win.tue.nl/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-
158 pile. It's lot slower than most MusiXTeX preprocessors)
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 Link in GUILE (experimental)
301 Enable debugging print routines (lilypond -D option)
304 Set maximum optimisation: compile with -O2. This can
305 be unreliable on some compiler/platform combinations
306 (eg, DEC Alpha and PPC)
309 Compile with support for profiling.
312 Output to a different configuration file. Needed for
313 multi-platform builds
315 All options are documented in the configure help The option
316 --enable-optimise is recommended for Real Life usage.
331 everything will be compiled, but nothing will be installed.
332 The resulting binaries can be found in the subdirectories
333 out/ (which contain all files generated during compilation).
336 7: CONFIGURING FOR MULTIPLE PLATFORMS
339 If you want to compile LilyPond with different configuration
340 settings, then, you can use the --enable-config option.
341 Example: suppose I want to build with and without profil-
342 ing. Then I'd use the following for the normal build,
345 configure --prefix=~ --disable-optimise --enable-checking
353 and for the profiling version, I specify a different config-
361 configure --prefix=~ --enable-profiling --enable-config=optprof --enable-optimise --disable-checking
363 make config=optprof install
373 If you have done a successful make, then a simple
388 If you are doing an upgrade, please remember to remove obso-
389 lete .pk and .tfm files of the fonts. A script has been
390 provided to do the work for you, see bin/clean-fonts.sh.
397 o The -O2 option to gcc triggers a gcc bug on DEC Alpha
398 in dstream.cc. You should turn off this flag for this
407 This is what I type in my xterm:
414 lilypond someinput.ly
422 This is what the output looks like over here:
429 GNU LilyPond 0.0.78 #4/FlowerLib 1.1.24 #0
430 Parsing ... [/home/hw/share/lilypond/init//
432 init//performer.ly]]][input/kortjakje.ly]
433 Creating elements ...[8][16][24][25]
434 Preprocessing elements...
435 Calculating column positions ... [14][25]
436 Postprocessing elements...
437 TeX output to someinput.tex ...
438 Creating MIDI elements ...MIDI output to someinput.midi ...
441 hw:~/musix/spacer$ xdvi someinput&
448 Check out the input files, some of them have comments Please
449 refer to the man page for more information.
455 RedHat Linux users can compile an RPM. A spec file is in
456 make/out/lilypond.spec, it is distributed along with the
459 You can make the rpm by issuing
465 rpm -tb lilypond-x.y.z.tar.gz
466 rpm -i /usr/src/redhat/RPMS/i386/lilypond-x.y.z
476 A Debian package is also available; contact Anthony Fok
477 foka@debian.org <foka@debian.org>. The build scripts are in
478 the subdirectory debian/.
484 Separate instructions on building for W32 are avaible in the
491 Han-Wen Nienhuys <hanwen@cs.uu.nl>
493 Jan Nieuwenhuizen <janneke@gnu.org>