]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/topdocs/INSTALL.texi
release: 1.3.92
[lilypond.git] / Documentation / topdocs / INSTALL.texi
index 440404cb13267526dfd50b95bbbd622cc752d9c3..c414acdcc574a97a3a210acc966e548ee9c4df01 100644 (file)
@@ -7,16 +7,6 @@
 
 @chapter INSTALL - compiling and installing GNU LilyPond
 
-
-@section Abstract
-
-This document explains what you need to install LilyPond, and what you
-should do.  If you are going to compile and install LilyPond often,
-e.g. when doing development, you might want to check out the 
-@file{buildscripts/set-lily.sh} script.  It sets some environment 
-variables and symlinks, which comes in handly when you have to compile 
-LilyPond more often.  
-
 @section Obtaining
 
 You can get the latest version of LilyPond at
@@ -45,7 +35,7 @@ For compilation you need:
 @itemize @bullet
 @item A GNU system: GNU LilyPond is known to run on these GNU systems: Linux
     (PPC, intel), FreeBSD, AIX, NeXTStep, IRIX, Digital Unix and
-Solaris.
+    Solaris.
 
 @item Lots of disk space: LilyPond takes between 30 and 100 mb to
 compile if you use debugging information.  If you are short on
@@ -55,24 +45,32 @@ disk-space run configure with @code{--disable-debugging}.
 Although we recommend to use Unix, LilyPond is known to run on Windows
 NT/95/98 as well.  See Section Windows NT/95,es.
 
