X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Ftopdocs%2FINSTALL.texi;h=df2bc044d089d335ab5f700c8c2e101d272e76e3;hb=36079063504b59027cdd84e36a1fc9e2bfc4fc76;hp=afff3cc621385f36ec4e8145ef0a92dc7b957235;hpb=4ba76f3ddd8f927febb9a303cee4837499a8b2da;p=lilypond.git diff --git a/Documentation/topdocs/INSTALL.texi b/Documentation/topdocs/INSTALL.texi index afff3cc621..df2bc044d0 100644 --- a/Documentation/topdocs/INSTALL.texi +++ b/Documentation/topdocs/INSTALL.texi @@ -15,10 +15,10 @@ @chapter INSTALL - compiling and installing GNU LilyPond -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 -@uref{http://www.lilypond.org/gnu-windows/, LilyPond on Windows page}. +This document describes how to build LilyPond on Unix platforms. It +is also known to run and compile on Windows NT/95/98/ME/XP as well. +More information on this topic can be found at the +@uref{http://www.lilypond.org/cygwin/, LilyPond on Windows page}. @html @@ -28,9 +28,9 @@ information on this topic can be found at the @section Downloading Even numbered versions are `stable'. The webpages for the stable version -(1.2) reside @uref{http://www.gnu.org/software/lilypond, on the GNU +(1.4) reside @uref{http://www.gnu.org/software/lilypond, on the GNU servers}. Big enhancements go into the latest odd numbered version -(1.3), whose webpages are on @uref{http://www.lilypond.org/,the lilypond +(1.5), whose webpages are on @uref{http://www.lilypond.org/,the lilypond site}. @subsection Source code @@ -48,6 +48,7 @@ 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. @@ -55,6 +56,20 @@ from source drill. For Red Hat Linux and SuSE Linux, @file{.spec} files are included in the tarball; see instructions below. + +@subsubsection Anonymous CVS access + +Short version: + +@quotation +@example +cvs -d :pserver:anoncvs@@lilypond.org:/home/lilypond login +cvs -d :pserver:anoncvs@@lilypond.org:/home/lilypond co -P lilypond +@end example +@end quotation + +See @uref{http://lilypond.org/wiki/?CVS} for more information. + @html @end html @@ -117,8 +132,12 @@ on the FTP site. You need the following packages to compile Lilypond. @itemize -@item A reasonably new version of the GNU C++ compiler: EGCS 1.1, GCC 2.95.2 or -newer. Check out @uref{ftp://ftp.gnu.org/gnu/gcc/, the gcc site}. +@item The GNU c++ compiler (version 2.95.2 or newer). +EGCS 1.1 may work, but is no longer supported. +Check out @uref{ftp://ftp.gnu.org/gnu/gcc/, the gcc site}. + +WARNING: if you choose to upgrade to GCC 3.x, enquire if your +distribution supports g++ 3.x and flex. @item Python (version 1.5 or newer). Check out @uref{http://www.python.org, the python website}. @@ -126,7 +145,6 @@ Check out @uref{http://www.python.org, the python website}. @item GUILE (version 1.4 or newer). Check out @uref{http://www.gnu.org/software/guile/guile.html,the GUILE webpage}. -Version 1.4 is recommended for better performance. @item GNU Make. Check out @@ -136,6 +154,11 @@ make FTP directory}. @item Flex (version 2.5.4a or newer). Check out @uref{http://www.gnu.org/software/flex/,the Flex webpage}. +WARNING: plain Flex 2.5.4(a) generates invalid C++ code. GCC 3.x +chokes on this. If you wish to use GCC 3.x, make sure that your +distribution supports g++ 3.x and flex. For a workaround, see +lexer-gcc-3.0 below. + @item Bison (version 1.25 or newer). Check out @uref{http://www.gnu.org/software/bison/,the bison webpage} @@ -147,7 +170,7 @@ Also, @TeX{}'s libkpathsea is used to find the fonts (@file{.mf}, @file{.afm}, @ 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 (version 4.0 or newer). +@item Texinfo (version 4.2 or newer). The documentation of lily is written in texinfo. Check out @uref{ftp://ftp.gnu.org/gnu/texinfo/,the texinfo FTP directory}. @@ -159,7 +182,9 @@ with the @TeX{} distribution. @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. +a tetex-devel or tetex-dev package too. If kpathsea is not installed in +a directory where the compiler normally looks, read the hints for +Slackware below. In the very unlikely case that kpathsea is not available for your platform (ie, you're not running GNU/Linux, Windows, or any recent @@ -167,14 +192,11 @@ 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: +@quotation @example ./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/}. You -will need to install some additional packages to get pktrace to work. +@end quotation @end itemize @@ -186,7 +208,7 @@ following software @itemize @bullet @item @TeX{}. @item Xdvi and Ghostscript -@item GUILE 1.3.4, or newer. Check out +@item GUILE 1.4, or newer. Check out @uref{http://www.gnu.org/software/guile.html,the GUILE webpage} @end itemize @@ -215,22 +237,10 @@ by issuing Building the website requires some additional tools: @itemize @bullet -@item xpmtoppm (from the netpbm package: the Portable Bitmap Utilities). - The original is at -@uref{ftp://ftp.x.org/contrib/utilities/netpbm-1mar1994.p1.tar.gz,the -netpbm FTP site} - -@item pnmtopng. The original is -at -@uref{ftp://swrinde.nde.swri.edu/pub/png/applications/pnmtopng-2.37.2.tar.gz,in -the pnmtopng FTP site}. - -@item 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 -@uref{ftp://texinfo.org/texinfo/pretests/texinfo-4.0b.tar.gz, -texinfo-4.0b} or -@uref{ftp://alpha.gnu.org/gnu/texinfo-4.0b.tar.gz,texinfo-4.0b} +@item The netpbm utilities, see @uref{http://netpbm.sourceforge.net/} +@item pktrace 1.0 or newer, needed for generating PostScript Type1 +fonts. Get it from @uref{http://www.cs.uu.nl/~hanwen/pktrace/}. You +will need to install some additional packages to get pktrace to work. @end itemize @section Building LilyPond @@ -271,7 +281,9 @@ If you want to build multiple versions of LilyPond with different configuration settings, you can use the @code{--enable-config=CONF} option of configure. You should use @samp{make conf=CONF} to generate the output in @file{out-CONF}. Example: suppose I want to build with -and without profiling. Then I'd use the following for the normal build, +and without profiling. Then I'd use the following for the normal +build, +@c prefix=~ ? @example ./configure --prefix=~ --enable-checking @@ -296,22 +308,25 @@ and for the profiling version, I specify a different configuration. @section Emacs mode 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/}. +the source archive as @file{lilypond-mode.el}, +@file{lilypond-indent.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}: +@quotation @example - ;;; lilypond-init.el --- Startup code for LilyPond mode + ;;; lilypond-init.el --- Startup code for LilyPond mode + + (autoload 'LilyPond-mode "lilypond-mode") + (setq auto-mode-alist + (cons '("\\.ly$" . LilyPond-mode) auto-mode-alist)) - (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))) + (add-hook 'LilyPond-mode-hook (lambda () (turn-on-font-lock))) @end example +@end quotation If you have the latest LilyPond-1.4.x Debian package, LilyPond-mode is automatically loaded, you not even need to modify your @code{~/.emacs} @@ -321,8 +336,10 @@ file. @subsection Red Hat Linux -Red Hat 7.0 i386 RPMS are available from -@uref{ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/binaries/}. +Red Hat 7.x i386 RPMS are available from +@uref{ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/binaries/}. For running on +a Red Hat system you need these packages: guile, tetex, tetex-latex, +tetex-dvips, libstdc++, python, ghostscript. You can also compile them yourself. A spec file is in @file{make/out/lilypond.redhat.spec}. This file is distributed along @@ -335,12 +352,10 @@ with the sources. You can make the rpm by issuing @end example -For running on a Red Hat system you need these packages: guile, 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, groff, pktrace. +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, groff, pktrace, +netpbm-progs, autotrace, t1utils. @@ -362,7 +377,7 @@ You can also compile a RPM for SUSE yourself. A spec file is in 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 +te_mpost libpng python gpp libgpp gettext autoconf253 netpbm libnetpb gs_serv gs_lib gs_fonts guile @subsection Slackware @@ -373,6 +388,16 @@ Problems have been reported with Slackware 7.0; apparently, it ships with a faulty compiler. Do not compile LilyPond with -O2 on this platform. +At least on Slackware 8.0, you have to manually specify the paths to the +Kpathsea library, using +@itemize +@item @code{rm config.cache} +@item @code{export LDFLAGS=-L/usr/share/texmf/lib} +@item @code{export CPPFLAGS=-I/usr/share/texmf/include} +@item @code{./configure} +@end itemize + + @subsection Mandrake Some binaries are available at rpmfind.net. Refer to @@ -520,6 +545,28 @@ interfere with your build, you may want to do this before the build too: @subsection MacOS X +LilyPond is available through fink, in the unstable cvs distribution. + +You need to: +@itemize @bullet +@item Get the Fink package manager from @uref{http://fink.sourceforge.net} +@item Get the Lilypond package description by enabling the "unstable" tree +in fink and executing @command{fink selfupdate-cvs}. +@end itemize + +Then do: +@quotation +@example + fink install lilypond-unstable +@end example +@end quotation + +That's it! The command should compile and install all LilyPond +prerequisites (python, TeX, X11, ghostscript) and then LilyPond +itself. + + +@subsubsection compiling on MacOS X LilyPond has been built on Darwin, to be precise, on: @example Darwin buoux.aspiratie.nl 5.3 Darwin Kernel Version 5.3: Thu Jan 24 @@ -587,11 +634,6 @@ LilyPond with gcc-3.0 you may do: Note that this is fixed in Debian/unstable for flex >= 2.5.4a-13. -@unnumberedsubsec Python-2.1[.1] - -Regular expressions are broken in Python 2.1.[.1], either upgrade or -downgrade python. - @unnumberedsubsec Linux-2.4.0, Guile-1.4 --with-threads There's a bug in certain kernels around version 2.4.0, that is