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