]> git.donarmstrong.com Git - lilypond.git/blob - INSTALL
release: 0.1.49
[lilypond.git] / INSTALL
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    GNU make.
37
38        o    Flex (version 2.5.1 or newer).
39
40        o    Bison (version 1.25 or newer).
41
42 RUNNING
43        GNU LilyPond does use a lot of resources. For operation
44        you need the following:
45
46        o    TeX
47
48        o    A PostScript printer and/or viewer (such as
49             Ghostscript) is strongly recommended.  Xdvi will show
50             all embedded PostScript too if you have Ghostscript
51             installed.
52
53 RECOMMENDED
54        Although not strictly necessary, these are recommended to
55        have.
56
57        o    Perl-5.  Most documentation was created with the
58             perl's Plain Old Documentation. (I use 5.003)
59
60
61
62
63
64 13/Mar/98                LilyPond 0.1.48                        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 install
88
89        This will install the following files:
90
91                /usr/local/man/man1/mi2mu.1
92                /usr/local/man/man1/convert-mudela.1
93                /usr/local/man/man1/mudela-book.1
94                /usr/local/man/man1/lilypond.1
95                /usr/local/lib/libflower.{so,a}
96                /usr/local/bin/lilypond
97                /usr/local/bin/mi2mu
98                /usr/local/share/lilypond/*
99                /usr/lib/texmf/texmf/tex/lilypond/*
100
101        The TeX include directory is detected dynamically, but it
102        can be adjusted with --enable-tex-prefix and --enable-tex-
103        dir. The above assumes that you are root and have the GNU
104        development tools, and your make is GNU make.  If this is
105        not the case, you can adjust your environment variables to
106        your taste:
107
108                export CPPFLAGS="-I /home/me/my_include -DWEIRD_FOOBAR"
109                configure
110
111        CPPFLAGS are the preprocessor flags.
112
113        the configure script is Cygnus configure, and it will
114        accept --help. If you are not root, you will probably have
115        to make it with
116
117                configure --prefix=/home/me_myself_and_I/
118
119        In this case, you will have to set MFINPUTS, and TEXINPUTS
120        accordingly.
121
122        If you want to install GNU LilyPond in /usr/local, and
123        your TeX has no default hooks for local stuff (mine is
124        broken too), you can do:
125
126                configure --prefix=/usr/local --enable-tex-prefix=/usr/lib/texmf
127
128
129
130 13/Mar/98                LilyPond 0.1.48                        2
131
132
133
134
135
136 INSTALL(1)            LilyPond documentation           INSTALL(1)
137
138
139        Since GNU LilyPond currently is beta, you are advised to
140        also use
141
142                --enable-debugging
143                --enable-checking
144
145        other options include:
146
147        --enable-shared
148            Make a shared library (gnu/linux, solaris (?) only )
149
150        --enable-printing
151            Enable debugging print routines (lilypond -d option)
152
153        --enable-optimise
154            Set maximum optimisation: compile with -O2
155
156        --enable-profiling
157            Compile with support for profiling
158
159        --enable-tex-prefix
160            Set the directory where TeX and Metafont live
161
162        --enable-tex-dir
163            Set then directory TeX input is in (detected as a
164            subdir of tex-prefix)
165
166        --enable-mf-dir
167            Set the directory mf input is in (idem)
168
169        --enable-out-dir
170            Set the directory for machine generated output.
171
172        All options are documented in the configure help The
173        option --enable-optimise is recommended for Real Life
174        usage.
175
176        If you do
177
178                make all
179
180        everything will be compiled, but nothing will be
181        installed.  The resulting binaries can be found in the
182        subdirectories out/ (which contain all files generated
183        during compilation).
184
185        Building for multiple hosts
186
187        LilyPond does not follow the GNU standards when it comes
188        to configuring and making Makefiles. In LilyPond, make
189        generates all output in output directories (called out/,
190        by default).  You can have multiple compiles from the same
191        source-tree, by overriding the setting for the output
192        directory.
193
194
195
196 13/Mar/98                LilyPond 0.1.48                        3
197
198
199
200
201
202 INSTALL(1)            LilyPond documentation           INSTALL(1)
203
204
205        Example: on my system, I do debugging and lots compiling.
206        For this I use the configuration as follows:
207
208                configure --prefix=~ --enable-debugging --enable-printing --enable-checking
209                make all
210
211        and I want to do profiling. For that I use
212
213                configure --prefix=~ --enable-debugging --disable-printing\
214                        --disable-checking --enable-profiling --enable-optimise\
215                        --enable-out-dir=out-profile
216
217                make OUTDIR_NAME=out-profile all
218
219        These two commands build two entirely separate versions of
220        LilyPond. In Real Life, you would probably also want to
221        have two different prefixes. On my machine this is no
222        problem; I never do make install. My prefix dirs are
223        linked back to my source directory.
224
225 INSTALLING
226        If you have done a successful make, then a simple
227
228                make install
229
230        should do the trick.
231
232        If you are doing an upgrade, please remember to remove
233        obsolete .pk and .tfm files of the fonts.  A script has
234        been provided to do the work, see bin/clean-fonts.sh.
235
236 CAVEATS
237        o    The -O2 option to gcc triggers a gcc bug on DEC Alpha
238             in dstream.cc. You should turn off this flag for this
239             file.
240
241        o    Perl5.003 and Perl5.004 use different syntax for
242             pod2html.
243
244 EXAMPLE
245        This is what I type in my xterm:
246
247                lilypond someinput.ly
248                tex someinput.tex
249                xdvi someinput&
250
251        This is what the output looks like over here:
252
253
254
255
256
257
258
259
260
261
262 13/Mar/98                LilyPond 0.1.48                        4
263
264
265
266
267
268 INSTALL(1)            LilyPond documentation           INSTALL(1)
269
270
271                GNU LilyPond 0.0.78 #4/FlowerLib 1.1.24 #0
272                Parsing ... [/home/hw/share/lilypond/init//
273                        <..etc..>
274                        init//performer.ly]]][input/kortjakje.ly]
275                Creating elements ...[8][16][24][25]
276                Preprocessing elements...
277                Calculating column positions ... [14][25]
278                Postprocessing elements...
279                TeX output to someinput.tex ...
280                Creating MIDI elements ...MIDI output to someinput.midi ...
281
282                hw:~/musix/spacer$ xdvi someinput&
283                [1] 855
284
285        Check out the input files, some of them have comments
286        Please refer to the man page for more information.
287
288 REDHAT LINUX
289        RedHat Linux users should be able to get a RPM. A spec
290        file is in make/out/lilypond.spec. You should be able to
291        create an rpm as a normal user. Be sure you have a
292        ~/.rpmrc, and edit the RPM-dir in Variables.make. (If you
293        create the RPM as a normal user the permissions will not
294        be set correctly, unfortunately)
295
296 DEBIAN GNU/LINUX
297        A Debian package is also available; contact Anthony Fok
298        <foka@debian.org>.  The build scripts are in the
299        subdirectory debian/
300
301 WINDOWS NT/95
302        So, you're stuck with Windows, eh?  Well, don't worry, you
303        just need (to get) Cygnus' windows32 port of gnu
304        development stuff; have a look at
305        http://www.cygnus.com/gnu-win32.
306
307        To make GNU LilyPond under, brr, aargh, shudder...
308        windows32, well, simply type:
309
310                bash configure
311                make
312
313        Note If you rely on broken DOS/Windows tools such as
314        pkzip/WinZIP to unpack the distribution, make sure the
315        entire source tree is unpacked correctly, in particular
316        the empty out directories (flower/out, lib/out et. al.)
317
318 MUSIXTEX
319        Previous versions (before 0.1.39) used fonts from the TeX
320        macro package "MusixTeX".  You can still use these, but
321        they are not supported.  Since LilyPond's Feta font is
322        much prettier, you'd be seriously misguided if you used
323        them, but anyway, here are the installation instructions
324        for those deprecated fonts.
325
326
327
328 13/Mar/98                LilyPond 0.1.48                        5
329
330
331
332
333
334 INSTALL(1)            LilyPond documentation           INSTALL(1)
335
336
337        [obsolete] I use the MusixTeX fonts those found in
338        MusixTeX T.73. Beware, the clef symbol seems to have
339        changed its position in some versions, (notably Egler's,
340        a.k.a. OpusTeX). The MusixTeX fonts are included in
341        MusixTeX (T73 or newer), which can be had from any CTAN
342        site, e.g. at
343
344        ftp://ftp.shsu.edu/tex-archive/macros/musixtex/taupin
345
346        ftp://ftp.tex.ac.uk/tex-archive/macros/musixtex/taupin
347
348        ftp://ftp.dante.de/tex-archive/macros/musixtex/taupin
349
350        You only need the contents of the mf/ subdirectory of the
351        package. The primary site of the Taupin version is
352        ftp://hprib.lps.u-psud.fr/pub/music_zips/musixtex.zip
353
354        Install the musixtex fonts in a directory which TeX and MF
355        knows (if you are root, look for a directory which
356        contains the directories with AMS and CM source (*.mf)
357        files. Create a subdir lilypond or musixtex and copy the
358        fonts into that). Do not forget to rehash TeX (if
359        applicable)
360
361        Example: my fonts are in
362        /usr/local/lib/texfonts/musixtex/, and I have a symlink
363        pointing to that in
364        /usr/lib/texmf/texmf/fonts/source/public/. After I copied
365        the files, I ran "texhash"
366
367        Andreas Egler's version of MusixTeX, now called OpusTeX,
368        will also work. Andreas moved some characters around in
369        the fonts, so you have to edit the definitions in
370        tex/eglerdefs.tex.
371
372 AUTHORS
373        Han-Wen Nienhuys <hanwen@cs.ruu.nl>
374
375        Jan Nieuwenhuizen <jan@digicash.com>
376
377        Have fun!
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394 13/Mar/98                LilyPond 0.1.48                        6
395
396