1 \input texinfo @c -*-texinfo-*-
2 @setfilename INSTALL.info
3 @settitle INSTALL - compiling and installing GNU LilyPond
5 @node Top, , AUTHORS, (dir)
8 * INSTALL - compiling and installing GNU LilyPond::INSTALL - compiling and installing GNU LilyPond
12 @node INSTALL - compiling and installing GNU LilyPond, abstract, , Top
15 * obtaining:: obtaining
16 * PREREQUISITES:: PREREQUISITES
19 * CONFIGURING and COMPILING:: CONFIGURING and COMPILING
20 * CONFIGURING FOR MULTIPLE PLATFORMS::CONFIGURING FOR MULTIPLE PLATFORMS
21 * INSTALLING:: INSTALLING
22 * REDHAT LINUX:: REDHAT LINUX
23 * DEBIAN GNU/LINUX:: DEBIAN GNU/LINUX
24 * WINDOWS NT/95:: WINDOWS NT/95
29 @chapter INSTALL - compiling and installing GNU LilyPond
32 @node abstract, obtaining, INSTALL - compiling and installing GNU LilyPond, INSTALL - compiling and installing GNU LilyPond
35 TODO: document xdeltas
37 This document explains what you need to install LilyPond, and what you
38 should do. If you are going to compile and install LilyPond often,
39 e.g. when doing development, you might want to check out the
40 @file{buildscripts/set-lily.sh} script. It sets some environment
41 variables and symlinks, which comes in handly when you have to compile
44 @node obtaining, PREREQUISITES, abstract, INSTALL - compiling and installing GNU LilyPond
47 You can get the latest version of LilyPond at
48 @url{ ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/}. Refer to the links
49 document for mirror sites.
51 @emph{If you upgrade by patching do remember to rerun autoconf after
54 @node PREREQUISITES, running, obtaining, INSTALL - compiling and installing GNU LilyPond
55 @section PREREQUISITES
57 For compilation you need:
60 @item A GNU system: GNU LilyPond is known to run on these GNU systems: Linux
61 (PPC, intel), FreeBSD, AIX, NeXTStep, IRIX, Digital Unix and
64 @item Lots of disk space: LilyPond takes between 30 and 100 mb to
65 compile if you use debugging information. If you are short on
66 disk-space run configure with @code{--disable-debugging}.
68 Although we recommend to use Unix, LilyPond is known to run on Windows
69 NT/95/98 as well. See Section @xref{w32}.
71 @item EGCS 1.1 or newer. Check out @url{ ftp://ftp.gnu.org/pub/gcc/}
75 @url{ftp://ftp.python.org} or @url{ftp://ftp.cwi.nl/pub/python}.
77 @item GUILE 1.3, check out @url{http://www.gnu.org/software/guile/guile.html}.
80 Check out @url{ftp://ftp.gnu.org/make/}.
82 @item Flex (version 2.5.4 or newer).
83 Check out @url{ftp://ftp.gnu.org/flex/}.
85 @item Bison (version 1.25 or newer).
86 Check out @url{ftp://ftp.gnu.org/bison/}.
88 @item Texinfo. Check out @url{ftp://ftp.gnu.org/pub/texinfo/}.
89 Most documentation is in texinfo.
91 @item Yodl. Needed for obsolete docs (1.31.17)
92 @url{ftp://ftp.lilypond.org/pub/yodl}.
94 @item The geometry package for LaTeX is needed to use ly2dvi.
96 @url{ftp://ftp.ctan.org/tex-archive/macros/latex/contrib/supported/geometry}
97 or at mirror site @url{ftp://ftp.dante.de}
99 @item MetaPost, if you want to use direct PostScript output. Please
100 note that tetex-0.4pl8 (included with Redhat 5.x) does not include
101 @file{mfplain.mp}, which is needed for producing the scaleable font files.
105 @node running, WEBSITE, PREREQUISITES, INSTALL - compiling and installing GNU LilyPond
108 GNU LilyPond does use a lot of resources. For operation you need the
113 @item A PostScript printer and/or viewer (such as Ghostscript) is strongly
114 recommended. Xdvi will show all embedded PostScript too if you have
115 Ghostscript installed.
116 @item GUILE 1.3, check out @url{http://www.gnu.org/programs/guile.html}
119 For running LilyPond successfully you have to help TeX and MetaFont
120 find various files. The recommended way of doing so is adjusting the
121 environment variables in the start-up scripts of your shell. An
122 example is given here for the Bourne shell:
124 export MFINPUTS="/usr/local/share/lilypond/mf:"
125 export TEXINPUTS="/usr/local/share/lilypond/tex:/usr/local/share/lilypond/ps:"
129 The empty path component
130 represents TeX and MetaFont's default search paths. Scripts with
131 the proper paths for the bourne and C-shell respectively are generated in
132 @file{buildscripts/out/lilypond-profile} and
133 @file{buildscripts/out/lilypond-login} during compilation.
135 LilyPond is a hiddeously big, slow and bloated program. A fast CPU
136 and plenty of RAM is recommended for comfortable use.
138 @node WEBSITE, CONFIGURING and COMPILING, running, INSTALL - compiling and installing GNU LilyPond
141 The website is the most convenient form to use for reading the
142 documentation on-line documentation. It is made by entering @example
147 This does require a fully functioning
149 If you want to auto-generate Lily's website, you'll need some additional
153 @item YODL 1.31.15 or later.
155 @item xpmtoppm (from the Portable Bitmap Utilities) (For RedHat Linux
156 users: it is included within the package libgr-progs).
158 @url{ftp://ftp.x.org/contrib/utilities/netpbm-1mar1994.p1.tar.gz}
160 @item pnmtopng, which is also in libgr-progs for RedHat. The original is
162 @url{ftp://swrinde.nde.swri.edu/pub/png/applications/pnmtopng-2.37.2.tar.gz}.i
164 The version of @file{pnmtopng} that is distributed with RedHat 5.1 and
165 5.2 contains a bug: pnmtopng is dynamically linked to the wrong
166 version of libpng, which results in cropped images. Recompile it from
167 source, and make sure that the pnmtopng binary is linked statically to
168 the libpng that is included in libgr. RedHat 6.0 does not have this
172 tar xzf libgr-2.0.13.tar.gz
180 You can then install the new pnmtopng into @file{/usr/local/bin/}
182 @item Bib2html @url{http://pertsserver.cs.uiuc.edu/~hull/bib2html.}
183 Which, in turn depends on man2html for proper installation.
184 man2html can be had from @url{http://askdonald.ask.uni-karlsruhe.de/hppd/hpux/Networking/WWW/Man2html-1.05}.
186 The website will build without this utility, but you will not see our
187 hypertextified bibliography.
189 @item Doc++ (optional) to read the source code.
193 You also have to install @file{buildscripts/out/ps-to-gifs} in a
194 directory that is in the path.
196 @node CONFIGURING and COMPILING, CONFIGURING FOR MULTIPLE PLATFORMS, WEBSITE, INSTALL - compiling and installing GNU LilyPond
197 @section CONFIGURING and COMPILING
199 to install GNU LilyPond, simply type:
202 gunzip -c lilypond-x.y.z | tar xf -
204 ./configure # fill in your standard prefix with --prefix
210 This will install a number of files, something close to:
213 /usr/local/man/man1/mi2mu.1
214 /usr/local/man/man1/convert-mudela.1
215 /usr/local/man/man1/mudela-book.1
216 /usr/local/man/man1/lilypond.1
217 /usr/local/bin/lilypond
219 /usr/local/share/lilypond/*
220 /usr/local/share/locale/@{it,nl@}/LC_MESSAGES/lilypond.mo
225 The above assumes that you are root and have the GNU development
226 tools, and your make is GNU make. If this is not the case, you can
227 adjust your environment variables to your taste:
231 export CPPFLAGS="-I /home/me/my_include -DWEIRD_FOOBAR"
236 @code{CPPFLAGS} are the preprocessor flags.
238 The configure script is Cygnus configure, and it will accept
239 @strong{--help}. If you are not root, you will probably have to make it
240 with a different @strong{--prefix} option. Our favourite location is
244 ./configure --prefix=$HOME/usr
248 In this case, you will have to set up MFINPUTS, and TEXINPUTS accordingly.
250 Since GNU LilyPond currently is beta, you are advised to also use
259 Options to configure include:
262 @item @strong{--enable-printing}
263 Enable debugging print routines (lilypond @strong{-D} option)
264 @item @strong{--enable-optimise}
265 Set maximum optimisation: compile with @strong{-O2}. This can be
266 unreliable on some compiler/platform combinations (eg, DEC Alpha and PPC)
267 @item @strong{--enable-profiling}
268 Compile with support for profiling.
269 @item @strong{--enable-config}
270 Output to a different configuration file. Needed for multi-platform
274 All options are documented in the @file{configure} help
275 The option @strong{--enable-optimise} is recommended for Real Life usage.
285 everything will be compiled, but nothing will be installed. The
286 resulting binaries can be found in the subdirectories @file{out/} (which
287 contain all files generated during compilation).
289 @node CONFIGURING FOR MULTIPLE PLATFORMS, INSTALLING, CONFIGURING and COMPILING, INSTALL - compiling and installing GNU LilyPond
290 @section CONFIGURING FOR MULTIPLE PLATFORMS
292 If you want to compile LilyPond with different configuration settings,
293 then, you can use the @strong{--enable-config} option. Example: suppose I
294 want to build with and without profiling. Then I'd use the
295 following for the normal build,
299 ./configure --prefix=~ --disable-optimise --enable-checking
305 and for the profiling version, I specify a different configuration.
309 ./configure --prefix=~ --enable-profiling --enable-config=optprof --enable-optimise --disable-checking
311 make config=optprof install
316 @node INSTALLING, REDHAT LINUX, CONFIGURING FOR MULTIPLE PLATFORMS, INSTALL - compiling and installing GNU LilyPond
319 If you have done a successful @code{make}, then a simple
329 If you are doing an upgrade, please remember to remove obsolete
330 @file{.pk} and @file{.tfm} files of the fonts. A script has been
331 provided to do the work for you, see @file{bin/clean-fonts.sh}.
333 @unnumberedsec CAVEATS
337 @item The -O2 option triggers bugs on various platforms (PowerPC, Alpha).
338 If you experience problems, you should first try turning off
340 @item On PPC you need at least EGCS-1.1.2f.
343 @node REDHAT LINUX, DEBIAN GNU/LINUX, INSTALLING, INSTALL - compiling and installing GNU LilyPond
344 @section REDHAT LINUX
346 RedHat Linux users can compile an RPM. A spec file is in
347 @file{make/out/lilypond.spec}, it is distributed along with the
350 You can make the rpm by issuing
353 rpm -tb lilypond-x.y.z.tar.gz
354 rpm -i /usr/src/redhat/RPMS/i386/lilypond-x.y.z
358 Precompiled i386 RedHat RPMS are available from
359 @url{ftp://freshmeat.net/pub/rpms/lilypond/} and
360 @url{http://linux.umbc.edu/software/lilypond/rpms/}.
362 For compilation on a RedHat system you need these packages,
363 in addition to the those needed for running:
366 @item libstdc++-devel
373 @node DEBIAN GNU/LINUX, WINDOWS NT/95, REDHAT LINUX, INSTALL - compiling and installing GNU LilyPond
374 @section DEBIAN GNU/LINUX
376 A Debian package is also available; contact Anthony Fok
377 @email{foka@@debian.org}. The build scripts are in the subdirectory
380 @node WINDOWS NT/95, w32, DEBIAN GNU/LINUX, INSTALL - compiling and installing GNU LilyPond
381 @section WINDOWS NT/95
382 @node w32, BUGS, WINDOWS NT/95, INSTALL - compiling and installing GNU LilyPond
385 Separate instructions on building for W32 are available
386 @url{../../outdir/README-W32.html}.
388 @node BUGS, AUTHORS, w32, INSTALL - compiling and installing GNU LilyPond
391 Send bug reports to bug-gnu-music@@gnu.org. For help and questions use
392 help-gnu-music@@gnu.org and gnu-music-discuss@@gnu.org. Please consult
393 the faq before mailing your problems.
395 @node AUTHORS, Top, BUGS, INSTALL - compiling and installing GNU LilyPond
398 @email{hanwen@@cs.uu.nl, Han-Wen Nienhuys}
400 @email{janneke@@gnu.org, Jan Nieuwenhuizen}
402 In case of problems, please use the mailing list for help.