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 A Unix system with GNU tools. GNU LilyPond is known to run on these
27 unices: Linux, AIX, Digital Unix and Solaris.
29 If you have the Cygnus WINDOWS32 port of the GNU utils, it will even
30 work in Windows 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.
43 Flex (2.5.1 or better).
47 Bison. (Version 1.25 or better)
57 Perl. Most scripts are written in Perl. The documentation was created
58 with the perl's Plain Old Documentation.
66 =head1 CONFIGURING and COMPILING
68 to install GNU LilyPond, simply type:
73 This will install the following files:
75 /usr/local/man/man1/mi2mu.1
76 /usr/local/man/man5/mudela.5
77 /usr/local/man/man1/lilypond.1
78 /usr/local/lib/libflower.{so,a}
79 /usr/local/bin/lilypond
81 /usr/local/share/lilypond/*
82 /usr/lib/texmf/texmf/tex/lilypond/*
83 /usr/lib/texmf/texmf/fonts/source/lilypond/*
85 The TeX include directory is detected dynamically, but it can be
86 adjusted with B<--enable-tex-prefix> and B<--enable-tex-dir>. The
87 above assumes that you are root and have the gnu development tools,
88 and your make is gnu make. If this is not the case, you can adjust
89 your environment variables to your taste:
91 export CPPFLAGS="-I /home/me/my_include -DWEIRD_FOOBAR"
94 C<CPPFLAGS> are the preprocessor flags.
96 the configure script is Cygnus configure, and it will accept
97 B<--help>. If you are not root, you will probably have to make it with
99 configure --prefix=/home/me_myself_and_I/
101 In this case, you will have to set MFINPUTS, and TEINPUTS accordingly.
103 If you want to install GNU LilyPond in F</usr/local>, and your TeX has
104 no default hooks for local stuff (mine is broken too), you can do:
106 configure --prefix=/usr/local --enable-tex-prefix=/usr/lib/texmf
108 Since GNU LilyPond currently is beta, you are advised to also use
113 other options include:
117 =item --enable-shared
119 Make a shared library (gnu/linux, solaris (?) only )
121 =item --enable-printing
123 Enable debugging print routines (lilypond B<-d> option)
125 =item --enable-optimise
127 Set maximum optimisation
129 =item --enable-profiling
131 Compile with support for profiling
133 =item --enable-tex-prefix
135 Set the directory where texmf lives
137 =item --enable-tex-dir
139 Set then directory tex input is in (detected as a subdir of tex-prefix)
141 =item --enable-mf-dir
143 Set then directory tex input is in (idem)
147 All options are documented in the F<configure> help
148 The option B<--enable-optimise> is recommended for Real Life usage.
154 everything will be compiled, but nothing will be installed. The
155 resulting binaries can be found in the subdirectories F<out/> (which
156 contain all files generated during compilation).
161 If you have done a successful C<make>, then a simple
167 [todo. Obsolete; fonts are in distribution now.]
169 Install the musixtex fonts in a directory which TeX and MF knows (if
170 you are root, look for a directory which contains the directories with
171 AMS and CM source (*.mf) files. Create a subdir lilypond or musixtex
172 and copy the fonts into that). Do not forget to rehash TeX (if
175 Example: my fonts are in F</usr/local/lib/texfonts/musixtex/>, and I
176 have a symlink pointing to that in
177 F</usr/lib/texmf/texmf/fonts/source/public/>
187 The -O2 option to gcc triggers a gcc bug on DEC Alpha in dstream.cc. You
188 should turn off this flag for this file.
194 GNU LilyPond does use a lot of resources. For operation you need the following:
201 A fast computer (a full page of music typically takes 1 minute
202 on my 486/66, using the B<--enable-checking> compile. It's lot slower
203 than most MusiXTeX preprocessors)
211 The MusixTeX fonts. (I use those found in MusixTeX T.59). Beware, the
212 clef symbol has changed position in the Egler version, aka. OpusTeX)
216 At this time, GNU LilyPond output looks nice, but is not of production
217 quality. If you're not discouraged; this is what I type in my xterm:
219 lilypond someinput.ly
223 This is what the output looks like over here:
225 hw:~/musix/spacer$ lilypond input/kortjakje.ly
226 GNU LilyPond 0.0.71 #20/FlowerLib 1.1.20 #0
227 Parsing ... [/home/hw/share/lilypond/init//symbol.ini <..snip..>
228 .. .ini]][input/kortjakje.ly]
229 Creating elements ...
230 Preprocessing elements...
231 Calculating column positions ... [3][8][13][17][21][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 windows32 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:
275 * gnu/linux 2.0.x, g++ 2.7.2[.1]
277 * solaris 2.5, g++ 2.7.2
281 * windows-nt 4.0, cygnus gnu-windows32 beta17.1 (~=g++ 2.7.2)
282 * gnu/linux 2.0.28 X to doze, gcc-go32 (~=g++ 2.7.2) [exec. untested]
286 Han-Wen Nienhuys <hanwen@stack.nl>
288 Jan Nieuwenhuizen <jan@digicash.com>