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