]> git.donarmstrong.com Git - lilypond.git/blob - INSTALL.txt
release: 1.1.67
[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 hiddeously big, slow and bloated program.  A
115 fast CPU and plenty of RAM is  recommended  for  comfortable
116 use.
117
118 5: WEBSITE
119
120 If  you  want  to  auto-generate Lily's website, you'll need
121 some additional conversion tools.
122
123 o    xpmtoppm (from the Portable Bitmap Utilities) (For Red-
124      Hat  Linux  users:  it  is  included within the package
125      libgr-progs).  the original is at  ftp://ftp.x.org/con-
126      trib/utilities/netpbm-1mar1994.p1.tar.gz
127
128 o    pnmtopng,  which is also in libgr-progs for RedHat. The
129      original                     is                      at
130      ftp://swrinde.nde.swri.edu/pub/png/applications/pnm-
131      topng-2.37.2.tar.gz.i
132
133      The version of pnmtopng that is distributed with RedHat
134      5.1  and  5.2  contains  a bug: pnmtopng is dynamically
135      linked to the wrong version of  libpng.   Recompile  it
136      from  source, and make sure that the pnmtopng binary is
137      linked statically to the libpng  that  is  included  in
138      libgr.  RedHat 6.0 does not have this problem.
139
140            tar xzf libgr-2.0.13.tar.gz
141                 make
142                 cd png
143                 rm libpng.so*
144                 make pnmtopng
145
146      You   can   then   install   the   new   pnmtopng  into
147      /usr/local/bin/
148
149 o    Bib2html http://pertsserver.cs.uiuc.edu/~hull/bib2html.
150      Which, in turn depends on man2html for proper installa-
151      tion.   man2html  can  be   had   from   http://askdon-
152      ald.ask.uni-karlsruhe.de/hppd/hpux/Network-
153      ing/WWW/Man2html-1.05.
154
155      The website will build without this  utility,  but  you
156      will not see our hypertextified bibliography.
157
158 You  also  have  to install buildscripts/out/ps-to-gifs in a
159 directory that is in the path.
160
161 6: CONFIGURING and COMPILING
162
163 to install GNU LilyPond, simply type:
164
165           gunzip -c lilypond-x.y.z | tar xf -
166           cd lilypond-x.y.z
167           ./configure         # fill in your standard prefix with --prefix
168           make
169           make install
170
171 This will install a number of files, something close to:
172
173           /usr/local/man/man1/mi2mu.1
174           /usr/local/man/man1/convert-mudela.1
175           /usr/local/man/man1/mudela-book.1
176           /usr/local/man/man1/lilypond.1
177           /usr/local/bin/lilypond
178           /usr/local/bin/mi2mu
179           /usr/local/share/lilypond/*
180           /usr/local/share/locale/{it,nl}/LC_MESSAGES/lilypond.mo
181
182 The above assumes that you are root and have the GNU  devel-
183 opment tools, and your make is GNU make.  If this is not the
184 case, you can adjust  your  environment  variables  to  your
185 taste:
186
187           export CPPFLAGS="-I /home/me/my_include -DWEIRD_FOOBAR"
188           ./configure
189
190 CPPFLAGS are the preprocessor flags.
191
192 The configure script is Cygnus configure, and it will accept
193 --help. If you are not root, you will probably have to  make
194 it with a different --prefix option.  Our favourite location
195 is
196
197           ./configure --prefix=$HOME/usr
198
199 In this case, you will have to set up MFINPUTS,  and  TEXIN-
200 PUTS accordingly.
201
202 Since  GNU  LilyPond  currently  is beta, you are advised to
203 also use
204
205           --enable-debugging
206           --enable-checking
207
208 Options to configure include:
209
210 --enable-printing
211      Enable debugging print routines (lilypond -D option)
212
213 --enable-optimise
214      Set maximum optimisation: compile with -O2.   This  can
215      be  unreliable  on  some compiler/platform combinations
216      (eg, DEC Alpha and PPC)
217
218 --enable-profiling
219      Compile with support for profiling.
220
221 --enable-config
222      Output to a different configuration file.   Needed  for
223      multi-platform builds
224
225 All  options are documented in the configure help The option
226 --enable-optimise is recommended for Real Life usage.
227
228 If you do
229
230           make all
231
232 everything will be compiled, but nothing will be  installed.
233 The  resulting  binaries  can be found in the subdirectories
234 out/ (which contain all files generated during compilation).
235
236 7: CONFIGURING FOR MULTIPLE PLATFORMS
237
238 If you want to compile LilyPond with different configuration
239 settings, then, you  can  use  the  --enable-config  option.
240 Example:  suppose I want to build with and   without profil-
241 ing.  Then I'd use the following for the normal build,
242
243            ./configure --prefix=~ --disable-optimise --enable-checking
244            make
245            make install
246
247 and for the profiling version, I specify a different config-
248 uration.
249
250            ./configure --prefix=~ --enable-profiling --enable-config=optprof --enable-optimise --disable-checking
251            make config=optprof
252            make config=optprof install
253
254 8: INSTALLING
255
256 If you have done a successful make, then a simple
257
258           make install
259
260 should do the trick.
261
262 If you are doing an upgrade, please remember to remove obso-
263 lete .pk and .tfm files of the fonts.   A  script  has  been
264 provided to do the work for you, see bin/clean-fonts.sh.
265
266 CAVEATS
267
268 o    The  -O2  option   triggers   bugs on various platforms
269      (PowerPC, Alpha).   If  you  experience  problems,  you
270
271      should first try  turning off this.
272
273 o    On PPC you need at least EGCS-1.1.2f.
274
275 9: REDHAT LINUX
276
277 RedHat  Linux  users  can  compile an RPM. A spec file is in
278 make/out/lilypond.spec, it is  distributed  along  with  the
279 sources.
280
281 You can make the rpm by issuing
282
283           rpm -tb lilypond-x.y.z.tar.gz
284           rpm -i /usr/src/redhat/RPMS/i386/lilypond-x.y.z
285
286 Precompiled i386 RedHat RPMS are available from ftp://fresh-
287 meat.net/pub/rpms/lilypond/.
288
289 10: DEBIAN GNU/LINUX
290
291 A Debian package is  also  available;  contact  Anthony  Fok
292 foka@debian.org.   The build scripts are in the subdirectory
293 debian/.
294
295 11: WINDOWS NT/95
296
297 Separate instructions on building for W32 are avaible in the
298 file README-W32.yo.
299
300 12: AUTHORS
301
302 Han-Wen Nienhuys <hanwen@cs.uu.nl>
303
304 Jan Nieuwenhuizen <janneke@gnu.org>
305
306 In case of problems, please use the mailing list for help.
307
308 Have fun!