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