lilypond-0.1.56
[lilypond.git] / INSTALL
blob27b5c95138e7587d1945d6380f35971764084b6a
4 INSTALL(1)            LilyPond documentation           INSTALL(1)
7 NAME
8        INSTALL - installing GNU LilyPond
10 DESCRIPTION
11        This page documents installation and compilation of GNU
12        LilyPond
14 ABSTRACT
15        You do something which looks remotely like
17                configure
18                make
19                make install
21        The detailed instructions follow here.
23 PREREQUISITES
24        For compilation you need.
26        o    A GNU system: GNU LilyPond is known to run on these
27             GNU systems: Linux (PPC, intel), FreeBSD, AIX,
28             NeXTStep, IRIX, Digital Unix and Solaris.
30             If you have the Cygnus WINDOWS32 port of the GNU
31             utils, it will even work in Windows NT/95, but we
32             don't promise to support it.
34        o    GNU C++ version 2.7 or newer (yes, 2.8 is fine).
36        o    GNU make.
38        o    Flex (version 2.5.1 or newer).
40        o    Bison (version 1.25 or newer).
42 RUNNING
43        GNU LilyPond does use a lot of resources. For operation
44        you need the following:
46        o    TeX
48        o    A PostScript printer and/or viewer (such as
49             Ghostscript) is strongly recommended.  Xdvi will show
50             all embedded PostScript too if you have Ghostscript
51             installed.
53 RECOMMENDED
54        Although not strictly necessary, these are recommended to
55        have.
57        o    Perl-5.  Most documentation was created with the
58             perl's Plain Old Documentation. (I use 5.003)
64 13/Mar/98                LilyPond 0.1.48                        1
70 INSTALL(1)            LilyPond documentation           INSTALL(1)
73        o    Python.  Although perl is nice, python is better.  We
74             will shift towards python for build scripts
76        o    GNU find
78        o    A fast computer (a full page of music typically takes
79             1 minute on my 486/133, using the --enable-checking
80             compile. It's lot slower than most MusiXTeX
81             preprocessors)
83 CONFIGURING and COMPILING
84        to install GNU LilyPond, simply type:
86                configure
87                make install
89        This will install the following files:
91                /usr/local/man/man1/mi2mu.1
92                /usr/local/man/man1/convert-mudela.1
93                /usr/local/man/man1/mudela-book.1
94                /usr/local/man/man1/lilypond.1
95                /usr/local/lib/libflower.{so,a}
96                /usr/local/bin/lilypond
97                /usr/local/bin/mi2mu
98                /usr/local/share/lilypond/*
99                /usr/lib/texmf/texmf/tex/lilypond/*
101        The TeX include directory is detected dynamically, but it
102        can be adjusted with --enable-tex-prefix and --enable-tex-
103        dir. The above assumes that you are root and have the GNU
104        development tools, and your make is GNU make.  If this is
105        not the case, you can adjust your environment variables to
106        your taste:
108                export CPPFLAGS="-I /home/me/my_include -DWEIRD_FOOBAR"
109                configure
111        CPPFLAGS are the preprocessor flags.
113        the configure script is Cygnus configure, and it will
114        accept --help. If you are not root, you will probably have
115        to make it with
117                configure --prefix=/home/me_myself_and_I/
119        In this case, you will have to set MFINPUTS, and TEXINPUTS
120        accordingly.
122        If you want to install GNU LilyPond in /usr/local, and
123        your TeX has no default hooks for local stuff (mine is
124        broken too), you can do:
126                configure --prefix=/usr/local --enable-tex-prefix=/usr/lib/texmf
130 13/Mar/98                LilyPond 0.1.48                        2
136 INSTALL(1)            LilyPond documentation           INSTALL(1)
139        Since GNU LilyPond currently is beta, you are advised to
140        also use
142                --enable-debugging
143                --enable-checking
145        other options include:
147        --enable-shared
148            Make a shared library (gnu/linux, solaris (?) only )
150        --enable-printing
151            Enable debugging print routines (lilypond -d option)
153        --enable-optimise
154            Set maximum optimisation: compile with -O2
156        --enable-profiling
157            Compile with support for profiling
159        --enable-tex-prefix
160            Set the directory where TeX and Metafont live
162        --enable-tex-dir
163            Set then directory TeX input is in (detected as a
164            subdir of tex-prefix)
166        --enable-mf-dir
167            Set the directory mf input is in (idem)
169        --enable-out-dir
170            Set the directory for machine generated output.
172        All options are documented in the configure help The
173        option --enable-optimise is recommended for Real Life
174        usage.
176        If you do
178                make all
180        everything will be compiled, but nothing will be
181        installed.  The resulting binaries can be found in the
182        subdirectories out/ (which contain all files generated
183        during compilation).
185        Building for multiple hosts
187        LilyPond does not follow the GNU standards when it comes
188        to configuring and making Makefiles. In LilyPond, make
189        generates all output in output directories (called out/,
190        by default).  You can have multiple compiles from the same
191        source-tree, by overriding the setting for the output
192        directory.
196 13/Mar/98                LilyPond 0.1.48                        3
202 INSTALL(1)            LilyPond documentation           INSTALL(1)
205        Example: on my system, I do debugging and lots compiling.
206        For this I use the configuration as follows:
208                configure --prefix=~ --enable-debugging --enable-printing --enable-checking
209                make all
211        and I want to do profiling. For that I use
213                configure --prefix=~ --enable-debugging --disable-printing\
214                        --disable-checking --enable-profiling --enable-optimise\
215                        --enable-out-dir=out-profile
217                make OUTDIR_NAME=out-profile all
219        These two commands build two entirely separate versions of
220        LilyPond. In Real Life, you would probably also want to
221        have two different prefixes. On my machine this is no
222        problem; I never do make install. My prefix dirs are
223        linked back to my source directory.
225 INSTALLING
226        If you have done a successful make, then a simple
228                make install
230        should do the trick.
232        If you are doing an upgrade, please remember to remove
233        obsolete .pk and .tfm files of the fonts.  A script has
234        been provided to do the work, see bin/clean-fonts.sh.
236 CAVEATS
237        o    The -O2 option to gcc triggers a gcc bug on DEC Alpha
238             in dstream.cc. You should turn off this flag for this
239             file.
241        o    Perl5.003 and Perl5.004 use different syntax for
242             pod2html.
244 EXAMPLE
245        This is what I type in my xterm:
247                lilypond someinput.ly
248                tex someinput.tex
249                xdvi someinput&
251        This is what the output looks like over here:
262 13/Mar/98                LilyPond 0.1.48                        4
268 INSTALL(1)            LilyPond documentation           INSTALL(1)
271                GNU LilyPond 0.0.78 #4/FlowerLib 1.1.24 #0
272                Parsing ... [/home/hw/share/lilypond/init//
273                        <..etc..>
274                        init//performer.ly]]][input/kortjakje.ly]
275                Creating elements ...[8][16][24][25]
276                Preprocessing elements...
277                Calculating column positions ... [14][25]
278                Postprocessing elements...
279                TeX output to someinput.tex ...
280                Creating MIDI elements ...MIDI output to someinput.midi ...
282                hw:~/musix/spacer$ xdvi someinput&
283                [1] 855
285        Check out the input files, some of them have comments
286        Please refer to the man page for more information.
288 REDHAT LINUX
289        RedHat Linux users should be able to get a RPM. A spec
290        file is in make/out/lilypond.spec. You should be able to
291        create an rpm as a normal user. Be sure you have a
292        ~/.rpmrc, and edit the RPM-dir in Variables.make. (If you
293        create the RPM as a normal user the permissions will not
294        be set correctly, unfortunately)
296 DEBIAN GNU/LINUX
297        A Debian package is also available; contact Anthony Fok
298        <foka@debian.org>.  The build scripts are in the
299        subdirectory debian/
301 WINDOWS NT/95
302        So, you're stuck with Windows, eh?  Well, don't worry, you
303        just need (to get) Cygnus' windows32 port of gnu
304        development stuff; have a look at
305        http://www.cygnus.com/gnu-win32.
307        To make GNU LilyPond under, brr, aargh, shudder...
308        windows32, well, simply type:
310                bash configure
311                make
313        Note If you rely on broken DOS/Windows tools such as
314        pkzip/WinZIP to unpack the distribution, make sure the
315        entire source tree is unpacked correctly, in particular
316        the empty out directories (flower/out, lib/out et. al.)
318 MUSIXTEX
319        Previous versions (before 0.1.39) used fonts from the TeX
320        macro package "MusixTeX".  You can still use these, but
321        they are not supported.  Since LilyPond's Feta font is
322        much prettier, you'd be seriously misguided if you used
323        them, but anyway, here are the installation instructions
324        for those deprecated fonts.
328 13/Mar/98                LilyPond 0.1.48                        5
334 INSTALL(1)            LilyPond documentation           INSTALL(1)
337        [obsolete] I use the MusixTeX fonts those found in
338        MusixTeX T.73. Beware, the clef symbol seems to have
339        changed its position in some versions, (notably Egler's,
340        a.k.a. OpusTeX). The MusixTeX fonts are included in
341        MusixTeX (T73 or newer), which can be had from any CTAN
342        site, e.g. at
344        ftp://ftp.shsu.edu/tex-archive/macros/musixtex/taupin
346        ftp://ftp.tex.ac.uk/tex-archive/macros/musixtex/taupin
348        ftp://ftp.dante.de/tex-archive/macros/musixtex/taupin
350        You only need the contents of the mf/ subdirectory of the
351        package. The primary site of the Taupin version is
352        ftp://hprib.lps.u-psud.fr/pub/music_zips/musixtex.zip
354        Install the musixtex fonts in a directory which TeX and MF
355        knows (if you are root, look for a directory which
356        contains the directories with AMS and CM source (*.mf)
357        files. Create a subdir lilypond or musixtex and copy the
358        fonts into that). Do not forget to rehash TeX (if
359        applicable)
361        Example: my fonts are in
362        /usr/local/lib/texfonts/musixtex/, and I have a symlink
363        pointing to that in
364        /usr/lib/texmf/texmf/fonts/source/public/. After I copied
365        the files, I ran "texhash"
367        Andreas Egler's version of MusixTeX, now called OpusTeX,
368        will also work. Andreas moved some characters around in
369        the fonts, so you have to edit the definitions in
370        tex/eglerdefs.tex.
372 AUTHORS
373        Han-Wen Nienhuys <hanwen@cs.ruu.nl>
375        Jan Nieuwenhuizen <jan@digicash.com>
377        Have fun!
394 13/Mar/98                LilyPond 0.1.48                        6