X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Ftopdocs%2FINSTALL.texi;h=c96536c400cf1a1a3e4bcd938eead65c3e8eafe2;hb=f8d1bb34b7c5f7deafa32be53f540f3102e82f3a;hp=33117dd713605857447dcdc5fb5e22d77a649c7d;hpb=cec3578c72af76e3e8c8b4603d5d03c8bd32c1e5;p=lilypond.git diff --git a/Documentation/topdocs/INSTALL.texi b/Documentation/topdocs/INSTALL.texi index 33117dd713..c96536c400 100644 --- a/Documentation/topdocs/INSTALL.texi +++ b/Documentation/topdocs/INSTALL.texi @@ -1,4 +1,5 @@ -@node +@node Top, , , (dir) +@top @comment node-name, next, previous, up\input texinfo @c -*-texinfo-*- @setfilename INSTALL.info @settitle INSTALL - compiling and installing GNU LilyPond @@ -7,9 +8,6 @@ @end html -@node Top, , , (dir) -@top - @contents @chapter INSTALL - compiling and installing GNU LilyPond @@ -33,9 +31,12 @@ servers}. Big enhancements go into the latest odd numbered version (1.5), whose webpages are on @uref{http://www.lilypond.org/,the lilypond site}. +Building LilyPond is an involved process. We advise to use binary +packages if these are available for your platform. + @subsection Source code -If you want to compile LilyPond from source, download here: + If you want to compile LilyPond from source, download here: @itemize @bullet @item Download development releases from @c Hmm, these won't show up in lilypond.org/stats @@ -52,8 +53,6 @@ If you want to compile LilyPond from source, download here: For Red Hat Linux and SuSE Linux, @file{.spec} files are included in the tarball; see instructions below. - - 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. @@ -61,6 +60,12 @@ from source drill. The latest development version is also available through anonymous CVS. See @uref{http://savannah.gnu.org/cvs/?group=lilypond}. +CVS does not contain generated files. To create @file{configure}, run +@quotation +@example +./autogen.sh +@end example +@end quotation @html @@ -85,7 +90,7 @@ to compile them ourselves, they 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.cs.uu.nl/pub/GNU/LilyPond/binaries/RedHat-7.x/, Red Hat i386} @item @uref{ftp://ftp.lilypond.org/pub/LilyPond/binaries/SuSE, SuSE} @item @uref{ftp://ftp.lilypond.org/pub/LilyPond/binaries/linuxppc/, LinuxPPC} @@ -117,6 +122,18 @@ on the FTP site. @end example @end itemize +@subsection Font problems. + +If you are upgrading from a previous version of LilyPond, be sure to +remove all old font files. These include @file{.pk} and @file{.tfm} files +that may be located in @file{/var/lib/texmf}, @file{/var/spool/texmf}, +@file{/var/tmp/texmf} or @file{@var{prefix}/share/lilypond/fonts/}. A +script automating this has been included, see +@file{buildscripts/clean-fonts.sh}. + + + + @section Requirements @subsection Compilation @@ -160,9 +177,10 @@ Check out @uref{http://www.gnu.org/software/bison/,the bison webpage} @TeX{} is used as an output backend. -Also, @TeX{}'s libkpathsea is used to find the fonts (@file{.mf}, @file{.afm}, @file{.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. +Also, @TeX{}'s libkpathsea is used to find the fonts (@file{.mf}, +@file{.afm}, @file{.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 or libkpathsea-dev) package too. @item Texinfo (version 4.2 or newer). The documentation of lily is written in texinfo. Check out @@ -175,10 +193,10 @@ FTP directory for @code{geometry}}. This package is normally included 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. If kpathsea is not installed in -a directory where the compiler normally looks, read the hints for -Slackware below. +usually included with your installation of @TeX{}. You may need to +install 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 @@ -217,12 +235,12 @@ Csh and bourne sh scripts are left in LilyPond is a big and slow program. A fast CPU and plenty of RAM is recommended for comfortable use. -@subsection Website requirements +@subsection Building documentation -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 -requires a successful compile of lilypond. The website is built -by issuing +You can view the documentation online at +@uref{http://www.lilypond.org/stable/Documentation/out-www/}, but you +can also build it locally. This process requires a successful compile of +lilypond. The documentation is built by issuing @example make web-doc @@ -238,7 +256,7 @@ fonts. Get it from @uref{http://www.cs.uu.nl/~hanwen/mftrace/}. You will need to install some additional packages to get mftrace to work. @end itemize -@section Building LilyPond +@section Building LilyPond to install GNU LilyPond, type: @example @@ -281,7 +299,7 @@ build, @c prefix=~ ? @example - ./configure --prefix=~ --enable-checking + ./configure --prefix=$HOME/usr/ --enable-checking make make install @end example @@ -290,7 +308,7 @@ and for the profiling version, I specify a different configuration. @example - ./configure --prefix=~ --enable-profiling --enable-config=prof --disable-checking + ./configure --prefix=$HOME/usr/ --enable-profiling --enable-config=prof --disable-checking make conf=prof make conf=prof install @@ -341,6 +359,7 @@ You can also compile them yourself. A spec file is in with the sources. You can make the rpm by issuing @example + cp lilypond-x.y.z.tar.gz /usr/src/redhat/SOURCES/ tar xfz lilypond-x.y.z.tar.gz rpm -bb lilypond-x.y.z/make/out/lilypond.redhat.spec rpm -i /usr/src/redhat/RPMS/i386/lilypond-x.y.z @@ -384,13 +403,7 @@ 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 +Kpathsea library, see the section on kpathsea @subsection Mandrake @@ -561,7 +574,7 @@ prerequisites (python, TeX, X11, ghostscript) and then LilyPond itself. -@subsubsection compiling on MacOS X +@subsection 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 @@ -615,6 +628,24 @@ send bug reports to @email{bug-lilypond@@gnu.org}. Bugs that are not fault of LilyPond are documented here. +@subsection Linking to kpathsea + +If kpathsea and the corresponding header files are installed in some +directory where GCC does not search by default, for example in +@file{/usr/local/lib/} and @file{/usr/local/include/} respectively, +you have to explicitly tell configure where to find it. To do this, + +@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 +Once configure has found them, the paths are stored in +@file{config.make} and will be used even if you don't have the +environment variables set during make. + + @unnumberedsubsec Gcc-3.0.4 Gcc 3.0.4, is a bit flaky. Try downgrading to 2.95.x, or if you're @@ -641,12 +672,13 @@ LilyPond with gcc-3.1.1 you may do: @example CONF=gcc-3.1 ./lexer-gcc-3.1.sh - CPPFLAGS=$(pwd)/lily/out-gcc-3.1 CC=gcc-3.1 CXX=g++-3.1 \ + CPPFLAGS=-I$(pwd)/lily/out-gcc-3.1 CC=gcc-3.1 CXX=g++-3.1 \ ./configure --enable-config=gcc-3.1 CONF=gcc-3.1 ./lexer-gcc-3.1.sh make conf=gcc-3.1 @end example +This assumes that the GCC 3.1 binaries are called gcc-3.1 and g++-3.1. Note that this is @strong{not} fixed in Debian/unstable for flex <= 2.5.4a-26. @@ -662,6 +694,16 @@ Guile without threads (YMMV): guile-1.4$ ./configure --without-threads; make all install @end example +@unnumberedsubsec OpenBSD + +@itemize @bullet +@item By default, gcc on OpenBSD doesn't include +@file{/usr/local/include} and @file{/usr/local/lib} in the system +paths. Depending upon where/how you installed kpathsea and other +libraries, you may need to refer to the section ``Linking to +kpathsea''. + +@end itemize @unnumberedsubsec NetBSD @@ -679,9 +721,22 @@ CFLAGS='-I /usr/pkg/include' LDFLAGS='-L/usr/pkg/lib' ./configure @end itemize -@unnumberedsubsec Solaris: +@unnumberedsubsec Solaris @itemize @bullet +@item Solaris7, ./configure + +@file{./configure} needs a POSIX compliant shell. On Solaris7, +@file{/bin/sh} is not yet POSIX compliant, but @file{/bin/ksh} or bash +is. Please run configure like: +@example + /bin/ksh -c ./configure +@end example +or +@example + bash -c ./configure +@end example + @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.