


INSTALL(1)            LilyPond documentation           INSTALL(1)


NAME
       INSTALL - installing GNU LilyPond

DESCRIPTION
       This page documents installation and compilation of GNU
       LilyPond

ABSTRACT
       You do something which looks remotely like

               configure
               make
               make install

       The detailed instructions follow here.

PREREQUISITES
       For compilation you need.

       o    A GNU system: GNU LilyPond is known to run on these
            GNU systems: Linux (PPC, intel), FreeBSD, AIX,
            NeXTStep, IRIX, Digital Unix and Solaris.

            If you have the Cygnus WINDOWS32 port of the GNU
            utils, it will even work in Windows NT/95, but we
            don't promise to support it.

       o    GNU C++ version 2.7 or newer (yes, 2.8 is fine).

       o    Python

RUNNING
       GNU LilyPond does use a lot of resources. For operation
       you need the following:

       o    TeX

       o    A PostScript printer and/or viewer (such as
            Ghostscript) is strongly recommended.  Xdvi will show
            all embedded PostScript too if you have Ghostscript
            installed.

RECOMMENDED
       Although not strictly necessary, these are recommended to
       have.

       o    GNU make.

       o    Flex (version 2.5.4 or newer).

       o    Bison (version 1.25 or newer).

       o    Perl-5.  Most documentation was created with the
            perl's Plain Old Documentation. (I use 5.003)



25/Apr/98                LilyPond 0.1.59                        1





INSTALL(1)            LilyPond documentation           INSTALL(1)


       o    Python.  Although perl is nice, python is better.  We
            will shift towards python for build scripts

       o    GNU find

       o    A fast computer (a full page of music typically takes
            1 minute on my 486/133, using the --enable-checking
            compile. It's lot slower than most MusiXTeX
            preprocessors)

