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 recent versions of MusixTeX)
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$ GNU LilyPond 0.0.60 #8/FlowerLib 1.1.14 #2
226 Parsing ... [./input/kortjakje.ly[lots of stuff]]
227 Setting up requests...Processing requests ...[8][16][24][25]
228 Preprocessing elements...
229 Calculating column positions ... [3][7][12][16][20][25]
230 Postprocessing elements...
231 TeX output to lelie.tex ...
233 hw:~/musix/spacer$ tex lelie
234 This is TeX, Version 3.14159 (C version 6.1)
236 Hyphenation patterns for english, dutch, german, loaded.
237 (/home/hw/lib/texmf/tex/lilypond/lilyponddefs.tex) [1] )
238 Output written on lelie.dvi (1 page, 8944 bytes).
239 Transcript written on lelie.log.
241 hw:~/musix/spacer$ xdvi lelie&
244 Check out the input files, some of them have comments
245 Please refer to the man page for more information.
249 RedHat Linux users should be able to get a RPM. A spec file is in
250 F<make/lilypond.spec>. You should be able to create an rpm as a normal
251 user. Be sure you have a ~/.rpmrc, and edit the RPM-dir in
259 you need the cygnus windows32 gnu port development stuff; have a look
260 at http://www.cygnus.com/gnu-win32.
262 to make GNU LilyPond under, brr, aargh, well, simply type:
269 GNU LilyPond (pl 0.0.39) is known to compile on the following platforms:
273 * gnu/linux 2.0.x, g++ 2.7.2[.1]
275 * solaris 2.5, g++ 2.7.2
279 * windows-nt 4.0, cygnus gnu-windows32 beta17.1 (~=g++ 2.7.2)
280 * gnu/linux 2.0.28 X to doze, gcc-go32 (~=g++ 2.7.2) [exec. untested]
284 Han-Wen Nienhuys <hanwen@stack.nl>
286 Jan Nieuwenhuizen <jan@digicash.com>