]> git.donarmstrong.com Git - lilypond.git/blobdiff - INSTALL.txt
release: 1.4.2
[lilypond.git] / INSTALL.txt
index 411a5e943f38955be1e53d24baab5c8fdc04f32f..3366d09d1119698f53ef06c9050bc93fdb84e576 100644 (file)
 
 
+Table of Contents
+*****************
+
+
+
+
+INSTALL - compiling and installing GNU LilyPond
+  Downloading
+    source code
+    Binaries
+    Upgrading
+  Requirements
+    Compilation
+    Running requirements
+    Website requirements
+  Building  LilyPond
+    Configuring for multiple platforms
+  Emacs mode
+  Compiling for distributions
+    Red Hat Linux
+    LinuxPPC
+    SuSE
+    Slackware
+    Mandrake
+    Debian GNU/Linux
+  Problems
+    NetBSD
+    Solaris:
+    AIX
+
+
 INSTALL - compiling and installing GNU LilyPond
 ***********************************************
 
-Obtaining
-=========
+   This document describes how to build LilyPond on Unix platforms.  It
+is also known to run and compile on Windows NT/95/98 as well.  More
+information on this topic can be found at the LilyPond on Windows page
+(http://www.lilypond.org/gnu-windows/).
+
+Downloading
+===========
+
+   Even numbered versions are `stable'. The webpages for the stable
+version (1.2) reside on the GNU servers
+(http://www.gnu.org/software/lilypond). Big enhancements go into the
+latest odd numbered version (1.3), whose webpages are on the lilypond
+site (http://www.lilypond.org/).
 
-   You can get the latest version of LilyPond at
-ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/
-(ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/).
+source code
+-----------
 
-   There are three options for downloading sources.
+   If you want to compile LilyPond from source, download here:
+   * Download development releases from
+     `ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/' by FTP and
+     `http://ftp.cs.uu.nl/pub/GNU/LilyPond/', by HTTP.
 
-   * if you don't have any version, then you can  download  the entire
-     `.tar.gz' file.
+   * `ftp://sca.uwaterloo.ca/pub/' by FTP (Canadian mirror)
 
-   * if you have an unpacked source   tree of a previous version, you
-     may use the diffs .
+   * at `lilypond.org' `ftp://ftp.lilypond.org/pub/LilyPond/' by FTP and
+     `http://www.lilypond.org/ftp/' by HTTP.
+
+Binaries
+--------
+
+   Binaries are available, but are not updated for every version
+released.
+   * Red Hat i386
+     (ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/binaries/RedHat/RPMS/)
+
+   * LinuxPPC (ftp://ftp.lilypond.org/pub/LilyPond/binaries/linuxppc/)
+
+   * Debian GNU/Linux
+     (ftp://ftp.debian.org/debian/pool/main/l/lilypond/)
+
+   * Windows Stable (http://home.austin.rr.com/jbr/jeff/lilypond/)
+     Windows Testing (http://www.lilypond.org/gnu-windows/)
+
+
+Upgrading
+---------
+
+   There are two options for upgrading sources.
+
+   * if you have an unpacked source tree of a previous version, you may
+     the patches.
 
      _If you upgrade by patching do remember to rerun autoconf after
      applying the patch_.
 
    * if you have the `.tar.gz' file of a previous release, you can use
      xdelta (ftp://ftp.xcf.berkeley.edu/pub/xdelta/).   This is much
-     safer than using normal diffs, and is the recommended way.
+     safer than using patches, and is the recommended way.
 
-     The following command produces `lilypond-1.3.122.tar.gz' from
-     `lilypond-1.3.121' identical (up to compression dates) to the .122
-     on the FTP site.
-            xdelta patch lilypond-1.3.121-1.3.122.xd lilypond-1.3.121.tar.gz
+     The following command produces `lilypond-1.4.1.tar.gz' from
+     `lilypond-1.4.0.tar.gz' identical (up to compression dates) to the
+     .1 on the FTP site.
+            xdelta patch lilypond-1.4.0-1.4.1.xd lilypond-1.4.0.tar.gz
 
-Build requirements
-==================
+Requirements
+============
 
-   This document describes how to build LilyPond on Unix platforms.  It
-is also known to run and compile on Windows NT/95/98 as well.  More
-information on this topic can be found at Jan's windows page
-(http://appel.lilypond.org/lilypond/gnu-windows/).
+Compilation
+-----------
 
    You need the following packages to compile Lilypond.
 
@@ -60,9 +126,12 @@ information on this topic can be found at Jan's windows page
 
    * TeX.
 
-     If you want LilyPond to use kpathsea support (recommended), make
-     sure you have tetex 1.0 or newer (1.0.6 is known to work).  You
-     may need to install a tetex-devel or tetex-dev package too.
+     TeX is used as an output backend.
+
+     Also, TeX's libkpathsea is used to find the fonts (`.mf', `.afm',
+     `.tfm').  Make sure you have tetex 1.0 or newer (1.0.6 is known to
+     work).  You may need to install a tetex-devel or tetex-dev package
+     too.
 
    * Texinfo (version 4.0 or newer).  The documentation of lily is
      written in texinfo.  Check out the texinfo FTP directory
@@ -83,18 +152,27 @@ information on this topic can be found at Jan's windows page
      `PFA_FILES='.
 
    * kpathsea, a library for searching (TeX) files.  `kpathsea' is
-     usually included with your installation of TeX.
+     usually included with your installation of TeX.  You may need to
+     install a tetex-devel or tetex-dev package too.
+
+     In the very unlikely case that kpathsea is not available for your
+     platform (ie, you're not running GNU/Linux, Windows, or any recent
+     UNIX), you can compile LilyPond without kpathsea support.  In that
+     case, you'll probably have to indicate where TeX's tfm files live.
+     Invoke configure something like:
+
+          ./configure --without-kpathsea --enable-tfm-path=/usr/share/texmf/fonts/tfm/public/cm/:/usr/share/texmf/fonts/tfm/ams/symbols
 
 
 Running requirements
-====================
+--------------------
 
    GNU LilyPond does use a lot of resources. For operation you need the
 following software
 
    * TeX.
 
-   * Xdvi and ghostscript
+   * Xdvi and Ghostscript
 
    * GUILE 1.3.4, or newer.  Check out the GUILE webpage
      (http://www.gnu.org/software/guile.html)
@@ -110,7 +188,7 @@ Csh and bourne sh scripts are left in
 recommended for comfortable use.
 
 Website requirements
-====================
+--------------------
 
    The documentation comes in the form of a website. You can view this
 website on the internet, but you can also build it locally. This process
@@ -119,7 +197,7 @@ issuing
 
        make web-doc
 
-   Building the website requires  some additional tools:
+   Building the website requires some additional tools:
 
    * xpmtoppm (from the netpbm package: the Portable Bitmap Utilities).
      The original is at the netpbm FTP site
@@ -139,9 +217,14 @@ issuing
      The website will build without bib converter utility, but you will
      not see our hypertextified bibliography.
 
+   * texinfo (a development release) The documentation will build with
+     texinfo-4.0, but if you want split html pages, you're best off
+     using the lates pretest version from texinfo-4.0b
+     (ftp://texinfo.org/texinfo/pretests/texinfo-4.0b.tar.gz) or
+     texinfo-4.0b (ftp://alpha.gnu.org/gnu/texinfo-4.0b.tar.gz)
 
-Configuring and compiling
-=========================
+Building  LilyPond
+==================
 
    to install GNU LilyPond, type:
        gunzip -c lilypond-x.y.z | tar xf -
@@ -165,7 +248,7 @@ points into your home directory, eg.
 `buildscripts/out/lilypond-profile' into your start up scripts by hand.
 
 Configuring for multiple platforms
-==================================
+----------------------------------
 
    If you want to build multiple versions of LilyPond with different
 configuration settings, you can use the `--enable-config=CONF' option
@@ -191,72 +274,124 @@ Emacs mode
 `lilypond-mode.el' and `lilypond-font-lock.el'.  If you have an RPM, it
 is in `/usr/share/doc/lilypond-X/'.  You have to install it yourself.
 
-   Add this to your ~/.emacs or ~/.emacs.el:
+   Add this to your `~/.emacs' or `~/.emacs.el':
          (load-library "lilypond-mode.el")
          (setq auto-mode-alist
            (cons '("\\.ly$" . LilyPond-mode) auto-mode-alist))
          (add-hook 'LilyPond-mode-hook (lambda () (turn-on-font-lock)))
 
-   If you have the latest LilyPond-1.3.x Debian package, LilyPond-mode
+   If you have the latest LilyPond-1.4.x Debian package, LilyPond-mode
 is automatically loaded, so you need not modify your `~/.emacs' file.
 
+Compiling for distributions
+===========================
+
 Red Hat Linux
-=============
+-------------
 
    Red Hat 7.0 i386 RPMS are available from
-`ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/RedHat/'.
+`ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/binaries/'.
 
    You can also compile them yourself.  A spec file is in
-`make/out/lilypond.spec'. This file is distributed along with the
+`make/out/redhat.spec'. This file is distributed along with the
 sources.  You can make the rpm by issuing
 
-       rpm -tb lilypond-x.y.z.tar.gz
+             tar xfz lilypond-x.y.z.tar.gz
+       rpm -bb lilypond-x.y.z/make/out/redhat.spec
        rpm -i /usr/src/redhat/RPMS/i386/lilypond-x.y.z
 
    For running on a Red Hat system you need these packages: guile,
-tetex, tetex-dvips, libstdc++, python, ghostscript.
+tetex, tetex-latex, tetex-dvips, libstdc++, python, ghostscript.
 
    For compilation on a Red Hat system you need these packages, in
 addition to the those needed for running: glibc-devel, gcc-c++,
 libstdc++-devel, guile-devel, flex, bison, texinfo, tetex-devel, groff,
 libgr-progs.
 
+   Warning
+
+   There appears to be a problem with the Xdvi shipped with Red Hat 7.1.
+Symptoms: Xdvi responds very sluggishly or hangs while viewing lilypond
+output. The cause for this problem is unknown; you are advised to
+recompile Xdvi from source.
+
+LinuxPPC
+--------
+
+   Some LinuxPPC RPMS should available from
+`ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/binaries/'.
+
+   A LinuxPPC RPM can be made using the `redhat.spec' file.
+
 SuSE
-====
+----
 
-   [TODO: document this]
+   Some SUSE RPMS should available from
+`ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/binaries/'.
 
-   Install `tetex', `te_mpost', `te_kpath'.
+   You can also compile a RPM for SUSE yourself.  A spec file is in
+`make/out/suse.spec', see the instructions for building the Red Hat RPM.
+
+   You must have the following packages: guile tcsh tetex te_latex
+te_kpath te_mpost libpng python gpp libgpp gettext autoconf netpbm
+libnetpb gs_serv gs_lib gs_fonts guile
+
+Slackware
+---------
+
+   No precompiled packages for Slackware are available.
+
+   Problems have been reported with Slackware 7.0; apparently, it ships
+with a faulty compiler. Do not compile LilyPond with -O2 on this
+platform.
 
 Mandrake
-========
+--------
 
-   [TODO]
+   Some binaries are available at rpmfind.net. Refer to
+`ftp://ftp.rpmfind.net/linux/Mandrake-devel/cooker/contrib/RPMS/'.
 
 Debian GNU/Linux
-================
+----------------
 
    A Debian package is also available.  You may install it easily by
-using apt-get as root:
-
-       apt-get install lilypond1.3
+running `apt-get' as root:
+
+       apt-get install lilypond
+
+   Debian's TeX installation is a bit short on memory, you may want to
+increase it like this:
+     --- /etc/texmf/texmf.cnf.dpkg     Sun Jan 28 14:12:14 2001
+     +++ /etc/texmf/texmf.cnf  Fri Apr 27 11:09:35 2001
+     @ -384,8 +384,8 @
+      main_memory.context = 1500000
+      main_memory.mpost = 1000000
+      main_memory = 263000 % words of inimemory available; also applies to inimf&mp
+     -extra_mem_top = 0    % extra high memory for chars, tokens, etc.
+     -extra_mem_bot = 0    % extra low memory for boxes, glue, breakpoints, etc.
+     +extra_mem_top = 100000    % extra high memory for chars, tokens, etc.
+     +extra_mem_bot = 100000    % extra low memory for boxes, glue, breakpoints, etc.
+     
+      obj_tab_size.context = 256000
+
+   You could also export `extra_mem_top' and `extra_mem_bot' as
+environment variables if you do not want to or cannot modify
+`/etc/texmf/texmf.cnf'.
 
    Alternatively, visit
 
    * http://packages.debian.org/lilypond
      (http://packages.debian.org/lilypond)
 
-   * http://ftp.debian.org/debian/pool/main/l/lilypond1.3/
-     (http://ftp.debian.org/debian/pool/main/l/lilypond1.3/) for latest
-     package uploaded to Debian unstable;
-
    * http://people.debian.org/~foka/lilypond/
      (http://people.debian.org/~foka/lilypond/) for latest
-     semi-unofficial build of LilyPond 1.3.121 for Debian 2.2r2
-     (potato) users.  The official stable Debian 2.2r2 is stuck with
-     the old LilyPond-1.3.24.
+     semi-unofficial build of LilyPond 1.3.121 for Debian 2.2 (potato)
+     users.  The official stable Debian 2.2 is stuck with the old
+     LilyPond-1.3.24.  Since LilyPond-1.4 has been released, the older
+     lilypond1.3 Debian package is now obsolete.
 
-   You may contact Anthony Fok <foka@debian.org> for more information.
+   Please contact Anthony Fok <lilypond@packages.debian.org> for more
+information.
 
    The build scripts are in the subdirectory `debian/'; you can make
 the .deb by doing, for example:
@@ -264,40 +399,45 @@ the .deb by doing, for example:
        $ su - root
        # dpkg --purge lilypond lilypond1.3
        # exit
-       $ tar xzf lilypond-1.3.122.tar.gz
-       $ cd lilypond-1.3.122
-       $ dch -p -v 1.3.122-0.local.1 "Local build."
+       $ tar xzf lilypond-1.4.1.tar.gz
+       $ cd lilypond-1.4.1
+       $ dch -p -v 1.4.1-0.local.1 "Local build."
        $ debuild
        $ su - root
-       # dpkg -i ../lilypond1.3_1.3.122*.deb
+       # dpkg -i ../lilypond_1.4.1*.deb
        # exit
        $
 
    For compilation on a Debian GNU/Linux system you need these packages,
 in addition to the those needed for running:
 
-   * g++, cpp, libc6-dev, libstdc++<your-libstdc++-version-here>-dev
+   * g++, cpp, libc6-dev, libstdc++<YOUR-LIBSTDC++-VERSION-HERE>-dev
 
-   * libguile<your-libguile-version-here>-dev
+   * libguile<YOUR-LIBGUILE-VERSION-HERE>-dev
 
    * make, m4, flex, bison
 
    * gettext
 
-   * groff, texinfo, bibtex2html (not in 2.2r2)
+   * groff, texinfo
+
+   * bibtex2html (not in Debian 2.2)
 
    * tetex-base, tetex-bin, tetex-extra, libkpathsea-dev or tetex-dev
 
    * dpkg-dev, debhelper, fakeroot
 
-   * gs, netpbm, pnmtopng
+   * gs, netpbm
 
-   Most of these are listed on the Build-Depends line in the
-debian/control file.  To ensure the creation of the lilypond deb is
+   * pnmtopng (only in Debian 2.2; pnmtopng has been merged with netpbm
+      in Debian testing/unstable.)
+
+   Most of these are listed on the `Build-Depends' line in the
+`debian/control' file.  To ensure the creation of the lilypond deb is
 trouble-free, we recommend that you first install the following packages
-before starting dpkg-buildpackage by running apt-get as root.
+by running \`apt-get' as root before building the package:
 
-   For Debian 2.2 (or 2.2r2, 2.2r3):
+   For Debian 2.2:
 
        apt-get install task-debian-devel task-c++-dev \
                python-base libguile6-dev tetex-bin tetex-dev \
@@ -309,7 +449,7 @@ before starting dpkg-buildpackage by running apt-get as root.
        apt-get install task-debian-devel task-c++-dev \
                python-base libguile9-dev tetex-bin libkpathsea-dev \
                tetex-extra flex bison texinfo bibtex2html groff gs \
-               netpbm pnmtopng m4 gettext
+               netpbm m4 gettext
 
    And, just so that old fonts from previous versions of LilyPond won't
 interfere with your build, you may want to do this before the build too:
@@ -320,14 +460,14 @@ Problems
 ========
 
    For help and questions use <help-gnu-music@gnu.org> and
-<gnu-music-discuss@gnu.org>.  Please consult the faq before mailing
+<gnu-music-discuss@gnu.org>.  Please consult the FAQ before mailing
 your problems.  If you find bugs, please send bug reports to
 <bug-gnu-music@gnu.org>.
 
    Bugs that are not fault of LilyPond are documented here.
 
 NetBSD
-******
+------
 
    * The flex precompiled in NetBSD-1.4.2 is broken.  Download
      flex-2.5.4a, build, install.
@@ -339,7 +479,7 @@ NetBSD
 
 
 Solaris:
-********
+--------
 
    * Sparc64/Solaris 2.6, GNU make-3.77
 
@@ -351,7 +491,7 @@ Solaris:
      Not yet resolved.
 
 AIX
-***
+---
 
    * AIX 4.3 ld