]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/topdocs/INSTALL.texi
release: 1.3.0
[lilypond.git] / Documentation / topdocs / INSTALL.texi
index 47e2a0277a9a0106a7bd8cfb045113d7a62b85ee..440404cb13267526dfd50b95bbbd622cc752d9c3 100644 (file)
@@ -10,8 +10,6 @@
 
 @section Abstract
 
-TODO: document xdeltas
-
 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 
@@ -22,12 +20,24 @@ LilyPond more often.
 @section Obtaining
 
 You can get the latest version of LilyPond at
-@uref{ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/,ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/}.  Refer to the links
-document for mirror sites.
+@uref{ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/,
+ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/}.
+
 
 @emph{If you upgrade by patching do remember to rerun autoconf after
 applying the patch}.
 
+If you do not want to download the entire archive for each version, the
+safest method for upgrading is to use @file{xdelta}, see
+@uref{ftp://ftp.xcf.berkeley.edu/pub/xdelta/}.
+
+The following command produces @file{lilypond-1.1.55.tar.gz} from
+@file{lilypond-1.1.54} identical (up to compression dates) to the .55 on
+the FTP site.
+@example
+  xdelta patch lilypond-1.1.54-1.1.55.xd lilypond-1.1.54.tar.gz
+@end example
+
 @section Prerequisites
 
 For compilation you need:
@@ -41,16 +51,17 @@ Solaris.
 compile if you use debugging information.  If you are short on
 disk-space run configure with @code{--disable-debugging}.
 
+@item
 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/, ftp://ftp.gnu.org/pub/gcc/}
+@item  EGCS 1.1 or newer. Check out @uref{ftp://ftp.gnu.org/pub/gcc/}.
 
 @item  Python 1.5,
 Check out
-@uref{ftp://ftp.python.org,ftp://ftp.python.org} or @uref{ftp://ftp.cwi.nl/pub/python,ftp://ftp.cwi.nl/pub/python}.
+@uref{ftp://ftp.python.org} or @uref{ftp://ftp.cwi.nl/pub/python}.
 
-@item  GUILE 1.3,  check out @uref{http://www.gnu.org/software/guile/guile.html,http://www.gnu.org/software/guile/guile.html}.
+@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 GNU make. 
 Check out @uref{ftp://ftp.gnu.org/make/,ftp://ftp.gnu.org/make/}.
@@ -85,7 +96,7 @@ following software
 @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, check out @uref{http://www.gnu.org/programs/guile.html,http://www.gnu.org/programs/guile.html}
+@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
@@ -159,10 +170,7 @@ hypertextified bibliography.
 
 @end itemize
 
-You also have to install @file{buildscripts/out/ps-to-gifs} in a
-directory that is in the path.
-
-@section configuring and compiling
+@section Configuring and compiling
 
 to install GNU LilyPond, simply type:
 @example 
@@ -176,17 +184,19 @@ to install GNU LilyPond, simply type:
 @end example 
 
 This will install a number of files, something close to:
-@example 
 
+@example 
        /usr/local/man/man1/mi2mu.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/convert-mudela
+       /usr/local/bin/mudela-book
+       /usr/local/bin/abc2ly
        /usr/local/share/lilypond/*
        /usr/local/share/locale/@{it,nl@}/LC_MESSAGES/lilypond.mo
 @end example 
 
 
@@ -254,7 +264,7 @@ everything will be compiled, but nothing will be installed.  The
 resulting binaries can be found in the subdirectories @file{out/} (which
 contain all files generated during compilation).
 
-@section configuring for multiple platforms
+@section Configuring for multiple platforms
 
 If you want to compile LilyPond with different configuration settings,
 then, you can use the @code{--enable-config} option.  Example: suppose I
@@ -296,15 +306,6 @@ If you are doing an upgrade, please remember to remove obsolete
 @file{.pk} and @file{.tfm} files of the fonts.  A script has been
 provided to do the work for you, see @file{bin/clean-fonts.sh}.
 
-@unnumberedsec CAVEATS
-    
-
-@itemize @bullet
-@item The -O2 option  triggers  bugs on various platforms (PowerPC, Alpha).
-    If you experience problems, you  should first try  turning off
-    this.
-@item  On PPC you need at least EGCS-1.1.2f.
-@end itemize
 
 @section Redhat linux
 
@@ -343,23 +344,121 @@ A Debian package is also available; contact Anthony Fok
 
 @section Windows NT/95
 
-Separate instructions on building for W32 are available; See file
-README-W32, included with the sources.
+Separate instructions on building for W32 are available; See the files
+in @file{Documentation/ntweb/}, included with the sources.
+
+@section Problems
+
+For help and questions use @email{help-gnu-music@@gnu.org} and
+@email{gnu-music-discuss@@gnu.org}.  Please consult the faq before
+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/}.
+
+Known bugs that are not LilyPond's fault are documented here.
+
+
+@unnumbered LinuxPPC Bugs:
+
+@itemize
+@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/}
+
+@item egcs-1.0.2 (LinuxPPC R4):
+all compiling with @code{-O2} is suspect, in particular guile-1.3, and
+Lily herself will break.
+@end itemize
+
+
 
-@section Bugs
+@unnumbered Linux-i386
 
-Send bug reports to bug-gnu-music@@gnu.org.  For help and questions use
-help-gnu-music@@gnu.org and gnu-music-discuss@@gnu.org.  Please consult
-the faq before mailing your problems.
+@itemize
+@item SuSE6.2 and similar platforms (glibc 2.1, libstdc++ 2.9.0)
 
-@section Authors
+Lily will crash during parsing (which suggests a C++ library
+incompatibility).  Precise cause, precise platform description or
+solution are not known.
 
-@email{hanwen@@cs.uu.nl, Han-Wen Nienhuys}
+Note that this only happens on some computers with the said platform.
 
-@email{janneke@@gnu.org, Jan Nieuwenhuizen}
+@item libg++ 2.7
 
-In case of problems, please use the mailing list for help.
+LilyPond occasionally crashes while parsing the initialisation files.
+This is a very obscure bug, and usually entering the commandline
+differently "fixes" it.
+
+@example
+       lilypond input.ly 
+@end  example
+
+and
+@example
+       lilypond -I. ./input.ly 
+@end example
+makes a difference
+
+Typical stacktrace:
+@example
+       SIGSEGV
+       __libc_malloc (bytes=16384)
+       ?? ()
+       yyFlexLexer::yy_create_buffer ()
+       Includable_lexer::new_input (this=0x8209a00, s=@{strh_ = @{
+@end example
+
+This behaviour has been observed with machines that have old libg++
+versions (LinuxPPC feb '98, RedHat 4.x).  
+@end itemize
+
+
+
+
+@unnumbered Solaris:
+
+@itemize
+@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.
+
+
+@item Sparc64/Solaris 2.6, ld
+
+Not yet resolved.
+@end itemize
+
+
+@unnumbered AIX
+
+@itemize
+@item AIX 4.3 ld
+
+The following is from the gcc install/SPECIFIC file.
+@quotation
+   Some versions of the AIX binder (linker) can fail with a relocation
+   overflow severe error when the -bbigtoc option is used to link
+   GCC-produced object files into an executable that overflows the TOC. A
+   fix for APAR IX75823 (OVERFLOW DURING LINK WHEN USING GCC AND  
+   -BBIGTOC) is available from IBM Customer Support and from its
+   27service.boulder.ibm.com website as PTF U455193.   
+
+   Binutils does not support AIX 4.3 (at least through release 2.9). GNU
+   as and GNU ld will not work properly and one should not configure GCC
+   to use those GNU utilities. Use the native AIX tools which do
+   interoperate with GCC.
+@end quotation
+
+add -Wl,-bbigtoc to USER_LDFLAGS, ie:
+@example
+    LDFLAGS='-Wl,-bbigtoc' ./configure
+@end example
+
+@end itemize
 
-Have fun!
 
 @bye
+