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