10 INSTALL - compiling and installing GNU LilyPond
22 6: CONFIGURING and COMPILING
23 7: CONFIGURING FOR MULTIPLE PLATFORMS
34 You do something which looks remotely like
40 configure # Check out the buildscripts/set-lily.sh script
48 The detailed instructions follow here. The build-
49 scripts/set-lily.sh script sets some environment variables
50 and symlinks, which comes in handly when you have to compile
51 LilyPond very often. It is aimed at people who run (or
52 debug) LilyPond without installing.
58 For compilation you need:
61 o A GNU system: GNU LilyPond is known to run on these GNU
62 systems: Linux (PPC, intel), FreeBSD, AIX, NeXTStep,
63 IRIX, Digital Unix and Solaris.
66 o Lots of disk space: LilyPond takes between 50 and 100
67 mb to compile if you use debugging information. If you
68 are short on disk-space run configure with --disable-
71 Although we recommend to use Unix, LilyPond is known to
72 run on Windows NT/95/98 as well. See Section 11.
75 o GNU C++ version 2.7 or newer (2.8 and egcs are also
78 o Python 1.5 (Strictly speaking, you shouldn't need
79 Python for compiling and installing, but you'll need it
80 to regenerate the font tables, e.g.).
83 o GUILE 1.3 (no, GUILE 1.2 won't work)
89 GNU LilyPond does use a lot of resources. For operation you
95 o A PostScript printer and/or viewer (such as
96 Ghostscript) is strongly recommended. Xdvi will show
97 all embedded PostScript too if you have Ghostscript
100 For running LilyPond successfully you have to help TeX and
101 MetaFont find various files. The recommended way of doing
102 so is adjusting the environment variables in the start-up
103 scripts of your shell. An example is given here for the
109 export MFINPUTS="/usr/local/share/lilypond/mf:"
110 export TEXINPUTS="/usr/local/share/lilypond/tex:"
115 The empty path component represents and MetaFont's default
116 search paths. Scripts with the proper paths for the bourne
117 and C-shell respectively are generated in build-
118 scripts/out/lilypond-profile and buildscripts/out/lilypond-
119 login during compilation.
125 Although not strictly necessary, these are recommended to
129 o GNU make. Check out ftp://ftp.gnu.org or any mirror of
133 o Flex (version 2.5.4 or newer). Check out
134 ftp://ftp.gnu.org or any mirror of this site.
136 o Bison (version 1.25 or newer). Check out
137 ftp://ftp.gnu.org or any mirror of this site.
140 o GUILE (version 1.2) Check out http://www.gnu.org/pro-
144 o Python (version 1.5 or newer). Check out
145 ftp://ftp.python.org or ftp://ftp.cwi.nl/pub/python.
148 o Yodl. All documentation will be in Yodl. (1.30.17)
149 ftp://pcnov095.win.tue.nl/pub/yodl
150 http://www.cs.uu.nl/~hanwen/yodl
152 o Texinfo. (version 3.12 or newer)
155 o GNU find Check out ftp://ftp.gnu.org or any mirror of
159 o The geometry package for LaTeX is needed to use ly2dvi.
160 Available at ftp://ftp.ctan.org/tex-
161 archive/macros/latex/contrib/supported/geometry or at
162 mirror site ftp://ftp.dante.de
165 o A fast computer (a full page of music typically takes 1
166 minute on my 486/133, using the --enable-checking com-
167 pile. It's lot slower than most MusiXTeX preprocessors)
173 If you want to auto-generate Lily's website, you'll need
174 some additional conversion tools.
177 o xpmtoppm (from the Portable Bitmap Utilities) (For Red-
178 Hat Linux users: it is included within the package
181 o Bib2html http://pertsserver.cs.uiuc.edu/~hull/bib2html.
182 Which, in turn depends on man2html for proper installa-
183 tion. man2html can be had from http://askdon-
184 ald.ask.uni-karlsruhe.de/hppd/hpux/Network-
185 ing/WWW/Man2html-1.05.
187 TeTeX users should not forget to rerun texhash.
189 Building the website requires pnmtopng. The version of pnm-
190 topng that is distributed with RedHat 5.1 contains a bug
191 (pnmtopng is dynamically linked to the wrong version of
192 libpng). Recompile it from source, and make sure that the
193 pnmtopng binary is linked statically to the libpng that is
202 tar xzf libgr-2.0.13.tar.gz
212 You can then install the new pnmtopng into /usr/local/bin/
215 6: CONFIGURING and COMPILING
218 to install GNU LilyPond, simply type:
232 This will install a number of files, something close to:
238 /usr/local/man/man1/mi2mu.1
239 /usr/local/man/man1/convert-mudela.1
240 /usr/local/man/man1/mudela-book.1
241 /usr/local/man/man1/lilypond.1
242 /usr/local/bin/lilypond
244 /usr/local/share/lilypond/*
245 /usr/local/share/locale/{it,nl}/LC_MESSAGES/lilypond.mo
248 The above assumes that you are root and have the GNU devel-
249 opment tools, and your make is GNU make. If this is not the
250 case, you can adjust your environment variables to your
258 export CPPFLAGS="-I /home/me/my_include -DWEIRD_FOOBAR"
265 CPPFLAGS are the preprocessor flags.
267 The configure script is Cygnus configure, and it will accept
268 --help. If you are not root, you will probably have to make
269 it with a different --prefix option. Our favourite location
277 configure --prefix=$HOME/usr
283 In this case, you will have to set up MFINPUTS, and TEXIN-
286 Since GNU LilyPond currently is beta, you are advised to
298 Options to configure include:
302 Link in GUILE (experimental)
305 Enable debugging print routines (lilypond -D option)
308 Set maximum optimisation: compile with -O2. This can
309 be unreliable on some compiler/platform combinations
310 (eg, DEC Alpha and PPC)
313 Compile with support for profiling.
316 Output to a different configuration file. Needed for
317 multi-platform builds
319 All options are documented in the configure help The option
320 --enable-optimise is recommended for Real Life usage.
335 everything will be compiled, but nothing will be installed.
336 The resulting binaries can be found in the subdirectories
337 out/ (which contain all files generated during compilation).
340 7: CONFIGURING FOR MULTIPLE PLATFORMS
343 If you want to compile LilyPond with different configuration
344 settings, then, you can use the --enable-config option.
345 Example: suppose I want to build with and without profil-
346 ing. Then I'd use the following for the normal build,
349 configure --prefix=~ --disable-optimise --enable-checking
357 and for the profiling version, I specify a different config-
365 configure --prefix=~ --enable-profiling --enable-config=optprof --enable-optimise --disable-checking
367 make config=optprof install
377 If you have done a successful make, then a simple
392 If you are doing an upgrade, please remember to remove obso-
393 lete .pk and .tfm files of the fonts. A script has been
394 provided to do the work for you, see bin/clean-fonts.sh.
401 o The -O2 option to gcc triggers a gcc bug on DEC Alpha
402 in dstream.cc. You should turn off this flag for this
411 This is what I type in my xterm:
418 lilypond someinput.ly
426 This is what the output looks like over here:
433 GNU LilyPond 0.0.78 #4/FlowerLib 1.1.24 #0
434 Parsing ... [/home/hw/share/lilypond/init//
436 init//performer.ly]]][input/kortjakje.ly]
437 Creating elements ...[8][16][24][25]
438 Preprocessing elements...
439 Calculating column positions ... [14][25]
440 Postprocessing elements...
441 TeX output to someinput.tex ...
442 Creating MIDI elements ...MIDI output to someinput.midi ...
445 hw:~/musix/spacer$ xdvi someinput&
452 Check out the input files, some of them have comments Please
453 refer to the man page for more information.
459 RedHat Linux users can compile an RPM. A spec file is in
460 make/out/lilypond.spec. You should install a gif file
461 called lelie_icon.gif along with the sources. You can gen-
462 erate this gif file by typing
475 in the directory Documentation.
477 You can make the rpm by issuing
494 A Debian package is also available; contact Anthony Fok
495 foka@debian.org <foka@debian.org>. The build scripts are in
496 the subdirectory debian/
502 Separate instructions on building for W32 are avaible in the
509 Han-Wen Nienhuys <hanwen@cs.uu.nl>
511 Jan Nieuwenhuizen <janneke@gnu.org>