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.).
86 GNU LilyPond does use a lot of resources. For operation you
92 o A PostScript printer and/or viewer (such as
93 Ghostscript) is strongly recommended. Xdvi will show
94 all embedded PostScript too if you have Ghostscript
101 Although not strictly necessary, these are recommended to
105 o GNU make. Check out ftp://ftp.gnu.org or any mirror of
109 o Flex (version 2.5.4 or newer). Check out
110 ftp://ftp.gnu.org or any mirror of this site.
112 o Bison (version 1.25 or newer). Check out
113 ftp://ftp.gnu.org or any mirror of this site.
116 o Python (version 1.5 or newer). Check out
117 ftp://ftp.python.org or ftp://ftp.cwi.nl/pub/python.
120 o Yodl. All documentation will be in Yodl. (1.30.17)
121 ftp://pcnov095.win.tue.nl/pub/yodl
122 http://www.cs.uu.nl/~hanwen/yodl
124 o Texinfo. (version 3.12 or newer)
127 o GNU find Check out ftp://ftp.gnu.org or any mirror of
131 o The geometry package for LaTeX is needed to use ly2dvi.
132 Available at ftp://ftp.ctan.org/tex-
133 archive/macros/latex/contrib/supported/geometry or at
134 mirror site ftp://ftp.dante.de
137 o A fast computer (a full page of music typically takes 1
138 minute on my 486/133, using the --enable-checking com-
139 pile. It's lot slower than most MusiXTeX preprocessors)
145 If you want to auto-generate Lily's website, you'll need
146 some additional conversion tools.
149 o xpmtoppm (from the Portable Bitmap Utilities) (For Red-
150 Hat Linux users: it is included within the package
153 o Bib2html http://pertsserver.cs.uiuc.edu/~hull/bib2html.
154 Which, in turn depends on man2html for proper installa-
155 tion. man2html can be had from http://askdon-
156 ald.ask.uni-karlsruhe.de/hppd/hpux/Network-
157 ing/WWW/Man2html-1.05.
159 TeTeX users should not forget to rerun texhash.
162 6: CONFIGURING and COMPILING
165 to install GNU LilyPond, simply type:
171 configure --enable-tex-dir=XXXX --enable-mf-dir=YYYY
179 This will install a number of files, something close to:
182 /usr/local/man/man1/mi2mu.1
183 /usr/local/man/man1/convert-mudela.1
184 /usr/local/man/man1/mudela-book.1
185 /usr/local/man/man1/lilypond.1
186 /usr/local/bin/lilypond
188 /usr/local/share/lilypond/*
189 /usr/local/share/locale/{it,nl}/LC_MESSAGES/lilypond.mo
190 /usr/lib/texmf/texmf/tex/lilypond/*
196 You should specify directories that are in 's and MetaFont's
197 include path with the options (--enable-tex-dir) and
198 --enable-mf-dir. If you don't specify any directories, the
199 include directory is detected dynamically, which is unreli-
200 able. The above assumes that you are root and have the GNU
201 development tools, and your make is GNU make. If this is
202 not the case, you can adjust your environment variables to
210 export CPPFLAGS="-I /home/me/my_include -DWEIRD_FOOBAR"
217 CPPFLAGS are the preprocessor flags.
219 The configure script is Cygnus configure, and it will accept
220 --help. If you are not root, you will probably have to make
221 it with a different --prefix option. Our favourite location
229 configure --prefix=$HOME/usr
232 In this case, you will have to set up MFINPUTS, and TEXIN-
235 If you want to install GNU LilyPond in /usr/local, and your
236 TeX has no default hooks for local stuff, you can do:
243 configure --prefix=/usr/local --enable-tex-prefix=/usr/lib/texmf
249 Since GNU LilyPond currently is beta, you are advised to
264 Other options include:
268 Make a shared library (gnu/linux, solaris (?) only )
269 (TEMPORARILY OUT OF ORDER)
273 Enable debugging print routines (lilypond -D option)
276 Set maximum optimisation: compile with -O2
279 Compile with support for profiling.
282 Set the directory where TeX and Metafont live.
285 Set then directory TeX input is in (detected as a
288 subdir of tex-prefix). This should be a directory that
289 is reachable both for tex and latex. On my system the
291 /usr/lib/texmf/texmf/tex/generic//.
294 Set the directory metafont input is in (idem). On my
295 system the best choice would be
296 /usr/lib/texmf/texmf/fonts/source/public/.
299 Output to a different configuration file. Needed for
300 multi-platform builds
302 All options are documented in the configure help The option
303 --enable-optimise is recommended for Real Life usage.
318 everything will be compiled, but nothing will be installed.
319 The resulting binaries can be found in the subdirectories
320 out/ (which contain all files generated during compilation).
323 7: CONFIGURING FOR MULTIPLE PLATFORMS
326 If you want to compile LilyPond with different configuration
327 settings, then, you can use the --enable-config option.
328 Example: suppose I want to build with and without profil-
329 ing. Then I'd use the following for the normal build,
336 configure --prefix=~ --disable-optimise --enable-checking
341 and for the profiling version, I specify a different config-
349 configure --prefix=~ --enable-profiling --enable-config=optprof --enable-optimise --disable-checking
351 make config=optprof install
361 If you have done a successful make, then a simple
376 If you are doing an upgrade, please remember to remove obso-
377 lete .pk and .tfm files of the fonts. A script has been
378 provided to do the work for you, see bin/clean-fonts.sh.
385 o The -O2 option to gcc triggers a gcc bug on DEC Alpha
386 in dstream.cc. You should turn off this flag for this
393 This is what I type in my xterm:
396 lilypond someinput.ly
404 This is what the output looks like over here:
411 GNU LilyPond 0.0.78 #4/FlowerLib 1.1.24 #0
412 Parsing ... [/home/hw/share/lilypond/init//
414 init//performer.ly]]][input/kortjakje.ly]
415 Creating elements ...[8][16][24][25]
416 Preprocessing elements...
417 Calculating column positions ... [14][25]
418 Postprocessing elements...
419 TeX output to someinput.tex ...
420 Creating MIDI elements ...MIDI output to someinput.midi ...
423 hw:~/musix/spacer$ xdvi someinput&
430 Check out the input files, some of them have comments Please
431 refer to the man page for more information.
437 RedHat Linux users can compile an RPM. A spec file is in
438 make/out/lilypond.spec. You should install a gif file
439 called lelie_icon.gif along with the sources. You can gen-
440 erate this gif file by typing
450 in the directory Documentation.
452 You can make the rpm by issuing
469 A Debian package is also available; contact Anthony Fok
470 foka@debian.org <foka@debian.org>. The build scripts are in
471 the subdirectory debian/
477 Separate instructions on building for W32 are avaible in the
484 Han-Wen Nienhuys <hanwen@cs.uu.nl>
486 Jan Nieuwenhuizen <janneke@gnu.org>