]> git.donarmstrong.com Git - lilypond.git/blob - INSTALL.txt
release: 1.0.7
[lilypond.git] / INSTALL.txt
1
2 TITLE INFORMATION: INSTALL - compiling and installing GNU LilyPond 
3 AUTHOR INFORMATION: HWN & JCN 
4
5 Contents 
6
7 1: ABSTRACT 
8 2: PREREQUISITES 
9 3: RUNNING 
10 4: RECOMMENDED 
11 5: WEBSITE 
12 6: CONFIGURING and COMPILING 
13 7: CONFIGURING FOR MULTIPLE PLATFORMS 
14 8: INSTALLING 
15 9: REDHAT LINUX 
16 10: DEBIAN GNU/LINUX 
17 11: WINDOWS NT/95 
18 12: AUTHORS 
19
20 1: ABSTRACT
21
22 You do something which looks remotely like
23
24         configure    # Check out the buildscripts/set-lily.sh script
25         make
26         make install
27
28 The detailed instructions follow here.  The
29 buildscripts/set-lily.sh script sets some environment variables
30 and symlinks, which comes in handly when you have to compile LilyPond
31 very often.  It is aimed at people who run (or debug) LilyPond without 
32 installing.
33
34 2: PREREQUISITES
35
36 For compilation you need:
37
38 o A GNU system: GNU LilyPond is known to run on these GNU systems: Linux
39     (PPC, intel), FreeBSD, AIX, NeXTStep, IRIX, Digital Unix and
40 Solaris.
41
42 o Lots of disk space: LilyPond takes between 50 and 100 mb to
43 compile if you use debugging information.  If you are short on
44 disk-space run configure with --disable-debugging.
45
46 Although we recommend to use Unix, LilyPond is known to run on Windows
47 NT/95/98 as well.  See Section [w32].
48
49 o  GNU C++ version 2.7 or newer (2.8 and egcs are also fine).
50 o  Python 1.5 (Strictly speaking, you shouldn't need Python for 
51    compiling and installing, but you'll need it to regenerate the font
52    tables, e.g.). 
53
54 3: RUNNING
55
56 GNU LilyPond does use a lot of resources. For operation you need the following:
57
58 o TeX
59 o A PostScript printer and/or viewer (such as Ghostscript) is strongly
60     recommended.  Xdvi will show all embedded PostScript too if you have
61     Ghostscript installed.
62
63 4: RECOMMENDED
64
65 Although not strictly necessary, these are recommended to have.
66
67 o GNU make. 
68 Check out ftp://ftp.gnu.org
69 or any mirror of this site.
70
71 o Flex (version 2.5.4 or newer). 
72 Check out ftp://ftp.gnu.org
73 or any mirror of this site.
74 o Bison (version 1.25 or newer).
75 Check out ftp://ftp.gnu.org
76 or any mirror of this site.
77
78 o Python (version 1.5 or newer).  Check out
79 ftp://ftp.python.org or ftp://ftp.cwi.nl/pub/python.
80
81 o Yodl.  All documentation will be in Yodl. (1.30.17)
82 ftp://pcnov095.win.tue.nl/pub/yodl
83     http://www.cs.uu.nl/~hanwen/yodl
84 o Texinfo. (version 3.12 or newer)
85
86 o GNU find
87 Check out ftp://ftp.gnu.org
88 or any mirror of this site.
89
90 o The geometry package for LaTeX is needed to use ly2dvi.  
91     Available at 
92 ftp://ftp.ctan.org/tex-archive/macros/latex/contrib/supported/geometry
93 or at mirror site ftp://ftp.dante.de
94
95 o  A fast computer (a full page of music typically takes 1 minute on my
96     486/133, using the --enable-checking compile. It's lot slower than
97     most MusiXTeX preprocessors)
98
99 5: WEBSITE
100
101 If you want to auto-generate Lily's website, you'll need some additional
102 conversion tools.
103
104 o xpmtoppm (from the Portable Bitmap Utilities) (For RedHat Linux
105              users: it is included within the package libgr-progs).
106 o Bib2html http://pertsserver.cs.uiuc.edu/~hull/bib2html.
107     Which, in turn depends on man2html for proper installation.
108 man2html can be had from http://askdonald.ask.uni-karlsruhe.de/hppd/hpux/Networking/WWW/Man2html-1.05.
109
110     TeTeX users should not forget to rerun texhash.
111
112 6: CONFIGURING and COMPILING
113
114 to install GNU LilyPond, simply type:
115
116         configure  --enable-tex-dir=XXXX --enable-mf-dir=YYYY
117         make
118         make install
119
120 This will install a number of files, something close to:
121
122         /usr/local/man/man1/mi2mu.1
123         /usr/local/man/man1/convert-mudela.1
124         /usr/local/man/man1/mudela-book.1
125         /usr/local/man/man1/lilypond.1
126         /usr/local/bin/lilypond
127         /usr/local/bin/mi2mu
128         /usr/local/share/lilypond/*
129         /usr/local/share/locale/{it,nl}/LC_MESSAGES/lilypond.mo
130         /usr/lib/texmf/texmf/tex/lilypond/* 
131
132 You should specify directories that are in TeX's and MetaFont's
133 include path with the options (--enable-tex-dir) and
134 --enable-mf-dir.  If you don't specify any directories, the TeX
135 include directory is detected dynamically, which is unreliable.  The
136 above assumes that you are root and have the GNU development tools,
137 and your make is GNU make.  If this is not the case, you can adjust
138 your environment variables to your taste:
139
140         export CPPFLAGS="-I /home/me/my_include -DWEIRD_FOOBAR" 
141         configure
142
143 CPPFLAGS are the preprocessor flags. 
144
145 The configure script is Cygnus configure, and it will accept
146 --help. If you are not root, you will probably have to make it
147 with a different --prefix option.  Our favourite location is
148
149         configure --prefix=$HOME/usr
150
151 In this case, you will have to set up MFINPUTS, and TEXINPUTS accordingly.
152
153 If you want to install GNU LilyPond in /usr/local, and your TeX has
154 no default hooks for local stuff, you can do:
155
156         configure --prefix=/usr/local --enable-tex-prefix=/usr/lib/texmf
157
158 Since GNU LilyPond currently is beta, you are advised to also use
159
160         --enable-debugging
161         --enable-checking
162
163 Other options include:
164
165 o --enable-shared
166     Make a shared library (gnu/linux, solaris (?) only )  (TEMPORARILY
167 OUT OF ORDER)
168
169 o --enable-printing
170     Enable debugging print routines (lilypond -D option)
171 o --enable-optimise
172     Set maximum optimisation: compile with -O2
173 o --enable-profiling
174     Compile with support for profiling.
175 o --enable-tex-prefix
176     Set the directory where TeX and Metafont live.
177 o --enable-tex-dir
178     Set then directory TeX input is in (detected as a subdir of
179     tex-prefix).  This should be a directory that is reachable both for
180     tex and latex.  On my system the best choice would be
181     /usr/lib/texmf/texmf/tex/generic//.
182 o --enable-mf-dir
183     Set the directory metafont input is in (idem).   On my system the best
184     choice would be /usr/lib/texmf/texmf/fonts/source/public/.
185 o --enable-config
186     Output to a different configuration file.  Needed for multi-platform
187     builds
188
189 All options are documented in the configure help
190 The option --enable-optimise is recommended for Real Life usage.
191
192 If you do
193
194         make all
195
196 everything will be compiled, but nothing will be installed.  The
197 resulting binaries can be found in the subdirectories out/ (which
198 contain all files generated during compilation).
199
200 7: CONFIGURING FOR MULTIPLE PLATFORMS
201
202 If you want to compile LilyPond with different configuration settings,
203 then, you can use the --enable-config option.  Example: suppose I
204 want to build with and   without profiling.  Then I'd use the
205 following for the normal build, 
206
207       configure --prefix=~ --disable-optimise --enable-checking
208       make
209       make install
210
211 and for the profiling version, I specify a different configuration.
212
213       configure --prefix=~ --enable-profiling --enable-config=optprof --enable-optimise --disable-checking
214       make config=optprof
215       make config=optprof install
216
217 8: INSTALLING
218
219 If you have done a successful make, then a simple
220
221         make install
222
223 should do the trick.
224
225 If you are doing an upgrade, please remember to remove obsolete
226 .pk and .tfm files of the fonts.  A script has been
227 provided to do the work for you, see bin/clean-fonts.sh.
228
229 CAVEATS
230
231 o The -O2 option to gcc triggers a gcc bug on DEC Alpha in dstream.cc. You
232     should turn off this flag for this file.
233
234 EXAMPLE
235
236 This is what I type in my xterm:
237
238         lilypond someinput.ly
239         tex someinput.tex
240         xdvi someinput&
241
242 This is what the output looks like over here:
243
244         GNU LilyPond 0.0.78 #4/FlowerLib 1.1.24 #0
245         Parsing ... [/home/hw/share/lilypond/init//
246                 <..etc..>
247                 init//performer.ly]]][input/kortjakje.ly]
248         Creating elements ...[8][16][24][25]
249         Preprocessing elements... 
250         Calculating column positions ... [14][25]
251         Postprocessing elements...
252         TeX output to someinput.tex ...
253         Creating MIDI elements ...MIDI output to someinput.midi ...
254
255         hw:~/musix/spacer$ xdvi someinput&
256         [1] 855
257
258 Check out the input files, some of them have comments
259 Please refer to the man page for more information.
260
261 9: REDHAT LINUX
262
263 RedHat Linux users can compile an RPM. A spec file is in
264 make/out/lilypond.spec.  You should install a gif file called
265 lelie_icon.gif along with the sources.  You can generate this
266 gif file by typing
267
268      make gifs
269
270 in the directory Documentation.
271
272 You can make the rpm by issuing
273
274         make rpm
275
276 10: DEBIAN GNU/LINUX
277
278 A Debian package is also available; contact Anthony Fok
279 <foka@debian.org>.  The build scripts are in the subdirectory debian/
280
281 11: WINDOWS NT/95
282
283 Separate instructions on building for W32 are avaible
284 in the file README-W32.yo.
285
286 12: AUTHORS
287
288 Han-Wen Nienhuys <hanwen@cs.uu.nl>
289
290 Jan Nieuwenhuizen <janneke@gnu.org>
291
292 Have fun!