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