]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/topdocs/INSTALL.texi
release: 1.5.23
[lilypond.git] / Documentation / topdocs / INSTALL.texi
index c9926959fc10b927d21dc6ad36974ac44857552b..e54217156990ed97cfac0856f4076e161749de4a 100644 (file)
@@ -2,6 +2,10 @@
 @setfilename INSTALL.info
 @settitle INSTALL - compiling and installing GNU LilyPond
 
+@html
+<!--- @@WEB-TITLE@@=Installation Instructions --->
+@end html
+
 @node Top, , , (dir)
 @top
 
@@ -28,8 +32,7 @@ servers}. Big enhancements go into the latest odd numbered version
 (1.3), whose webpages are on @uref{http://www.lilypond.org/,the lilypond
 site}.
 
-@subsection  source code
-
+@subsection Source code
 
 If you want to compile LilyPond from source, download here:
 @itemize @bullet
@@ -44,25 +47,42 @@ If you want to compile LilyPond from source, download here:
 @uref{http://www.lilypond.org/ftp/} by HTTP.
 @end itemize
 
+Of course, if your platform supports LilyPond, such as Debian GNU/Linux,
+FreeBSD, OpenBSD or NetBSD, you're encouraged to use the native build
+from source drill.
+
+For Red Hat Linux and SuSE Linux, @file{.spec} files are included in the
+tarball; see instructions below.
+
 @html
 <a name="download-binaries">
 @end html
 
 
 
-@subsection Binaries
+@subsection Precompiled binaries
+
+If you want to track bleeding edge development, try:
+
+@itemize @bullet
+@item @uref{ftp://ftp.debian.org/debian/pool/main/l/lilypond/, Debian
+GNU/Linux} usually has the latest binaries for the most useful stable
+and development versions, while
+@item @uref{http://rpmfind.net/linux/mandrake/cooker/contrib/RPMS/,
+Mandrake Cooker} also provides fairly recent versions.
+@end itemize
+
+Binaries are made available for other popular platforms, but as we need
+to compile them ourselves, they are not updated for every version
+released.
 
-Binaries are available, but are not updated for every version released.
 @itemize @bullet
 @item @uref{ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/binaries/RedHat/RPMS/, Red Hat i386}
-@item @uref{ftp://ftp.lilypond.org/pub/LilyPond/binaries/linuxppc/, LinuxPPC}
-@item @uref{ftp://ftp.debian.org/debian/pool/main/l/lilypond/, Debian GNU/Linux}
+@item @uref{ftp://ftp.lilypond.org/pub/LilyPond/binaries/SuSE, SuSE}
+@item @uref{ftp://ftp.lilypond.org/pub/LilyPond/binaries/linuxppc/,
+LinuxPPC}
 @item
-@c  @uref{http://home.austin.rr.com/jbr/jeff/lilypond/, Windows Stable}
-@c @item @uref{ftp://ftp.lilypond.org/pub/lilypond/gnu-windows, Windows
-@c Testing} 
-@uref{http://www.lilypond.org/gnu-windows/, Windows Testing}
-
+@uref{http://www.lilypond.org/gnu-windows/, Windows}
 @end itemize
 
 @subsection Upgrading
@@ -135,14 +155,6 @@ It is available at
 FTP directory for @code{geometry}}. This package is normally included
 with the @TeX{} distribution.
 
-@item MetaPost, needed for generating PostScript fonts. Please
-note that tetex-0.4pl8 (included with Red Hat 5.x) does not include
-@file{mfplain.mp}, which is needed for producing the scalable font
-files.
-
-If you don't have MetaPost and don't want to use PostScript output, then
-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{}.  You may need to install
 a tetex-devel or tetex-dev package too.
@@ -157,6 +169,23 @@ configure something like:
 ./configure --without-kpathsea --enable-tfm-path=/usr/share/texmf/fonts/tfm/public/cm/:/usr/share/texmf/fonts/tfm/ams/symbols
 @end example
 
+
+@item pktrace, [OPTIONAL], needed for generating PostScript Type1
+fonts. Get it from  @uref{http://www.cs.uu.nl/~hanwen/pktrace/}
+
+@item autotrace-0.27a, [OPTIONAL], needed for generating PostScript Type1
+fonts. @uref{http://autotrace.sourceforge.net}.
+@item MetaPost [OPTIONAL] needed for generating PostScript Type3 fonts. Please
+note that tetex-0.4pl8 (included with Red Hat 5.x) does not include
+@file{mfplain.mp}, which is needed for producing the scalable font
+files.
+
+If you don't have MetaPost and don't want to use PostScript output, then
+edit @file{mf/GNUmakefile}, removing the line saying @code{PFA_FILES=}.
+
+
+
 @end itemize
 
 @subsection Running requirements
@@ -286,13 +315,18 @@ and for the profiling version, I specify a different configuration.
 
 @section Emacs mode
 
-An emacs mode for LilyPond is included with the source archive as
-@file{lilypond-mode.el} and @file{lilypond-font-lock.el}.  If you have
-an RPM, it is in @file{/usr/share/doc/lilypond-X/}.  You have to install
-it yourself.
+An Emacs mode for entering music and running LilyPond is included with
+the source archive as @file{lilypond-mode.el} and
+@file{lilypond-font-lock.el}.  You should install these files somewhere
+in your @var{load-path}.  If you have installed a precompiled LilyPond
+package, these files can be found in
+@file{/usr/share/doc/lilypond-x.y.z/}.
+
+Add this to your @file{~/.emacs} or @file{~/.emacs.el}, or install this
+file in Emacs' @file{site-start.d}:
+@example
+    ;;; lilypond-init.el --- Startup code for LilyPond mode
 
-Add this to your @file{~/.emacs} or @file{~/.emacs.el}:
-@example 
     (load-library "lilypond-mode.el")
     (setq auto-mode-alist
       (cons '("\\.ly$" . LilyPond-mode) auto-mode-alist))
@@ -300,7 +334,8 @@ Add this to your @file{~/.emacs} or @file{~/.emacs.el}:
 @end example
 
 If you have the latest LilyPond-1.4.x Debian package, LilyPond-mode is
-automatically loaded, so you need not modify your @code{~/.emacs} file.
+automatically loaded, you not even need to modify your @code{~/.emacs}
+file.
 
 @section Compiling for distributions 
 
@@ -329,13 +364,6 @@ guile-devel, flex, bison, texinfo, tetex-devel, groff,
 libgr-progs.
 
 
-@b{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.
-
 @subsection LinuxPPC
 
 
@@ -368,18 +396,34 @@ platform.
 @subsection Mandrake
 
 Some binaries are available at rpmfind.net. Refer to 
-@uref{ftp://ftp.rpmfind.net/linux/Mandrake-devel/cooker/contrib/RPMS/}.
+@uref{http://rpmfind.net/linux/mandrake/cooker/contrib/RPMS/}.
 
+You can also compile a RPM for Mandrake yourself.  A spec file is in
+@file{make/out/lilypond.mandrake.spec}, see the instructions for building
+the Red Hat RPM.
 
 @subsection Debian GNU/Linux
 
 A Debian package is also available.  You may install it easily by running
 @command{apt-get} as root:
-
 @example
+
        apt-get install lilypond lilypond-doc
 @end example
 
+You can also compile the .deb for Debian yourself, do:
+@example
+
+       apt-get -b source lilypond
+@end example
+
+If you're real impatient, you may even do:
+@example
+
+       cd lilypond-x.y.z   # a previous version
+        uscan               # download and build latest directly from upstream
+@end example
+
 
 Debian's @TeX{} installation is a bit short on memory, you may want to
 increase it like this:
@@ -472,8 +516,9 @@ For Debian 2.2:
 For Debian in development ("unstable", the future 2.3 or 3.0):
 
 @example
-       apt-get install task-debian-devel task-c++-dev \
-               python-base libguile9-dev tetex-bin libkpathsea-dev \
+       apt-get install binutils cpp gcc libc6-dev \
+               g++ libstdc++2.10-dev \
+               python-base libguile-dev tetex-bin libkpathsea-dev \
                tetex-extra flex bison texinfo bibtex2html groff gs \
                netpbm m4 gettext
 @end example
@@ -495,10 +540,10 @@ send bug reports to @email{bug-lilypond@@gnu.org}.
 
 Bugs that are not fault of LilyPond are documented here.
 
-@unnumberedsubsec Debian GNU/Linux unstable gcc-3.0
+@unnumberedsubsec FLex-2.5.4a and gcc-3.0
 
-Flex (2.5.4a-11) in unstable does not produce g++-3.0 compliant C++
-code.  To compile LilyPond with gcc-3.0 you may do:
+Flex 2.5.4a does not produce g++-3.0 compliant C++ code.  To compile
+LilyPond with gcc-3.0 you may do:
 
 @example
         CC=gcc-3.0 CXX=g++-3.0 ./configure --enable-config=gcc-3.0
@@ -507,6 +552,8 @@ code.  To compile LilyPond with gcc-3.0 you may do:
         make conf=gcc-3.0 -C lily
 @end example
 
+Note that this is fixed in Debian/unstable for flex >= 2.5.4a-13.
+
 @unnumberedsubsec NetBSD
 
 @itemize @bullet