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