]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/INSTALL.pod
release: 0.0.77.jcn1
[lilypond.git] / Documentation / INSTALL.pod
1 =head1 NAME
2
3 INSTALL - installing GNU LilyPond
4
5 =head1 DESCRIPTION
6
7 This page documents installation  and compilation of GNU LilyPond
8
9 =head1 PREREQUISITES
10
11 For compilation you need.
12
13 =over 5
14
15 =item *
16
17 A Unix system with GNU tools. GNU LilyPond is known to run on these
18 unices: Linux, AIX, Digital Unix and Solaris.
19
20 If you have the Cygnus WINDOWS32 port of the GNU utils, it will even
21 work in Windows NT/95, but don't promise to support it.
22
23 =item *
24
25 GNU C++ v2.7 or better, with libg++ installed.  Version 2.7.2
26 or better recommended. 
27
28 =item *
29
30 GNU make. 
31
32 =item *
33
34 Flex (2.5.1 or better). 
35
36 =item *
37
38 Bison. (Version 1.25 or better)
39
40 =back
41
42 =head1 RUNNING
43
44 GNU LilyPond does use a lot of resources. For operation you need the following:
45
46
47 =over 5
48
49 =item *
50
51 TeX
52
53 =item *
54
55 The MusixTeX fonts (I included those found in MusixTeX T.73). Beware,
56 the clef symbol seems to have changed its position in some versions,
57 (notably Egler's, a.k.a. OpusTeX). The MusixTeX fonts are included in
58 MusixTeX (T73 or better), which can be had from any CTAN site, e.g. at
59
60 =over 4
61
62 =item ftp://ftp.shsu.edu/tex-archive/macros/musixtex/taupin
63
64 =item   ftp://ftp.tex.ac.uk/tex-archive/macros/musixtex/taupin
65
66 =item ftp://ftp.dante.de/tex-archive/macros/musixtex/taupin
67
68 =back
69
70 You only need the contents of the F<mf/> subdirectory of the
71 package. The primary site of the Taupin version is
72 ftp://hprib.lps.u-psud.fr/pub/music_zips/musixtex.zip
73
74 =head1 RECOMMENDED
75
76 Although not strictly necessary, these are recommended to have.
77
78 =over 5
79
80 =item *
81
82 Perl.  Most scripts are written in Perl. The documentation was created
83 with the perl's Plain Old Documentation.
84
85 =item *
86
87 (GNU) find
88
89 =item *
90
91 A fast computer (a full page of music typically takes 1 minute
92 on my 486/133, using the B<--enable-checking> compile. It's lot slower
93 than most MusiXTeX preprocessors)
94
95 =back
96
97
98 =head1 CONFIGURING and COMPILING
99
100 to install GNU LilyPond, simply type:
101
102         configure
103         make install
104
105 This will install the following files:
106
107         /usr/local/man/man1/mi2mu.1
108         /usr/local/man/man5/mudela.5
109         /usr/local/man/man1/lilypond.1
110         /usr/local/lib/libflower.{so,a}
111         /usr/local/bin/lilypond
112         /usr/local/bin/mi2mu
113         /usr/local/share/lilypond/*
114         /usr/lib/texmf/texmf/tex/lilypond/* 
115
116 The TeX include directory is detected dynamically, but it can be
117 adjusted with B<--enable-tex-prefix> and B<--enable-tex-dir>. The
118 above assumes that you are root and have the gnu development tools,
119 and your make is gnu make.  If this is not the case, you can adjust
120 your environment variables to your taste:
121
122         export CPPFLAGS="-I /home/me/my_include -DWEIRD_FOOBAR" 
123         configure
124
125 C<CPPFLAGS> are the preprocessor flags. 
126
127 the configure script is Cygnus configure, and it will accept
128 B<--help>. If you are not root, you will probably have to make it with
129
130         configure --prefix=/home/me_myself_and_I/
131
132 In this case, you will have to set MFINPUTS, and TEXINPUTS accordingly.
133
134 If you want to install GNU LilyPond in F</usr/local>, and your TeX has
135 no default hooks for local stuff (mine is broken too), you can do:
136
137         configure --prefix=/usr/local --enable-tex-prefix=/usr/lib/texmf
138
139 Since GNU LilyPond currently is beta, you are advised to also use
140
141         --enable-debugging
142         --enable-checking
143
144 other options include:
145
146 =over 4
147
148 =item --enable-shared
149
150 Make a shared library (gnu/linux, solaris (?) only ) 
151
152 =item   --enable-printing
153
154 Enable debugging print routines (lilypond B<-d> option)
155
156 =item   --enable-optimise
157
158 Set maximum optimisation
159
160 =item   --enable-profiling
161
162 Compile with support for profiling
163
164 =item   --enable-tex-prefix
165
166 Set the directory where texmf lives
167
168 =item --enable-tex-dir
169
170 Set then directory tex input is in (detected as a subdir of tex-prefix)
171
172 =item --enable-mf-dir
173
174 Set then directory mf input is in (idem)
175
176 =back
177
178 All options are documented in the F<configure> help
179 The option B<--enable-optimise> is recommended for Real Life usage.
180
181 If you do
182
183         make all
184
185 everything will be compiled, but nothing will be installed.  The
186 resulting binaries can be found in the subdirectories F<out/> (which
187 contain all files generated during compilation).
188
189
190 =head1 INSTALLING
191
192 If you have done a successful C<make>, then a simple
193
194         make install
195
196 should do the trick. 
197
198 Install the musixtex fonts in a directory which TeX and MF knows (if
199 you are root, look for a directory which contains the directories with
200 AMS and CM source (*.mf) files. Create a subdir lilypond or musixtex
201 and copy the fonts into that). Do not forget to rehash TeX (if
202 applicable)
203
204 Example: my fonts are in F</usr/local/lib/texfonts/musixtex/>, and I
205 have a symlink pointing to that in
206 F</usr/lib/texmf/texmf/fonts/source/public/>. After I copied the
207 files, I ran "texhash"
208
209 =head1 CAVEATS
210
211
212
213 =over 5
214
215 =item *
216
217 The -O2 option to gcc triggers a gcc bug on DEC Alpha in dstream.cc. You
218 should turn off this flag for this file.
219
220 =back
221
222 =head1 EXAMPLE
223
224 This is what I type in my xterm:
225
226         lilypond someinput.ly
227         tex lelie.tex
228         xdvi test&
229
230 This is what the output looks like over here:
231
232         hw:~/musix/spacer$ lilypond input/kortjakje.ly
233         GNU LilyPond 0.0.71 #20/FlowerLib 1.1.20 #0
234         Parsing ... [/home/hw/share/lilypond/init//symbol.ini  <..snip..>
235         ..      .ini]][input/kortjakje.ly]
236         Creating elements ...
237         Preprocessing elements... 
238         Calculating column positions ... [3][8][13][17][21][25]
239         Postprocessing elements...
240         TeX output to lelie.tex ...
241
242         hw:~/musix/spacer$ tex lelie
243         This is TeX, Version 3.14159 (C version 6.1)
244         (lelie.tex
245         Hyphenation patterns for english, dutch, german, loaded.
246         (/home/hw/lib/texmf/tex/lilypond/lilyponddefs.tex) [1] )
247         Output written on lelie.dvi (1 page, 8944 bytes).
248         Transcript written on lelie.log.
249
250         hw:~/musix/spacer$ xdvi lelie&
251         [1] 855
252
253 Check out the input files, some of them have comments
254 Please refer to the man page for more information.
255
256 =head1 REDHAT LINUX
257
258 RedHat Linux users should be able to get a RPM. A spec file is in
259 F<make/out/lilypond.spec>. You should be able to create an rpm as a normal
260 user. Be sure you have a ~/.rpmrc, and edit the RPM-dir in
261 F<Variables.make>. (If you create the RPM as a normal user the
262 permissions will not be set correctly, unfortunately)
263
264
265 =head1 WINDOZE
266
267 Windows NT:
268
269 you need the cygnus windows32 gnu port development stuff; have a look
270 at http://www.cygnus.com/gnu-win32.
271
272 to make GNU LilyPond under, brr, aargh, well, simply type:
273
274         bash configure
275         make windows32
276
277 =head1 AUTHORS
278
279 Han-Wen Nienhuys <hanwen@stack.nl>
280
281 Jan Nieuwenhuizen <jan@digicash.com>
282
283
284 Have fun!