]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/INSTALL.pod
release: 0.0.54
[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 IMPORTANT
10
11 if you have downloaded a
12
13         *.pre*
14
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.
17
18 =head1 PREREQUISITES
19
20 For compilation you need.
21
22 =over 5
23
24 =item *
25
26 Unix. GNU LilyPond is known to run on Linux, AIX, Digital Unix and
27 Solaris
28
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.
31
32 =item *
33
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
36 AT&T CC.
37
38 =item *
39
40 GNU make. 
41
42 =item *
43
44 Flex (2.5.1 or better). 
45
46 =item *
47
48 Bison. (Version 1.25 or better)
49
50 =back
51
52 =head1 RECOMMENDED
53
54 =over 5
55
56 =item *
57
58 Perl.  Most scripts are written in Perl. The documentation was created
59 with the perl's Plain Old Documentation.
60
61 =item *
62 (GNU) find
63
64 =back
65
66
67
68 =head1 CONFIGURING and COMPILING
69
70 to install GNU LilyPond, simply type:
71
72         configure
73         make install
74
75 This will install the following files:
76
77         /usr/local/man/man1/lilypond.1
78         /usr/local/lib/libflower.{so,a}
79         /usr/local/bin/lilypond
80         /usr/local/bin/mi2mu
81         /usr/local/share/lilypond/*
82         /usr/lib/texmf/texmf/tex/lilypond/* 
83
84 The TeX include directory is detected dynamically, but it can be
85 adjusted with B<--enable-tex-prefix> and B<--enable-tex-dir>. The
86 above assumes that you are root and have the gnu development tools,
87 and your make is gnu make.  If this is not the case, you can adjust
88 your environment variables to your taste:
89
90         export CPPFLAGS="-I /home/me/my_include -DWEIRD_FOOBAR" 
91         configure
92
93 C<CPPFLAGS> are the preprocessor flags. 
94
95 the configure script is Cygnus configure, and it will accept
96 B<--help>. If you are not root, you will probably have to make it with
97
98         configure --prefix=/home/me_myself_and_I/
99
100 In this case, you will have to set MFINPUTS, and TEINPUTS accordingly.
101
102 If you want to install GNU LilyPond in F</usr/local>, and your TeX has
103 no default hooks for local stuff (mine is broken too), you can do:
104
105         configure --prefix=/usr/local --enable-tex-prefix=/usr/lib/texmf
106
107 Since GNU LilyPond currently is beta, you are advised to also use
108
109         --enable-debugging
110         --enable-checking
111
112 other options include:
113
114         --enable-shared
115         --enable-printing
116         --enable-optimise
117         --enable-profiling
118         --enable-tex-prefix
119         --enable-tex-dir
120
121 All options are documented in the F<configure> help
122 The option B<--enable-optimise> is recommended for Real Life usage.
123
124 If you do
125
126         make all
127
128 everything will be compiled, but nothing will be installed.  The
129 resulting binaries can be found in the subdirectory
130 F<bin/>.
131
132 =head1 INSTALLING
133
134 If you have done a successful C<make>, then a simple
135
136         make install
137
138 should do the trick. 
139
140 [todo]
141
142 Install the musixtex fonts in a directory which TeX and MF knows (if
143 you are root, look for a directory which contains the directories with
144 AMS and CM source (*.mf) files. Create a subdir lilypond or musixtex
145 and copy the fonts into that). Do not forget to rehash TeX (if
146 applicable)
147
148 Example: my fonts are in F</usr/local/lib/texfonts/musixtex/>, and I
149 have a symlink pointing to that in
150 F</usr/lib/texmf/texmf/fonts/source/public/>
151
152 =head1 CAVEATS
153
154
155
156 =over 5
157
158 =item *
159
160 The -O2 option to gcc triggers a gcc bug on DEC Alpha in dstream.cc. You
161 should turn off this flag for this file.
162
163 =back
164
165 =head1 RUNNING
166
167 GNU LilyPond does use a lot of resources. For operation you need the following:
168
169
170 =over 5
171
172 =item *
173
174 A fast computer (a full page of music typically takes 1 minute
175 on my 486/66, using the B<--enable-checking> compile. It's lot slower
176 than most MusiXTeX preprocessors)
177
178 =item *
179
180 TeX
181
182 =item *
183
184 The MusixTeX fonts. (I use those found in MusixTeX T.59). Beware, the
185 clef symbol has changed position in recent versions of MusixTeX)
186
187 =back
188
189 Please refer to the man page for more information.
190
191 =head1 REDHAT LINUX
192
193 RedHat Linux users should be able to get a RPM. A spec file is in
194 F<make/lilypond.spec>. You should be able to create an rpm as a normal
195 user. Be sure you have a ~/.rpmrc, and edit the RPM-dir in
196 F<Variables.make>
197
198
199 =head1 WINDOZE
200
201 Windows NT:
202
203 you need the cygnus win32 gnu port development stuff; have a look
204 at http://www.cygnus.com/gnu-win32.
205
206 to make GNU LilyPond under, brr, aargh, well, simply type:
207
208         bash configure
209         make win32
210
211 =head1 PLATFORMS
212
213 GNU LilyPond (pl 0.0.39) is known to compile on the following platforms:
214
215         * linux 2.0.x, g++ 2.7.2[.1]
216         * aix 4.1, g++ 2.7.2
217         * windows-nt 4.0, cygnus gnu-win32 beta17.1 (~=g++ 2.7.2)
218         * linux 2.0.28 X to doze, gcc-go32 (~=g++ 2.7.2) [exec. untested]
219
220 =head1 AUTHORS
221
222 Han-Wen Nienhuys <hanwen@stack.nl>
223
224 Jan Nieuwenhuizen <jan@digicash.com>
225
226
227 Have fun!