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