]> git.donarmstrong.com Git - lilypond.git/blob - INSTALL.txt
release: 0.1.60
[lilypond.git] / INSTALL.txt
1
2
3
4 INSTALL(1)            LilyPond documentation           INSTALL(1)
5
6
7 NAME
8        INSTALL - installing GNU LilyPond
9
10 DESCRIPTION
11        This page documents installation and compilation of GNU
12        LilyPond
13
14 ABSTRACT
15        You do something which looks remotely like
16
17                configure
18                make
19                make install
20
21        The detailed instructions follow here.
22
23 PREREQUISITES
24        For compilation you need.
25
26        o    A GNU system: GNU LilyPond is known to run on these
27             GNU systems: Linux (PPC, intel), FreeBSD, AIX,
28             NeXTStep, IRIX, Digital Unix and Solaris.
29
30             If you have the Cygnus WINDOWS32 port of the GNU
31             utils, it will even work in Windows NT/95, but we
32             don't promise to support it.
33
34        o    GNU C++ version 2.7 or newer (yes, 2.8 is fine).
35
36        o    Python
37
38 RUNNING
39        GNU LilyPond does use a lot of resources. For operation
40        you need the following:
41
42        o    TeX
43
44        o    A PostScript printer and/or viewer (such as
45             Ghostscript) is strongly recommended.  Xdvi will show
46             all embedded PostScript too if you have Ghostscript
47             installed.
48
49 RECOMMENDED
50        Although not strictly necessary, these are recommended to
51        have.
52
53        o    GNU make.
54
55        o    Flex (version 2.5.4 or newer).
56
57        o    Bison (version 1.25 or newer).
58
59        o    Perl-5.  Most documentation was created with the
60             perl's Plain Old Documentation. (I use 5.003)
61
62
63
64 25/Apr/98                LilyPond 0.1.59                        1
65
66
67
68
69
70 INSTALL(1)            LilyPond documentation           INSTALL(1)
71
72
73        o    Python.  Although perl is nice, python is better.  We
74             will shift towards python for build scripts
75
76        o    GNU find
77
78        o    A fast computer (a full page of music typically takes
79             1 minute on my 486/133, using the --enable-checking
80             compile. It's lot slower than most MusiXTeX
81             preprocessors)
82
83 CONFIGURING and COMPILING
84        to install GNU LilyPond, simply type:
85
86                configure
87                make
88                make install
89
90        This will install the following files:
91
92                /usr/local/man/man1/mi2mu.1
93                /usr/local/man/man1/convert-mudela.1
94                /usr/local/man/man1/mudela-book.1
95                /usr/local/man/man1/lilypond.1
96                /usr/local/lib/libflower.{so,a}
97                /usr/local/bin/lilypond
98                /usr/local/bin/mi2mu
99                /usr/local/share/lilypond/*
100                /usr/lib/texmf/texmf/tex/lilypond/*
101
102        The TeX include directory is detected dynamically, but it
103        can be adjusted with --enable-tex-prefix and --enable-tex-
104        dir. The above assumes that you are root and have the GNU
105        development tools, and your make is GNU make.  If this is
106        not the case, you can adjust your environment variables to
107        your taste:
108
109                export CPPFLAGS="-I /home/me/my_include -DWEIRD_FOOBAR"
110                configure
111
112        CPPFLAGS are the preprocessor flags.
113
114        the configure script is Cygnus configure, and it will
115        accept --help. If you are not root, you will probably have
116        to make it with
117
118                configure --prefix=/home/me_myself_and_I/
119
120        In this case, you will have to set MFINPUTS, and TEXINPUTS
121        accordingly.
122
123        If you want to install GNU LilyPond in /usr/local, and
124        your TeX has no default hooks for local stuff (mine is
125        broken too), you can do:
126
127
128
129
130 25/Apr/98                LilyPond 0.1.59                        2
131
132
133
134
135
136 INSTALL(1)            LilyPond documentation           INSTALL(1)
137
138
139                configure --prefix=/usr/local --enable-tex-prefix=/usr/lib/texmf
140
141        Since GNU LilyPond currently is beta, you are advised to
142        also use
143
144                --enable-debugging
145                --enable-checking
146
147        other options include:
148
149        --enable-shared
150            Make a shared library (gnu/linux, solaris (?) only )
151
152        --enable-printing
153            Enable debugging print routines (lilypond -d option)
154
155        --enable-optimise
156            Set maximum optimisation: compile with -O2
157
158        --enable-profiling
159            Compile with support for profiling
160
161        --enable-tex-prefix
162            Set the directory where TeX and Metafont live
163
164        --enable-tex-dir
165            Set then directory TeX input is in (detected as a
166            subdir of tex-prefix)
167
168        --enable-mf-dir
169            Set the directory mf input is in (idem)
170
171        --enable-config
172            Output to different configuration files.  Needed for
173            multi-platform builds
174
175        All options are documented in the configure help The
176        option --enable-optimise is recommended for Real Life
177        usage.
178
179        If you do
180
181                make all
182
183        everything will be compiled, but nothing will be
184        installed.  The resulting binaries can be found in the
185        subdirectories out/ (which contain all files generated
186        during compilation).
187
188 CONFIGURING FOR MULTIPLE PLATFORMS
189        If you want to compile LilyPond with different
190        configuration settings, then, you can use the --enable-
191        config option.  Example: suppose I want to build with and
192        without profiling.  Then I'd use the following for the
193
194
195
196 25/Apr/98                LilyPond 0.1.59                        3
197
198
199
200
201
202 INSTALL(1)            LilyPond documentation           INSTALL(1)
203
204
205        normal build,
206
207              configure --prefix=~ --disable-optimise --enable-checking
208              make
209              make install
210
211        and for the profiling version, I specify a different
212        configuration.
213
214              configure --prefix=~ --enable-profiling --enable-config=optprof --enable-optimise --disable-checking
215              make configuration=optprof
216              make configuration=optprof install
217
218
219 INSTALLING
220        If you have done a successful make, then a simple
221
222                make install
223
224        should do the trick.
225
226        If you are doing an upgrade, please remember to remove
227        obsolete .pk and .tfm files of the fonts.  A script has
228        been provided to do the work, see bin/clean-fonts.sh.
229
230 CAVEATS
231        o    The -O2 option to gcc triggers a gcc bug on DEC Alpha
232             in dstream.cc. You should turn off this flag for this
233             file.
234
235        o    Perl5.003 and Perl5.004 use different syntax for
236             pod2html.
237
238 EXAMPLE
239        This is what I type in my xterm:
240
241                lilypond someinput.ly
242                tex someinput.tex
243                xdvi someinput&
244
245        This is what the output looks like over here:
246
247                GNU LilyPond 0.0.78 #4/FlowerLib 1.1.24 #0
248                Parsing ... [/home/hw/share/lilypond/init//
249                        <..etc..>
250                        init//performer.ly]]][input/kortjakje.ly]
251                Creating elements ...[8][16][24][25]
252                Preprocessing elements...
253                Calculating column positions ... [14][25]
254                Postprocessing elements...
255                TeX output to someinput.tex ...
256                Creating MIDI elements ...MIDI output to someinput.midi ...
257
258
259
260
261
262 25/Apr/98                LilyPond 0.1.59                        4
263
264
265
266
267
268 INSTALL(1)            LilyPond documentation           INSTALL(1)
269
270
271                hw:~/musix/spacer$ xdvi someinput&
272                [1] 855
273
274        Check out the input files, some of them have comments
275        Please refer to the man page for more information.
276
277 REDHAT LINUX
278        RedHat Linux users should be able to get a RPM. A spec
279        file is in make/out/lilypond.spec. You should be able to
280        create an rpm as a normal user. Be sure you have a
281        ~/.rpmrc, and edit the RPM-dir in Variables.make. (If you
282        create the RPM as a normal user the permissions will not
283        be set correctly, unfortunately)
284
285 DEBIAN GNU/LINUX
286        A Debian package is also available; contact Anthony Fok
287        <foka@debian.org>.  The build scripts are in the
288        subdirectory debian/
289
290 WINDOWS NT/95
291        So, you're stuck with Windows, eh?  Well, don't worry, you
292        just need (to get) Cygnus' windows32 port of gnu
293        development stuff; have a look at
294        http://www.cygnus.com/gnu-win32.
295
296        To make GNU LilyPond under, brr, aargh, shudder...
297        windows32, well, simply type:
298
299                bash configure
300                make
301
302        Note If you rely on broken DOS/Windows tools such as
303        pkzip/WinZIP to unpack the distribution, make sure the
304        entire source tree is unpacked correctly, in particular
305        the empty out directories (flower/out, lib/out et. al.)
306
307 AUTHORS
308        Han-Wen Nienhuys <hanwen@cs.ruu.nl>
309
310        Jan Nieuwenhuizen <jan@digicash.com>
311
312        Have fun!
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328 25/Apr/98                LilyPond 0.1.59                        5
329
330