CONFIGURING and COMPILING
       to install GNU LilyPond, simply type:

               configure
               make
               make install

       This will install the following files:

               /usr/local/man/man1/mi2mu.1
               /usr/local/man/man1/convert-mudela.1
               /usr/local/man/man1/mudela-book.1
               /usr/local/man/man1/lilypond.1
               /usr/local/lib/libflower.{so,a}
               /usr/local/bin/lilypond
               /usr/local/bin/mi2mu
               /usr/local/share/lilypond/*
               /usr/lib/texmf/texmf/tex/lilypond/*

       The TeX include directory is detected dynamically, but it
       can be adjusted with --enable-tex-prefix and --enable-tex-
       dir. The above assumes that you are root and have the GNU
       development tools, and your make is GNU make.  If this is
       not the case, you can adjust your environment variables to
       your taste:

               export CPPFLAGS="-I /home/me/my_include -DWEIRD_FOOBAR"
               configure

       CPPFLAGS are the preprocessor flags.

       the configure script is Cygnus configure, and it will
       accept --help. If you are not root, you will probably have
       to make it with

               configure --prefix=/home/me_myself_and_I/

       In this case, you will have to set MFINPUTS, and TEXINPUTS
       accordingly.

       If you want to install GNU LilyPond in /usr/local, and
       your TeX has no default hooks for local stuff (mine is
       broken too), you can do:




25/Apr/98                LilyPond 0.1.59                        2





INSTALL(1)            LilyPond documentation           INSTALL(1)


               configure --prefix=/usr/local --enable-tex-prefix=/usr/lib/texmf

       Since GNU LilyPond currently is beta, you are advised to
       also use

               --enable-debugging
               --enable-checking

       other options include:

       --enable-shared
           Make a shared library (gnu/linux, solaris (?) only )

       --enable-printing
           Enable debugging print routines (lilypond -d option)

       --enable-optimise
           Set maximum optimisation: compile with -O2

       --enable-profiling
           Compile with support for profiling

       --enable-tex-prefix
           Set the directory where TeX and Metafont live

       --enable-tex-dir
           Set then directory TeX input is in (detected as a
           subdir of tex-prefix)

       --enable-mf-dir
           Set the directory mf input is in (idem)

       --enable-config
           Output to different configuration files.  Needed for
           multi-platform builds

       All options are documented in the configure help The
       option --enable-optimise is recommended for Real Life
       usage.

       If you do

               make all

       everything will be compiled, but nothing will be
       installed.  The resulting binaries can be found in the
       subdirectories out/ (which contain all files generated
       during compilation).

CONFIGURING FOR MULTIPLE PLATFORMS
       If you want to compile LilyPond with different
       configuration settings, then, you can use the --enable-
       config option.  Example: suppose I want to build with and
       without profiling.  Then I'd use the following for the



25/Apr/98                LilyPond 0.1.59                        3





INSTALL(1)            LilyPond documentation           INSTALL(1)


       normal build,

             configure --prefix=~ --disable-optimise --enable-checking
             make
             make install

       and for the profiling version, I specify a different
       configuration.

             configure --prefix=~ --enable-profiling --enable-config=optprof --enable-optimise --disable-checking
             make configuration=optprof
             make configuration=optprof install


INSTALLING
       If you have done a successful make, then a simple

               make install

       should do the trick.

       If you are doing an upgrade, please remember to remove
       obsolete .pk and .tfm files of the fonts.  A script has
       been provided to do the work, see bin/clean-fonts.sh.

CAVEATS
       o    The -O2 option to gcc triggers a gcc bug on DEC Alpha
            in dstream.cc. You should turn off this flag for this
            file.

       o    Perl5.003 and Perl5.004 use different syntax for
            pod2html.

EXAMPLE
       This is what I type in my xterm:

               lilypond someinput.ly
               tex someinput.tex
               xdvi someinput&

       This is what the output looks like over here:

               GNU LilyPond 0.0.78 #4/FlowerLib 1.1.24 #0
               Parsing ... [/home/hw/share/lilypond/init//
                       <..etc..>
                       init//performer.ly]]][input/kortjakje.ly]
               Creating elements ...[8][16][24][25]
               Preprocessing elements...
               Calculating column positions ... [14][25]
               Postprocessing elements...
               TeX output to someinput.tex ...
               Creating MIDI elements ...MIDI output to someinput.midi ...





25/Apr/98                LilyPond 0.1.59                        4





INSTALL(1)            LilyPond documentation           INSTALL(1)


               hw:~/musix/spacer$ xdvi someinput&
               [1] 855

       Check out the input files, some of them have comments
       Please refer to the man page for more information.

REDHAT LINUX
       RedHat Linux users should be able to get a RPM. A spec
       file is in make/out/lilypond.spec. You should be able to
       create an rpm as a normal user. Be sure you have a
       ~/.rpmrc, and edit the RPM-dir in Variables.make. (If you
       create the RPM as a normal user the permissions will not
       be set correctly, unfortunately)

DEBIAN GNU/LINUX
       A Debian package is also available; contact Anthony Fok
       <foka@debian.org>.  The build scripts are in the
       subdirectory debian/

WINDOWS NT/95
       So, you're stuck with Windows, eh?  Well, don't worry, you
       just need (to get) Cygnus' windows32 port of gnu
       development stuff; have a look at
       http://www.cygnus.com/gnu-win32.

       To make GNU LilyPond under, brr, aargh, shudder...
       windows32, well, simply type:

               bash configure
               make

       Note If you rely on broken DOS/Windows tools such as
       pkzip/WinZIP to unpack the distribution, make sure the
       entire source tree is unpacked correctly, in particular
       the empty out directories (flower/out, lib/out et. al.)

AUTHORS
       Han-Wen Nienhuys <hanwen@cs.ruu.nl>

       Jan Nieuwenhuizen <jan@digicash.com>

       Have fun!















25/Apr/98                LilyPond 0.1.59                        5


