]> git.donarmstrong.com Git - lilypond.git/blob - INSTALL.txt
release: 1.1.24
[lilypond.git] / INSTALL.txt
1
2
3
4
5
6
7
8
9
10       INSTALL - compiling and installing GNU LilyPond
11
12                          HWN & JCN
13
14
15 Contents
16
17      1: ABSTRACT
18 2: PREREQUISITES
19 3: RUNNING
20 4: RECOMMENDED
21 5: WEBSITE
22 6: CONFIGURING and COMPILING
23 7: CONFIGURING FOR MULTIPLE PLATFORMS
24 8: INSTALLING
25 9: REDHAT LINUX
26 10: DEBIAN GNU/LINUX
27 11: WINDOWS NT/95
28 12: AUTHORS
29
30
31 1: ABSTRACT
32
33
34 This  document  explains  what you need to install LilyPond,
35 and what you should do.  If you are  going  to  compile  and
36 install  LilyPond  often,  e.g.  when doing development, you
37 might want to check out the buildscripts/set-lily.sh script.
38 It sets some environment variables and symlinks, which comes
39 in handly when you have to compile LilyPond more often.
40
41
42 2: PREREQUISITES
43
44
45 For compilation you need:
46
47
48 o    A GNU system: GNU LilyPond is known to run on these GNU
49      systems:  Linux  (PPC,  intel), FreeBSD, AIX, NeXTStep,
50      IRIX, Digital Unix and Solaris.
51
52
53 o    Lots of disk space: LilyPond takes between 50  and  100
54      mb to compile if you use debugging information.  If you
55      are short on disk-space run configure  with  --disable-
56      debugging.
57
58      Although we recommend to use Unix, LilyPond is known to
59      run on Windows NT/95/98 as well.  See Section 11.
60
61
62 o    GNU C++ version 2.8 or newer (egcs-1.1 or newer is also
63      fine).
64
65 o    Python  1.5  (Strictly  speaking,  you  shouldn't  need
66      Python for compiling and installing, but you'll need it
67      to regenerate the font tables, e.g.).
68
69 o    GUILE  1.3  (no,  GUILE  1.2  won't  work),  check  out
70      http://www.gnu.org/software/guile/guile.html.
71
72
73 3: RUNNING
74
75
76 GNU LilyPond does use a lot of resources. For operation  you
77 need the following:
78
79
80 o    TeX
81
82 o    A   PostScript   printer   and/or   viewer   (such   as
83      Ghostscript) is strongly recommended.  Xdvi  will  show
84      all  embedded  PostScript  too  if you have Ghostscript
85
86
87      installed.
88
89 o    GUILE  1.3  (no,  GUILE  1.2  won't  work),  check  out
90      http://www.gnu.org/programs/guile.html
91
92 For  running  LilyPond successfully you have to help TeX and
93 MetaFont find various files.  The recommended way  of  doing
94 so  is  adjusting  the environment variables in the start-up
95 scripts of your shell.  An example is  given  here  for  the
96 Bourne shell:
97
98
99
100
101      export MFINPUTS="/usr/local/share/lilypond/mf:"
102      export TEXINPUTS="/usr/local/share/lilypond/tex:"
103
104
105
106
107 The  empty path component represents  and MetaFont's default
108 search paths.  Scripts with the proper paths for the  bourne
109 and   C-shell   respectively   are   generated   in   build-
110 scripts/out/lilypond-profile and  buildscripts/out/lilypond-
111 login during compilation.
112
113
114 4: RECOMMENDED
115
116
117 Although  not  strictly  necessary, these are recommended to
118 have.
119
120
121 o    GNU make.  Check out ftp://ftp.gnu.org or any mirror of
122      this site.
123
124 o    Flex    (version    2.5.4   or   newer).    Check   out
125      ftp://ftp.gnu.org or any mirror of this site.
126
127 o    Bison   (version   1.25   or   newer).     Check    out
128      ftp://ftp.gnu.org or any mirror of this site.
129
130 o    GUILE  1.3  (no,  GUILE  1.2  won't  work),   check out
131      http://www.gnu.org/programs/guile.html
132
133
134 o    Python   (version   1.5   or   newer).     Check    out
135      ftp://ftp.python.org or ftp://ftp.cwi.nl/pub/python.
136
137
138 o    Yodl.   All  documentation  will  be in Yodl. (1.30.17)
139      ftp://ftp.lilypond.org/pub/yodl
140      http://www.cs.uu.nl/~hanwen/yodl
141
142
143 o    Texinfo. (version 3.12 or newer)
144
145
146 o    GNU  find  Check out ftp://ftp.gnu.org or any mirror of
147      this site.
148
149
150 o    The geometry package for LaTeX is needed to use ly2dvi.
151      Available           at          ftp://ftp.ctan.org/tex-
152      archive/macros/latex/contrib/supported/geometry  or  at
153      mirror site ftp://ftp.dante.de
154
155
156 o    A fast computer: a full page of music typically takes 1
157      minute on my 486/133, using the --enable-checking  com-
158      pile.
159
160
161 5: WEBSITE
162
163
164 If  you  want  to  auto-generate Lily's website, you'll need
165 some additional conversion tools.
166
167
168 o    xpmtoppm (from the Portable Bitmap Utilities) (For Red-
169      Hat  Linux  users:  it  is  included within the package
170      libgr-progs).
171
172 o    Bib2html http://pertsserver.cs.uiuc.edu/~hull/bib2html.
173      Which, in turn depends on man2html for proper installa-
174      tion.   man2html  can  be   had   from   http://askdon-
175      ald.ask.uni-karlsruhe.de/hppd/hpux/Network-
176      ing/WWW/Man2html-1.05.
177
178      TeTeX users should not forget to rerun texhash.
179
180 Building the website requires pnmtopng.  The version of pnm-
181 topng  that  is  distributed  with RedHat 5.1 contains a bug
182 (pnmtopng is dynamically linked  to  the  wrong  version  of
183 libpng).   Recompile  it from source, and make sure that the
184 pnmtopng binary is linked statically to the libpng  that  is
185 included in libgr.
186
187
188       tar xzf libgr-2.0.13.tar.gz
189            make
190            cd png
191            rm libpng.so*
192            make pnmtopng
193
194
195
196
197
198 You can then install the new pnmtopng into /usr/local/bin/
199
200
201 6: CONFIGURING and COMPILING
202
203
204 to install GNU LilyPond, simply type:
205
206
207
208
209
210           gunzip -c lilypond-x.y.z | tar xf -
211           cd lilypond-x.y.z
212           configure      # fill in your standard prefix with --prefix
213           make
214           make install
215
216
217
218
219
220 This will install a number of files, something close to:
221
222
223
224
225
226           /usr/local/man/man1/mi2mu.1
227           /usr/local/man/man1/convert-mudela.1
228           /usr/local/man/man1/mudela-book.1
229           /usr/local/man/man1/lilypond.1
230           /usr/local/bin/lilypond
231           /usr/local/bin/mi2mu
232           /usr/local/share/lilypond/*
233           /usr/local/share/locale/{it,nl}/LC_MESSAGES/lilypond.mo
234
235
236
237
238
239 The  above assumes that you are root and have the GNU devel-
240 opment tools, and your make is GNU make.  If this is not the
241 case,  you  can  adjust  your  environment variables to your
242
243
244 taste:
245
246
247
248
249
250
251           export CPPFLAGS="-I /home/me/my_include -DWEIRD_FOOBAR"
252           configure
253
254
255
256
257
258 CPPFLAGS are the preprocessor flags.
259
260 The configure script is Cygnus configure, and it will accept
261 --help.  If you are not root, you will probably have to make
262 it with a different --prefix option.  Our favourite location
263 is
264
265
266
267
268
269
270           configure --prefix=$HOME/usr
271
272
273
274
275
276 In  this  case, you will have to set up MFINPUTS, and TEXIN-
277 PUTS accordingly.
278
279 Since GNU LilyPond currently is beta,  you  are  advised  to
280 also use
281
282
283
284
285
286
287           --enable-debugging
288           --enable-checking
289
290
291
292
293
294 Options to configure include:
295
296
297 --enable-printing
298      Enable debugging print routines (lilypond -D option)
299
300 --enable-optimise
301      Set  maximum  optimisation: compile with -O2.  This can
302      be unreliable on  some  compiler/platform  combinations
303      (eg, DEC Alpha and PPC)
304
305 --enable-profiling
306      Compile with support for profiling.
307
308 --enable-config
309      Output  to  a different configuration file.  Needed for
310      multi-platform builds
311
312 All options are documented in the configure help The  option
313 --enable-optimise is recommended for Real Life usage.
314
315 If you do
316
317
318
319
320
321
322           make all
323
324
325
326
327
328 everything  will be compiled, but nothing will be installed.
329 The resulting binaries can be found  in  the  subdirectories
330 out/ (which contain all files generated during compilation).
331
332
333 7: CONFIGURING FOR MULTIPLE PLATFORMS
334
335
336 If you want to compile LilyPond with different configuration
337 settings,  then,  you  can  use  the --enable-config option.
338 Example: suppose I want to build with and   without  profil-
339 ing.  Then I'd use the following for the normal build,
340
341
342
343
344
345
346            configure --prefix=~ --disable-optimise --enable-checking
347            make
348            make install
349
350
351 and for the profiling version, I specify a different config-
352 uration.
353
354
355
356
357
358
359            configure --prefix=~ --enable-profiling --enable-config=optprof --enable-optimise --disable-checking
360            make config=optprof
361            make config=optprof install
362
363
364
365
366
367
368 8: INSTALLING
369
370
371 If you have done a successful make, then a simple
372
373
374
375
376
377
378           make install
379
380
381
382
383
384 should do the trick.
385
386 If you are doing an upgrade, please remember to remove obso-
387 lete  .pk  and  .tfm  files of the fonts.  A script has been
388 provided to do the work for you, see bin/clean-fonts.sh.
389
390
391 CAVEATS
392
393
394
395 o    The -O2 option to gcc triggers a gcc bug on  DEC  Alpha
396      in  dstream.cc.  You should turn off this flag for this
397      file.
398
399
400 EXAMPLE
401
402
403 This is what I type in my xterm:
404
405
406           lilypond someinput.ly
407           tex someinput.tex
408           xdvi someinput&
409
410
411
412
413
414 This is what the output looks like over here:
415
416
417
418
419
420
421           GNU LilyPond 0.0.78 #4/FlowerLib 1.1.24 #0
422           Parsing ... [/home/hw/share/lilypond/init//
423                <..etc..>
424                init//performer.ly]]][input/kortjakje.ly]
425           Creating elements ...[8][16][24][25]
426           Preprocessing elements...
427           Calculating column positions ... [14][25]
428           Postprocessing elements...
429           TeX output to someinput.tex ...
430           Creating MIDI elements ...MIDI output to someinput.midi ...
431
432
433           hw:~/musix/spacer$ xdvi someinput&
434           [1] 855
435
436
437
438
439
440 Check out the input files, some of them have comments Please
441 refer to the man page for more information.
442
443
444 9: REDHAT LINUX
445
446
447 RedHat  Linux  users  can  compile an RPM. A spec file is in
448 make/out/lilypond.spec, it is  distributed  along  with  the
449 sources.
450
451 You can make the rpm by issuing
452
453
454           rpm -tb lilypond-x.y.z.tar.gz
455           rpm -i /usr/src/redhat/RPMS/i386/lilypond-x.y.z
456
457
458
459
460
461
462 10: DEBIAN GNU/LINUX
463
464
465 A  Debian  package  is  also  available; contact Anthony Fok
466 foka@debian.org <foka@debian.org>.  The build scripts are in
467 the subdirectory debian/.
468
469
470 11: WINDOWS NT/95
471
472
473 Separate instructions on building for W32 are avaible in the
474 file README-W32.yo.
475
476
477 12: AUTHORS
478
479
480 Han-Wen Nienhuys <hanwen@cs.uu.nl>
481
482 Jan Nieuwenhuizen <janneke@gnu.org>
483
484 Have fun!