]> git.donarmstrong.com Git - lilypond.git/blob - INSTALL.txt
release: 1.1.22
[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-guile
298      Link in GUILE (experimental)
299
300 --enable-printing
301      Enable debugging print routines (lilypond -D option)
302
303 --enable-optimise
304      Set  maximum  optimisation: compile with -O2.  This can
305      be unreliable on  some  compiler/platform  combinations
306      (eg, DEC Alpha and PPC)
307
308 --enable-profiling
309      Compile with support for profiling.
310
311 --enable-config
312      Output  to  a different configuration file.  Needed for
313      multi-platform builds
314
315 All options are documented in the configure help The  option
316 --enable-optimise is recommended for Real Life usage.
317
318 If you do
319
320
321
322
323
324
325           make all
326
327
328
329
330
331 everything  will be compiled, but nothing will be installed.
332 The resulting binaries can be found  in  the  subdirectories
333 out/ (which contain all files generated during compilation).
334
335
336 7: CONFIGURING FOR MULTIPLE PLATFORMS
337
338
339 If you want to compile LilyPond with different configuration
340 settings,  then,  you  can  use  the --enable-config option.
341 Example: suppose I want to build with and   without  profil-
342 ing.  Then I'd use the following for the normal build,
343
344
345            configure --prefix=~ --disable-optimise --enable-checking
346            make
347            make install
348
349
350
351
352
353 and for the profiling version, I specify a different config-
354 uration.
355
356
357
358
359
360
361            configure --prefix=~ --enable-profiling --enable-config=optprof --enable-optimise --disable-checking
362            make config=optprof
363            make config=optprof install
364
365
366
367
368
369
370 8: INSTALLING
371
372
373 If you have done a successful make, then a simple
374
375
376
377
378
379
380           make install
381
382
383
384
385
386 should do the trick.
387
388 If you are doing an upgrade, please remember to remove obso-
389 lete  .pk  and  .tfm  files of the fonts.  A script has been
390 provided to do the work for you, see bin/clean-fonts.sh.
391
392
393 CAVEATS
394
395
396
397 o    The -O2 option to gcc triggers a gcc bug on  DEC  Alpha
398      in  dstream.cc.  You should turn off this flag for this
399
400
401      file.
402
403
404 EXAMPLE
405
406
407 This is what I type in my xterm:
408
409
410
411
412
413
414           lilypond someinput.ly
415           tex someinput.tex
416           xdvi someinput&
417
418
419
420
421
422 This is what the output looks like over here:
423
424
425
426
427
428
429           GNU LilyPond 0.0.78 #4/FlowerLib 1.1.24 #0
430           Parsing ... [/home/hw/share/lilypond/init//
431                <..etc..>
432                init//performer.ly]]][input/kortjakje.ly]
433           Creating elements ...[8][16][24][25]
434           Preprocessing elements...
435           Calculating column positions ... [14][25]
436           Postprocessing elements...
437           TeX output to someinput.tex ...
438           Creating MIDI elements ...MIDI output to someinput.midi ...
439
440
441           hw:~/musix/spacer$ xdvi someinput&
442           [1] 855
443
444
445
446
447
448 Check out the input files, some of them have comments Please
449 refer to the man page for more information.
450
451
452 9: REDHAT LINUX
453
454
455 RedHat  Linux  users  can  compile an RPM. A spec file is in
456 make/out/lilypond.spec, it is  distributed  along  with  the
457 sources.
458
459 You can make the rpm by issuing
460
461
462
463
464
465           rpm -tb lilypond-x.y.z.tar.gz
466           rpm -i /usr/src/redhat/RPMS/i386/lilypond-x.y.z
467
468
469
470
471
472
473 10: DEBIAN GNU/LINUX
474
475
476 A  Debian  package  is  also  available; contact Anthony Fok
477 foka@debian.org <foka@debian.org>.  The build scripts are in
478 the subdirectory debian/.
479
480
481 11: WINDOWS NT/95
482
483
484 Separate instructions on building for W32 are avaible in the
485 file README-W32.yo.
486
487
488 12: AUTHORS
489
490
491 Han-Wen Nienhuys <hanwen@cs.uu.nl>
492
493 Jan Nieuwenhuizen <janneke@gnu.org>
494
495 Have fun!