4 INSTALL(1) LilyPond documentation INSTALL(1)
8 INSTALL - installing GNU LilyPond
11 This page documents installation and compilation of GNU
15 You do something which looks remotely like
21 The detailed instructions follow here.
24 For compilation you need.
26 o A GNU system: GNU LilyPond is known to run on these
27 GNU systems: Linux (PPC, intel), FreeBSD, AIX,
28 NeXTStep, IRIX, Digital Unix and Solaris.
30 If you have the Cygnus WINDOWS32 port of the GNU
31 utils, it will even work in Windows NT/95, but we
32 don't promise to support it.
34 o GNU C++ version 2.7 or newer (yes, 2.8 is fine).
38 o Flex (version 2.5.1 or newer).
40 o Bison (version 1.25 or newer).
43 GNU LilyPond does use a lot of resources. For operation
44 you need the following:
48 o A PostScript printer and/or viewer (such as
49 Ghostscript) is strongly recommended. Xdvi will show
50 all embedded PostScript too if you have Ghostscript
54 Although not strictly necessary, these are recommended to
57 o Perl-5. Most documentation was created with the
58 perl's Plain Old Documentation. (I use 5.003)
64 13/Mar/98 LilyPond 0.1.48 1
70 INSTALL(1) LilyPond documentation INSTALL(1)
73 o Python. Although perl is nice, python is better. We
74 will shift towards python for build scripts
78 o A fast computer (a full page of music typically takes
79 1 minute on my 486/133, using the --enable-checking
80 compile. It's lot slower than most MusiXTeX
83 CONFIGURING and COMPILING
84 to install GNU LilyPond, simply type:
89 This will install the following files:
91 /usr/local/man/man1/mi2mu.1
92 /usr/local/man/man1/convert-mudela.1
93 /usr/local/man/man1/mudela-book.1
94 /usr/local/man/man1/lilypond.1
95 /usr/local/lib/libflower.{so,a}
96 /usr/local/bin/lilypond
98 /usr/local/share/lilypond/*
99 /usr/lib/texmf/texmf/tex/lilypond/*
101 The TeX include directory is detected dynamically, but it
102 can be adjusted with --enable-tex-prefix and --enable-tex-
103 dir. The above assumes that you are root and have the GNU
104 development tools, and your make is GNU make. If this is
105 not the case, you can adjust your environment variables to
108 export CPPFLAGS="-I /home/me/my_include -DWEIRD_FOOBAR"
111 CPPFLAGS are the preprocessor flags.
113 the configure script is Cygnus configure, and it will
114 accept --help. If you are not root, you will probably have
117 configure --prefix=/home/me_myself_and_I/
119 In this case, you will have to set MFINPUTS, and TEXINPUTS
122 If you want to install GNU LilyPond in /usr/local, and
123 your TeX has no default hooks for local stuff (mine is
124 broken too), you can do:
126 configure --prefix=/usr/local --enable-tex-prefix=/usr/lib/texmf
130 13/Mar/98 LilyPond 0.1.48 2
136 INSTALL(1) LilyPond documentation INSTALL(1)
139 Since GNU LilyPond currently is beta, you are advised to
145 other options include:
148 Make a shared library (gnu/linux, solaris (?) only )
151 Enable debugging print routines (lilypond -d option)
154 Set maximum optimisation: compile with -O2
157 Compile with support for profiling
160 Set the directory where TeX and Metafont live
163 Set then directory TeX input is in (detected as a
164 subdir of tex-prefix)
167 Set the directory mf input is in (idem)
170 Set the directory for machine generated output.
172 All options are documented in the configure help The
173 option --enable-optimise is recommended for Real Life
180 everything will be compiled, but nothing will be
181 installed. The resulting binaries can be found in the
182 subdirectories out/ (which contain all files generated
185 Building for multiple hosts
187 LilyPond does not follow the GNU standards when it comes
188 to configuring and making Makefiles. In LilyPond, make
189 generates all output in output directories (called out/,
190 by default). You can have multiple compiles from the same
191 source-tree, by overriding the setting for the output
196 13/Mar/98 LilyPond 0.1.48 3
202 INSTALL(1) LilyPond documentation INSTALL(1)
205 Example: on my system, I do debugging and lots compiling.
206 For this I use the configuration as follows:
208 configure --prefix=~ --enable-debugging --enable-printing --enable-checking
211 and I want to do profiling. For that I use
213 configure --prefix=~ --enable-debugging --disable-printing\
214 --disable-checking --enable-profiling --enable-optimise\
215 --enable-out-dir=out-profile
217 make OUTDIR_NAME=out-profile all
219 These two commands build two entirely separate versions of
220 LilyPond. In Real Life, you would probably also want to
221 have two different prefixes. On my machine this is no
222 problem; I never do make install. My prefix dirs are
223 linked back to my source directory.
226 If you have done a successful make, then a simple
232 If you are doing an upgrade, please remember to remove
233 obsolete .pk and .tfm files of the fonts. A script has
234 been provided to do the work, see bin/clean-fonts.sh.
237 o The -O2 option to gcc triggers a gcc bug on DEC Alpha
238 in dstream.cc. You should turn off this flag for this
241 o Perl5.003 and Perl5.004 use different syntax for
245 This is what I type in my xterm:
247 lilypond someinput.ly
251 This is what the output looks like over here:
262 13/Mar/98 LilyPond 0.1.48 4
268 INSTALL(1) LilyPond documentation INSTALL(1)
271 GNU LilyPond 0.0.78 #4/FlowerLib 1.1.24 #0
272 Parsing ... [/home/hw/share/lilypond/init//
274 init//performer.ly]]][input/kortjakje.ly]
275 Creating elements ...[8][16][24][25]
276 Preprocessing elements...
277 Calculating column positions ... [14][25]
278 Postprocessing elements...
279 TeX output to someinput.tex ...
280 Creating MIDI elements ...MIDI output to someinput.midi ...
282 hw:~/musix/spacer$ xdvi someinput&
285 Check out the input files, some of them have comments
286 Please refer to the man page for more information.
289 RedHat Linux users should be able to get a RPM. A spec
290 file is in make/out/lilypond.spec. You should be able to
291 create an rpm as a normal user. Be sure you have a
292 ~/.rpmrc, and edit the RPM-dir in Variables.make. (If you
293 create the RPM as a normal user the permissions will not
294 be set correctly, unfortunately)
297 A Debian package is also available; contact Anthony Fok
298 <foka@debian.org>. The build scripts are in the
302 So, you're stuck with Windows, eh? Well, don't worry, you
303 just need (to get) Cygnus' windows32 port of gnu
304 development stuff; have a look at
305 http://www.cygnus.com/gnu-win32.
307 To make GNU LilyPond under, brr, aargh, shudder...
308 windows32, well, simply type:
313 Note If you rely on broken DOS/Windows tools such as
314 pkzip/WinZIP to unpack the distribution, make sure the
315 entire source tree is unpacked correctly, in particular
316 the empty out directories (flower/out, lib/out et. al.)
319 Previous versions (before 0.1.39) used fonts from the TeX
320 macro package "MusixTeX". You can still use these, but
321 they are not supported. Since LilyPond's Feta font is
322 much prettier, you'd be seriously misguided if you used
323 them, but anyway, here are the installation instructions
324 for those deprecated fonts.
328 13/Mar/98 LilyPond 0.1.48 5
334 INSTALL(1) LilyPond documentation INSTALL(1)
337 [obsolete] I use the MusixTeX fonts those found in
338 MusixTeX T.73. Beware, the clef symbol seems to have
339 changed its position in some versions, (notably Egler's,
340 a.k.a. OpusTeX). The MusixTeX fonts are included in
341 MusixTeX (T73 or newer), which can be had from any CTAN
344 ftp://ftp.shsu.edu/tex-archive/macros/musixtex/taupin
346 ftp://ftp.tex.ac.uk/tex-archive/macros/musixtex/taupin
348 ftp://ftp.dante.de/tex-archive/macros/musixtex/taupin
350 You only need the contents of the mf/ subdirectory of the
351 package. The primary site of the Taupin version is
352 ftp://hprib.lps.u-psud.fr/pub/music_zips/musixtex.zip
354 Install the musixtex fonts in a directory which TeX and MF
355 knows (if you are root, look for a directory which
356 contains the directories with AMS and CM source (*.mf)
357 files. Create a subdir lilypond or musixtex and copy the
358 fonts into that). Do not forget to rehash TeX (if
361 Example: my fonts are in
362 /usr/local/lib/texfonts/musixtex/, and I have a symlink
364 /usr/lib/texmf/texmf/fonts/source/public/. After I copied
365 the files, I ran "texhash"
367 Andreas Egler's version of MusixTeX, now called OpusTeX,
368 will also work. Andreas moved some characters around in
369 the fonts, so you have to edit the definitions in
373 Han-Wen Nienhuys <hanwen@cs.ruu.nl>
375 Jan Nieuwenhuizen <jan@digicash.com>
394 13/Mar/98 LilyPond 0.1.48 6