]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/topdocs/INSTALL.texi
release: 1.5.40
[lilypond.git] / Documentation / topdocs / INSTALL.texi
index 915e710048d7c2279fc3964f45e0a951805372a4..91cf161cce0880166c3d5befec5df888b5d3967a 100644 (file)
@@ -1,7 +1,12 @@
-\input texinfo @c -*-texinfo-*-
+@node 
+@comment  node-name,  next,  previous,  up\input texinfo @c -*-texinfo-*-
 @setfilename INSTALL.info
 @settitle INSTALL - compiling and installing GNU LilyPond
 
+@html
+<!--- @@WEB-TITLE@@=Installation Instructions --->
+@end html
+
 @node Top, , , (dir)
 @top
 
@@ -112,13 +117,14 @@ on the FTP site.
 You need the following packages to compile Lilypond.
 
 @itemize
-@item A reasonably new C++ compiler:  EGCS 1.1, GCC 2.95.2 or
+@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  Python 1.5,
+@item Python (version 1.5 or newer).
 Check out @uref{http://www.python.org, the python website}.
 
-@item  GUILE 1.3.4 or newer,  check out
+@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.
 
@@ -151,14 +157,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.
@@ -173,6 +171,11 @@ 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/}.  You
+will need to install some additional packages to get pktrace to work.
+
 @end itemize
 
 @subsection Running requirements
@@ -222,16 +225,6 @@ at
 @uref{ftp://swrinde.nde.swri.edu/pub/png/applications/pnmtopng-2.37.2.tar.gz,in
 the pnmtopng FTP site}.
 
-@item @uref{http://www.lri.fr/~filliatr/ftp/bibtex2html/, Bibtex2html}, or
-@uref{http://www.uni-koblenz.de/ag-ki/ftp/bib2html/, Bib2html}.
-Bibtex2html is available in debian, while bib2html is in some rpm based
-distributions.
-Bib2html, 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 bib converter utility, but you will not
-see our hypertextified bibliography.
-
 @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
@@ -347,8 +340,8 @@ 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, tetex-devel, groff,
-libgr-progs.
+guile-devel, flex, bison, texinfo, groff, pktrace.
+
 
 
 @subsection LinuxPPC
@@ -415,19 +408,28 @@ If you're real impatient, you may even do:
 Debian's @TeX{} installation is a bit short on memory, you may want to
 increase it like this:
 @example
---- /etc/texmf/texmf.cnf.dpkg  Sun Jan 28 14:12:14 2001
-+++ /etc/texmf/texmf.cnf       Fri Apr 27 11:09:35 2001
-@@ -384,8 +384,8 @@
+--- texmf.cnf.orig     Sun Dec 16 23:47:07 2001
++++ texmf.cnf  Sun Dec 16 23:46:34 2001
+@@ -411,8 +411,8 @@
  main_memory.context = 1500000
  main_memory.mpost = 1000000
  main_memory = 263000 % words of inimemory available; also applies to inimf&mp
 -extra_mem_top = 0    % extra high memory for chars, tokens, etc.
 -extra_mem_bot = 0    % extra low memory for boxes, glue, breakpoints, etc.
-+extra_mem_top = 100000    % extra high memory for chars, tokens, etc.
-+extra_mem_bot = 100000    % extra low memory for boxes, glue, breakpoints, etc.
++extra_mem_top = 1000000    % extra high memory for chars, tokens, etc.
++extra_mem_bot = 1000000    % extra low memory for boxes, glue, breakpoints, etc.
  
- obj_tab_size.context = 256000
-
+ obj_tab_size.context = 300000
+@@ -430,7 +430,7 @@
+ % Max number of characters in all strings, including all error messages,
+ % help texts, font names, control sequences.  These values apply to TeX and MP.
+ pool_size.context = 750000
+-pool_size = 125000            
++pool_size = 250000            
+ % Minimum pool space after TeX/MP's own strings; must be at least
+ % 25000 less than pool_size, but doesn't need to be nearly that large.
+ string_vacancies.context = 45000
 @end example
 
 You could also export @env{extra_mem_top} and @env{extra_mem_bot} as
@@ -478,7 +480,6 @@ in addition to the those needed for running:
 @item make, m4, flex, bison
 @item gettext
 @item groff, texinfo
-@item bibtex2html (not in Debian 2.2)
 @item tetex-base, tetex-bin, tetex-extra, libkpathsea-dev or tetex-dev
 @item dpkg-dev, debhelper, fakeroot
 @item gs, netpbm
@@ -503,9 +504,10 @@ 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 \
-               tetex-extra flex bison texinfo bibtex2html groff gs \
+       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  groff gs \
                netpbm m4 gettext
 @end example
 
@@ -516,8 +518,53 @@ interfere with your build, you may want to do this before the build too:
        dpkg --purge lilypond lilypond1.3
 @end example
 
+@subsection 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
+    22:06:02 PST 2002; root:xnu/xnu-201.19.obj~1/RELEASE_PPC  Power Macintosh powerpc
+@end example
+
+using:   
 
+@example
+    Apple Computer, Inc. version gcc-932.1, based on gcc version 2.95.2 19991024 (release)
+@end example
+
+To make sure you have all packages needed to build LilyPond installed,
+run as root:
+
+@example
+        apt-get install bash python guile debianutils flex bison texinfo \
+                ghostscript6 netpbm m4 gettext
+@end example        
+
+and:
+                
+@example
+        fink install tetex
+@end example        
+
+For more information about @file{apt-get} and @file{fink}, see
+@uref{http://fink.sf.net,fink.sourceforge.net}.
+
+@c  brokenness of autoconf; don't ask
+Then, configure, patch, make and install LilyPond using these commands:
+
+@example
+        CC="cc -I/sw/include" CXX="c++ -I/sw/include" LDFLAGS="-L/sw/lib" \
+            ./configure --prefix=/sw
+        make -C lily out/parser.hh out/parser.cc out/config.h
+        patch -p0 < darwin.patch
+        make -C lily out/parser.o
+        make DEPENDENCIES_OUTPUT=/dev/null all
+        make install
+@end example
+
+For installing, you must be root, of course.
+
+@c Why isn't this in BUGS (where it belongs?)
 @section Problems
 
 For help and questions use @email{lilypond-user@@gnu.org}.  Please
@@ -540,6 +587,19 @@ LilyPond with gcc-3.0 you may do:
 
 Note that this is fixed in Debian/unstable for flex >= 2.5.4a-13.
 
+@unnumberedsubsec Linux-2.4.0, Guile-1.4 --with-threads
+
+There's a bug in certain kernels around version 2.4.0, that is
+triggered when using Guile 1.4 compiled with pthreads.  You'll see
+random segmentation fault crashes of LilyPond.  Upgrade to a newer
+version of Linux.  If you can't do that, you may try to recompiling
+Guile without threads (YMMV):
+
+@example
+         guile-1.4$ ./configure --without-threads; make all install
+@end example
+
+
 @unnumberedsubsec NetBSD
 
 @itemize @bullet