-@item  EGCS 1.1 or newer. Check out @uref{ftp://ftp.gnu.org/pub/gcc/}.
+@item  EGCS 1.1 or newer. Check out @uref{ftp://ftp.gnu.org/gnu/gcc/}.
 
 @item  Python 1.5,
 Check out
 @uref{ftp://ftp.python.org} or @uref{ftp://ftp.cwi.nl/pub/python}.
 
-@item  GUILE 1.3.4,  check out @uref{http://www.gnu.org/software/guile/guile.html,http://www.gnu.org/software/guile/guile.html}.
+@item  GUILE 1.3.4 or newer,  check out
+@uref{http://www.gnu.org/software/guile/guile.html,http://www.gnu.org/software/guile/guile.html}.
+Version 1.4 is recommended for better performance.
 
-@item GNU make. 
-Check out @uref{ftp://ftp.gnu.org/make/,ftp://ftp.gnu.org/make/}.
+@item GNU Make. 
+Check out
+@uref{ftp://ftp.gnu.org/gnu/make/,ftp://ftp.gnu.org/gnu/make/}.
 
-@item Flex (version 2.5.4 or newer). 
-Check out @uref{ftp://ftp.gnu.org/flex/,ftp://ftp.gnu.org/flex/}.
+@item Flex (version 2.5.4a or newer). 
+Check out @uref{ftp://ftp.gnu.org/gnu/flex/,ftp://ftp.gnu.org/gnu/flex/}.
 
 @item Bison (version 1.25 or newer).
-Check out @uref{ftp://ftp.gnu.org/bison/,ftp://ftp.gnu.org/bison/}.
+Check out @uref{ftp://ftp.gnu.org/gnu/bison/,ftp://ftp.gnu.org/gnu/bison/}.
+
+@item 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.
 
-@item Texinfo. Check out @uref{ftp://ftp.gnu.org/pub/texinfo/,ftp://ftp.gnu.org/pub/texinfo/}.
+@item Texinfo (version 4.0 or newer). 
+Check out @uref{ftp://ftp.gnu.org/gnu/texinfo/,ftp://ftp.gnu.org/gnu/texinfo/}.
 Most documentation is in texinfo.
 
 @item The geometry package for LaTeX is needed to use ly2dvi.  
@@ -80,9 +78,16 @@ Available at
 @uref{ftp://ftp.ctan.org/tex-archive/macros/latex/contrib/supported/geometry,ftp://ftp.ctan.org/tex-archive/macros/latex/contrib/supported/geometry}
 or at mirror site @uref{ftp://ftp.dante.de,ftp://ftp.dante.de}
 
-@item MetaPost, if you want to use direct PostScript output. Please
-note  that  tetex-0.4pl8 (included with Redhat 5.x) does not include
-@file{mfplain.mp}, which is needed  for producing the scaleable font files.
+@item MetaPost, needed for generating PostScript fonts. Please
+note that tetex-0.4pl8 (included with Redhat 5.x) does not include
+@file{mfplain.mp}, which is needed for producing the scalable font
+files.
+
+If you do not want to use PostScript output, edit @file{mf/GNUmakefile},
+removing the line saying @code{PFA_FILES=}
+
+@item kpathsea, a library for searching (TeX) files.  @code{kpathsea} is
+usually included with your installation of TeX. 
 
 @end itemize
 
@@ -92,41 +97,37 @@ GNU LilyPond does use a lot of resources. For operation you need the
 following software
 
 @itemize @bullet
-@item TeX
+@item TeX.
 @item A PostScript printer and/or viewer (such as Ghostscript) is strongly
     recommended.  Xdvi will show all embedded PostScript too if you have
     Ghostscript installed.
 @item  GUILE 1.3.4, check out @uref{http://www.gnu.org/programs/guile.html,http://www.gnu.org/software/guile/}
 @end itemize
 
-For running LilyPond successfully you have to help TeX and MetaFont
-find various files.  The recommended way of doing so is adjusting the
-environment variables in the start-up scripts of your shell.  An
-example is given here for the Bourne shell:
-@example 
-export MFINPUTS="/usr/local/share/lilypond/mf:"
-export TEXINPUTS="/usr/local/share/lilypond/tex:/usr/local/share/lilypond/ps:"
-@end example 
+For running LilyPond successfully you have to help TeX and MetaFont find
+various files.  The recommended way of doing so is adjusting the
+environment variables in the start-up scripts of your shell. Appropriate
+Csh and sh scripts are left in @file{buildscripts/out/lilypond-profile}
+and @file{buildscripts/out/lilypond-login} after compilation.
 
-The empty path component
-represents TeX and MetaFont's default search paths.  Scripts with
-the proper paths for the bourne and C-shell respectively are generated in
-@file{buildscripts/out/lilypond-profile} and
-@file{buildscripts/out/lilypond-login} during compilation. 
+The empty path component represents TeX and MetaFont's default search
+paths.  Scripts with the proper paths for the bourne and C-shell
+respectively are generated in @file{buildscripts/out/lilypond-profile}
+and @file{buildscripts/out/lilypond-login} during compilation.
 
-LilyPond is a hiddeously big, slow and bloated program.  A fast CPU
-and plenty of RAM is recommended for comfortable use.
+LilyPond is a big and slow program.  A fast CPU and plenty of RAM is
+recommended for comfortable use.
 
 @section Website
 
 The website is the most convenient form to use for reading the
 documentation on-line documentation. It is made by entering @example 
 
-  make website
+  make htmldoc
  
 @end example 
-This does require a fully functioning
+This does require a  functioning  LilyPond. The binary doesn't have to
+be installed. 
 
 If you want to auto-generate Lily's website, you'll need some additional
 conversion tools.
@@ -143,60 +144,45 @@ at
 
 The version of @file{pnmtopng} that is distributed with RedHat 5.1 and
 5.2 contains a bug: pnmtopng is dynamically linked to the wrong
-version of libpng, which results in cropped images.  Recompile it from 
-source, and make sure that the pnmtopng binary is linked statically to 
-the libpng that is included in libgr.  RedHat 6.0 does not have this 
-problem.
+version of libpng.
 
-@example 
- tar xzf libgr-2.0.13.tar.gz
-      make
-      cd png
-      rm libpng.so*
-      make pnmtopng
-@end example 
-
-You can then install the new pnmtopng into @file{/usr/local/bin/}
-
-@item Bib2html @uref{http://pertsserver.cs.uiuc.edu/~hull/bib2html.,http://pertsserver.cs.uiuc.edu/~hull/bib2html.}
+@item @uref{http://pertsserver.cs.uiuc.edu/~hull/bib2html,Bib2html}.
     Which, in turn depends on man2html for proper installation.
 man2html can be had from @uref{http://askdonald.ask.uni-karlsruhe.de/hppd/hpux/Networking/WWW/Man2html-1.05,http://askdonald.ask.uni-karlsruhe.de/hppd/hpux/Networking/WWW/Man2html-1.05}.
 
 The website will build without this utility, but you will not see our
 hypertextified bibliography.
 
-@item Doc++ (optional) to read the source code.
-
 @end itemize
 
 @section Configuring and compiling
 
 to install GNU LilyPond, simply type:
 @example 
-
        gunzip -c lilypond-x.y.z | tar xf -
        cd lilypond-x.y.z
        ./configure             # fill in your standard prefix with --prefix
        make
        make install
 @end example 
 
 This will install a number of files, something close to:
 
 @example 
-       /usr/local/man/man1/mi2mu.1
+       /usr/local/man/man1/midi2ly.1
+       /usr/local/man/man1/abc2ly.1
+       /usr/local/man/man1/etf2ly.1
        /usr/local/man/man1/convert-mudela.1
        /usr/local/man/man1/mudela-book.1
        /usr/local/man/man1/lilypond.1
        /usr/local/bin/lilypond
-       /usr/local/bin/mi2mu
+       /usr/local/bin/midi2ly
        /usr/local/bin/convert-mudela
        /usr/local/bin/mudela-book
        /usr/local/bin/abc2ly
+       /usr/local/bin/etf2ly
        /usr/local/share/lilypond/*
-       /usr/local/share/locale/@{it,nl@}/LC_MESSAGES/lilypond.mo
+       /usr/local/share/locale/@{....@}/LC_MESSAGES/lilypond.mo
 @end example 
 
 
@@ -283,9 +269,9 @@ and for the profiling version, I specify a different configuration.
 
 @example 
 
-      ./configure --prefix=~ --enable-profiling --enable-config=optprof --enable-optimise --disable-checking
-      make config=optprof
-      make config=optprof install
+      ./configure --prefix=~ --enable-profiling --enable-config=prof --enable-optimise --disable-checking
+      make config=prof
+      make config=prof install
  
 @end example 
 
@@ -322,8 +308,7 @@ You can make the rpm by issuing
 @end example 
 
 Precompiled i386 RedHat RPMS are available from
-@uref{ftp://freshmeat.net/pub/rpms/lilypond/,ftp://freshmeat.net/pub/rpms/lilypond/} and
-@uref{http://linux.umbc.edu/software/lilypond/rpms/,http://linux.umbc.edu/software/lilypond/rpms/}.
+@uref{ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/RedHat/}.
 
 For compilation on a RedHat system you need these packages,
 in addition to the those needed for running:
@@ -334,13 +319,41 @@ in addition to the those needed for running:
 @item flex
 @item bison
 @item texinfo
+@item tetex-devel
 @end itemize
 
 @section Debian GNU/linux
 
-A Debian package is also available; contact Anthony Fok
-@email{foka@@debian.org}.  The build scripts are in the subdirectory
-@file{debian/}.
+A Debian package is also available; see
+@uref{http://packages.debian.org/lilypond,http://packages.debian.org/lilypond}
+or contact Anthony Fok @email{foka@@debian.org} for more information.
+
+The build scripts are in the subdirectory @file{debian/}; you can
+make the .deb by doing
+
+@example 
+
+       tar xzf lilypond-x.y.z.tar.gz
+       cd lilypond-x.y.z
+       dpkg-buildpackage
+       dpkg -i ../lilypond_x.y.z*deb
+@end example 
+
+For compilation on a Debian GNU/Linux system you need these packages,
+in addition to the those needed for running:
+@itemize @bullet
+@item libc6-dev
+@item libstdc++<your-libstdc++-version-here>-dev
+@item libguile<your-libguile-version-here>-dev
+@item flex
+@item bison
+@item gettext
+@item texinfo
+@item tetex-dev
+@item debhelper
+@end itemize
+
 
 @section Windows NT/95
 
@@ -356,15 +369,15 @@ mailing your problems.
 If you find bugs, please send bug reports to
 @email{bug-gnu-music@@gnu.org}.
 
-Known bugs that are LilyPond's fault are listed in @file{TODO}, or
-demonstrated in @file{input/bugs/}.
+Bugs that are LilyPond's fault are listed in our TODO list on the
+web, or demonstrated in @file{input/bugs/}.
 
-Known bugs that are not LilyPond's fault are documented here.
+Bugs that are not LilyPond's fault are documented here.
 
 
 @unnumbered LinuxPPC Bugs:
 
-@itemize
+@itemize @bullet
 @item egcs-1.1.2-12c (stock LinuxPPC R5) has a serious bug, upgrade to 
 fixed in egcs-1.1.2-12f or gcc-2.95-0a, @uref{ftp://dev.linuxppc.org/users/fsirl/R5/RPMS/ppc/}
 
@@ -377,7 +390,7 @@ Lily herself will break.
 
 @unnumbered Linux-i386
 
-@itemize
+@itemize @bullet
 @item SuSE6.2 and similar platforms (glibc 2.1, libstdc++ 2.9.0)
 
 Lily will crash during parsing (which suggests a C++ library
@@ -420,7 +433,7 @@ versions (LinuxPPC feb '98, RedHat 4.x).
 
 @unnumbered Solaris:
 
-@itemize
+@itemize @bullet
 @item Sparc64/Solaris 2.6, GNU make-3.77
 
 GNU make-3.77 is buggy on this platform, upgrade to 3.78.1 or newer.
@@ -434,7 +447,7 @@ Not yet resolved.
 
 @unnumbered AIX
 
-@itemize
+@itemize @bullet
 @item AIX 4.3 ld
 
 The following is from the gcc install/SPECIFIC file.