3 INSTALL - installing GNU LilyPond
7 This page documents installation and compilation of GNU LilyPond
11 if you have downloaded a
15 version, then this is version is I<not> meant for producing nice
16 output, but to keep your patchsets up to date. It might not even compile.
20 For compilation you need.
26 Unix. GNU LilyPond is known to run on Linux, AIX, Digital Unix and
29 If you have the Cygnus WIN32 port of the GNU utils, it will
30 even work in Lose NT/95, but don't promise to support it.
34 GNU C++ v2.7 or better, with libg++ installed. Version 2.7.2
35 or better recommended. I almost positive that it will not compile with
44 Flex (2.5.1 or better).
48 Bison. (Version 1.25 or better)
58 Perl. Most scripts are written in Perl. The documentation was created
59 with the perl's Plain Old Documentation.
68 =head1 CONFIGURING and COMPILING
70 to install GNU LilyPond, simply type:
75 This will install the following files:
77 /usr/local/man/man1/mi2mu.1
78 /usr/local/man/man5/mudela.5
79 /usr/local/man/man1/lilypond.1
80 /usr/local/lib/libflower.{so,a}
81 /usr/local/bin/lilypond
83 /usr/local/share/lilypond/*
84 /usr/lib/texmf/texmf/tex/lilypond/*
85 /usr/lib/texmf/texmf/fonts/source/lilypond/*
87 The TeX include directory is detected dynamically, but it can be
88 adjusted with B<--enable-tex-prefix> and B<--enable-tex-dir>. The
89 above assumes that you are root and have the gnu development tools,
90 and your make is gnu make. If this is not the case, you can adjust
91 your environment variables to your taste:
93 export CPPFLAGS="-I /home/me/my_include -DWEIRD_FOOBAR"
96 C<CPPFLAGS> are the preprocessor flags.
98 the configure script is Cygnus configure, and it will accept
99 B<--help>. If you are not root, you will probably have to make it with
101 configure --prefix=/home/me_myself_and_I/
103 In this case, you will have to set MFINPUTS, and TEINPUTS accordingly.
105 If you want to install GNU LilyPond in F</usr/local>, and your TeX has
106 no default hooks for local stuff (mine is broken too), you can do:
108 configure --prefix=/usr/local --enable-tex-prefix=/usr/lib/texmf
110 Since GNU LilyPond currently is beta, you are advised to also use
115 other options include:
119 =item --enable-shared
121 Make a shared library (linux, solaris (?) only )
123 =item --enable-printing
125 Enable debugging print routines (lilypond B<-d> option)
127 =item --enable-optimise
129 Set maximum optimisation
131 =item --enable-profiling
133 Compile with support for profiling
135 =item --enable-tex-prefix
137 Set the directory where texmf lives
139 =item --enable-tex-dir
141 Set then directory tex input is in (detected as a subdir of tex-prefix)
143 =item --enable-mf-dir
145 Set then directory tex input is in (idem)
149 All options are documented in the F<configure> help
150 The option B<--enable-optimise> is recommended for Real Life usage.
156 everything will be compiled, but nothing will be installed. The
157 resulting binaries can be found in the subdirectories F<out/> (which
158 contain all files generated during compilation).
163 If you have done a successful C<make>, then a simple
169 [todo. Obsolete; fonts are in distribution now.]
171 Install the musixtex fonts in a directory which TeX and MF knows (if
172 you are root, look for a directory which contains the directories with
173 AMS and CM source (*.mf) files. Create a subdir lilypond or musixtex
174 and copy the fonts into that). Do not forget to rehash TeX (if
177 Example: my fonts are in F</usr/local/lib/texfonts/musixtex/>, and I
178 have a symlink pointing to that in
179 F</usr/lib/texmf/texmf/fonts/source/public/>
189 The -O2 option to gcc triggers a gcc bug on DEC Alpha in dstream.cc. You
190 should turn off this flag for this file.
196 GNU LilyPond does use a lot of resources. For operation you need the following:
203 A fast computer (a full page of music typically takes 1 minute
204 on my 486/66, using the B<--enable-checking> compile. It's lot slower
205 than most MusiXTeX preprocessors)
213 The MusixTeX fonts. (I use those found in MusixTeX T.59). Beware, the
214 clef symbol has changed position in recent versions of MusixTeX)
218 At this time, GNU LilyPond output looks nice, but is not of production
219 quality. If you're not discouraged; this is what I type in my xterm:
221 lilypond someinput.ly
225 This is what the output looks like over here:
227 hw:~/musix/spacer$ GNU LilyPond 0.0.60 #8/FlowerLib 1.1.14 #2
228 Parsing ... [./input/kortjakje.ly[lots of stuff]]
229 Setting up requests...Processing requests ...[8][16][24][25]
230 Preprocessing elements...
231 Calculating column positions ... [3][7][12][16][20][25]
232 Postprocessing elements...
233 TeX output to lelie.tex ...
235 hw:~/musix/spacer$ tex lelie
236 This is TeX, Version 3.14159 (C version 6.1)
238 Hyphenation patterns for english, dutch, german, loaded.
239 (/home/hw/lib/texmf/tex/lilypond/lilyponddefs.tex) [1] )
240 Output written on lelie.dvi (1 page, 8944 bytes).
241 Transcript written on lelie.log.
243 hw:~/musix/spacer$ xdvi lelie&
246 Check out the input files, some of them have comments
247 Please refer to the man page for more information.
251 RedHat Linux users should be able to get a RPM. A spec file is in
252 F<make/lilypond.spec>. You should be able to create an rpm as a normal
253 user. Be sure you have a ~/.rpmrc, and edit the RPM-dir in
261 you need the cygnus win32 gnu port development stuff; have a look
262 at http://www.cygnus.com/gnu-win32.
264 to make GNU LilyPond under, brr, aargh, well, simply type:
271 GNU LilyPond (pl 0.0.39) is known to compile on the following platforms:
273 * linux 2.0.x, g++ 2.7.2[.1]
275 * windows-nt 4.0, cygnus gnu-win32 beta17.1 (~=g++ 2.7.2)
276 * linux 2.0.28 X to doze, gcc-go32 (~=g++ 2.7.2) [exec. untested]
280 Han-Wen Nienhuys <hanwen@stack.nl>
282 Jan Nieuwenhuizen <jan@digicash.com>