]> git.donarmstrong.com Git - lilypond.git/blob - INSTALL.txt
release: 1.1.44
[lilypond.git] / INSTALL.txt
1
2       INSTALL - compiling and installing GNU LilyPond
3
4                          HWN & JCN
5
6 Contents
7
8      1: ABSTRACT
9 2: OBTAINING
10 3: PREREQUISITES
11 4: RUNNING
12 5: RECOMMENDED
13 6: WEBSITE
14 7: CONFIGURING and COMPILING
15 8: CONFIGURING FOR MULTIPLE PLATFORMS
16 9: INSTALLING
17 10: REDHAT LINUX
18 11: DEBIAN GNU/LINUX
19 12: WINDOWS NT/95
20 13: AUTHORS
21
22 1: ABSTRACT
23
24 This  document  explains  what you need to install LilyPond,
25 and what you should do.  If you are  going  to  compile  and
26 install  LilyPond  often,  e.g.  when doing development, you
27 might want to check out the buildscripts/set-lily.sh script.
28 It sets some environment variables and symlinks, which comes
29 in handly when you have to compile LilyPond more often.
30
31 2: OBTAINING
32
33 You  can   get   the   latest   version   of   LilyPond   at
34 ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/.   Refer  to  the links
35 document for mirror sites.
36
37 If you upgrade by patching do  remember  to  rerun  autoconf
38 after applying the patch.
39
40 3: PREREQUISITES
41
42 For compilation you need:
43
44 o    A GNU system: GNU LilyPond is known to run on these GNU
45      systems: Linux (PPC, intel),  FreeBSD,  AIX,  NeXTStep,
46      IRIX, Digital Unix and Solaris.
47
48 o    Lots  of  disk space: LilyPond takes between 50 and 100
49      mb to compile if you use debugging information.  If you
50      are  short  on disk-space run configure with --disable-
51      debugging.
52
53      Although we recommend to use Unix, LilyPond is known to
54      run on Windows NT/95/98 as well.  See Section 12.
55
56 o    EGCS 1.1 or newer.
57
58 o    Python  1.5  (Strictly  speaking,  you  shouldn't  need
59      Python for compiling and installing, but you'll need it
60      to regenerate the font tables, e.g.).
61
62 o    GUILE  1.3  (no,  GUILE  1.2  won't  work),  check  out
63      http://www.gnu.org/software/guile/guile.html.
64
65 4: RUNNING
66
67 GNU LilyPond does use a lot of resources. For operation  you
68 need the following:
69
70 o    TeX
71
72 o    A   PostScript   printer   and/or   viewer   (such   as
73      Ghostscript) is strongly recommended.  Xdvi  will  show
74      all  embedded  PostScript  too  if you have Ghostscript
75      installed.
76
77 o    GUILE  1.3  (no,  GUILE  1.2  won't  work),  check  out
78      http://www.gnu.org/programs/guile.html
79
80 For  running  LilyPond successfully you have to help TeX and
81 MetaFont find various files.  The recommended way  of  doing
82 so  is  adjusting  the environment variables in the start-up
83 scripts of your shell.  An example is  given  here  for  the
84 Bourne shell:
85
86      export MFINPUTS="/usr/local/share/lilypond/mf:"
87      export TEXINPUTS="/usr/local/share/lilypond/tex:/usr/local/share/lilypond/ps:"
88
89 The  empty path component represents  and MetaFont's default
90 search paths.  Scripts with the proper paths for the  bourne
91 and   C-shell   respectively   are   generated   in   build-
92 scripts/out/lilypond-profile and  buildscripts/out/lilypond-
93 login during compilation.
94
95 5: RECOMMENDED
96
97 Although  not  strictly  necessary, these are recommended to
98 have.
99
100 o    GNU make.  Check out ftp://ftp.gnu.org or any mirror of
101      this site.
102
103 o    Flex    (version    2.5.4   or   newer).    Check   out
104      ftp://ftp.gnu.org or any mirror of this site.
105
106 o    Bison   (version   1.25   or   newer).     Check    out
107      ftp://ftp.gnu.org or any mirror of this site.
108
109 o    GUILE  1.3  (no,  GUILE  1.2  won't  work),  check  out
110      http://www.gnu.org/programs/guile.html.
111
112 o    Python   (version   1.5   or   newer).     Check    out
113      ftp://ftp.python.org or ftp://ftp.cwi.nl/pub/python.
114
115 o    Yodl.   All  documentation  will  be in Yodl. (1.30.17)
116      ftp://ftp.lilypond.org/pub/yodl
117      http://www.cs.uu.nl/~hanwen/yodl
118
119 o    Texinfo. (version 3.12 or newer)
120
121 o    GNU  find  Check out ftp://ftp.gnu.org or any mirror of
122      this site.
123
124 o    The geometry package for LaTeX is needed to use ly2dvi.
125      Available           at          ftp://ftp.ctan.org/tex-
126      archive/macros/latex/contrib/supported/geometry  or  at
127      mirror site ftp://ftp.dante.de
128
129 o    A fast computer: a full page of music typically takes 1
130      minute on my 486/133, using the --enable-checking  com-
131      pile.
132
133 6: WEBSITE
134
135 If  you  want  to  auto-generate Lily's website, you'll need
136 some additional conversion tools.
137
138 o    xpmtoppm (from the Portable Bitmap Utilities) (For Red-
139      Hat  Linux  users:  it  is  included within the package
140      libgr-progs).
141
142 o    Bib2html http://pertsserver.cs.uiuc.edu/~hull/bib2html.
143      Which, in turn depends on man2html for proper installa-
144      tion.   man2html  can  be   had   from   http://askdon-
145      ald.ask.uni-karlsruhe.de/hppd/hpux/Network-
146      ing/WWW/Man2html-1.05.
147
148      TeTeX users should not forget to rerun texhash.
149
150 Building the website requires pnmtopng.  The version of pnm-
151 topng  that  is  distributed  with RedHat 5.1 contains a bug
152 (pnmtopng is dynamically linked  to  the  wrong  version  of
153 libpng).   Recompile  it from source, and make sure that the
154 pnmtopng binary is linked statically to the libpng  that  is
155
156 included in libgr.
157
158       tar xzf libgr-2.0.13.tar.gz
159            make
160            cd png
161            rm libpng.so*
162            make pnmtopng
163
164 You can then install the new pnmtopng into /usr/local/bin/
165
166 7: CONFIGURING and COMPILING
167
168 to install GNU LilyPond, simply type:
169
170           gunzip -c lilypond-x.y.z | tar xf -
171           cd lilypond-x.y.z
172           ./configure         # fill in your standard prefix with --prefix
173           make
174           make install
175
176 This will install a number of files, something close to:
177
178           /usr/local/man/man1/mi2mu.1
179           /usr/local/man/man1/convert-mudela.1
180           /usr/local/man/man1/mudela-book.1
181           /usr/local/man/man1/lilypond.1
182           /usr/local/bin/lilypond
183           /usr/local/bin/mi2mu
184           /usr/local/share/lilypond/*
185           /usr/local/share/locale/{it,nl}/LC_MESSAGES/lilypond.mo
186
187 The  above assumes that you are root and have the GNU devel-
188 opment tools, and your make is GNU make.  If this is not the
189 case,  you  can  adjust  your  environment variables to your
190 taste:
191
192           export CPPFLAGS="-I /home/me/my_include -DWEIRD_FOOBAR"
193           ./configure
194
195 CPPFLAGS are the preprocessor flags.
196
197 The configure script is Cygnus configure, and it will accept
198 --help.  If you are not root, you will probably have to make
199 it with a different --prefix option.  Our favourite location
200 is
201
202           ./configure --prefix=$HOME/usr
203
204 In  this  case, you will have to set up MFINPUTS, and TEXIN-
205 PUTS accordingly.
206
207 Since GNU LilyPond currently is beta,  you  are  advised  to
208 also use
209
210           --enable-debugging
211           --enable-checking
212
213 Options to configure include:
214
215 --enable-printing
216      Enable debugging print routines (lilypond -D option)
217
218 --enable-optimise
219      Set  maximum  optimisation: compile with -O2.  This can
220      be unreliable on  some  compiler/platform  combinations
221      (eg, DEC Alpha and PPC)
222
223 --enable-profiling
224      Compile with support for profiling.
225
226 --enable-config
227      Output  to  a different configuration file.  Needed for
228      multi-platform builds
229
230 All options are documented in the configure help The  option
231 --enable-optimise is recommended for Real Life usage.
232
233 If you do
234
235           make all
236
237 everything  will be compiled, but nothing will be installed.
238 The resulting binaries can be found  in  the  subdirectories
239 out/ (which contain all files generated during compilation).
240
241 8: CONFIGURING FOR MULTIPLE PLATFORMS
242
243 If you want to compile LilyPond with different configuration
244 settings,  then,  you  can  use  the --enable-config option.
245 Example: suppose I want to build with and   without  profil-
246 ing.  Then I'd use the following for the normal build,
247
248            ./configure --prefix=~ --disable-optimise --enable-checking
249            make
250            make install
251
252 and for the profiling version, I specify a different config-
253 uration.
254
255            ./configure --prefix=~ --enable-profiling --enable-config=optprof --enable-optimise --disable-checking
256            make config=optprof
257            make config=optprof install
258
259 9: INSTALLING
260
261 If you have done a successful make, then a simple
262
263           make install
264
265 should do the trick.
266
267 If you are doing an upgrade, please remember to remove obso-
268 lete  .pk  and  .tfm  files of the fonts.  A script has been
269 provided to do the work for you, see bin/clean-fonts.sh.
270
271 CAVEATS
272
273 o    The -O2 option  triggers   bugs  on  various  platforms
274      (PowerPC,  Alpha).   If  you  experience  problems, you
275
276      should first try  turning off this.
277
278 EXAMPLE
279
280 This is what I type in my xterm:
281
282           lilypond someinput.ly
283           tex someinput.tex
284           xdvi someinput&
285
286 This is what the output looks like over here:
287
288           GNU LilyPond 0.0.78 #4/FlowerLib 1.1.24 #0
289           Parsing ... [/home/hw/share/lilypond/init//
290                <..etc..>
291                init//performer.ly]]][input/kortjakje.ly]
292           Creating elements ...[8][16][24][25]
293           Preprocessing elements...
294           Calculating column positions ... [14][25]
295           Postprocessing elements...
296           TeX output to someinput.tex ...
297           Creating MIDI elements ...MIDI output to someinput.midi ...
298
299           hw:~/musix/spacer$ xdvi someinput&
300           [1] 855
301
302 Check out the input files, some of them have comments Please
303 refer to the man page for more information.
304
305 10: REDHAT LINUX
306
307 RedHat  Linux  users  can  compile an RPM. A spec file is in
308 make/out/lilypond.spec, it is  distributed  along  with  the
309 sources.
310
311 You can make the rpm by issuing
312
313           rpm -tb lilypond-x.y.z.tar.gz
314           rpm -i /usr/src/redhat/RPMS/i386/lilypond-x.y.z
315
316 11: DEBIAN GNU/LINUX
317
318 A  Debian  package  is  also  available; contact Anthony Fok
319 foka@debian.org.  The build scripts are in the  subdirectory
320 debian/.
321
322 12: WINDOWS NT/95
323
324 Separate instructions on building for W32 are avaible in the
325 file README-W32.yo.
326
327 13: AUTHORS
328
329 Han-Wen Nienhuys <hanwen@cs.uu.nl>
330
331 Jan Nieuwenhuizen <janneke@gnu.org>
332
333 Have fun!