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