X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=INSTALL.txt;h=7fa5e4fe7ccffb7859c1dce59d6def02372f8f46;hb=5f68ba5ca0edd64f0f6723e65c27993c2dfb1e96;hp=7ed1f83464bd8a6ef038be58f774f913c2da5eb1;hpb=9627516f833fcd89ce59351ae90dc722ec96a2c5;p=lilypond.git diff --git a/INSTALL.txt b/INSTALL.txt index 7ed1f83464..7fa5e4fe7c 100644 --- a/INSTALL.txt +++ b/INSTALL.txt @@ -8,8 +8,8 @@ Table of Contents INSTALL - compiling and installing GNU LilyPond Downloading - source code - Binaries + Source code + Precompiled binaries Upgrading Requirements Compilation @@ -20,11 +20,13 @@ INSTALL - compiling and installing GNU LilyPond Emacs mode Compiling for distributions Red Hat Linux + LinuxPPC SuSE Slackware Mandrake Debian GNU/Linux Problems + FLex-2.5.4a and gcc-3.0 NetBSD Solaris: AIX @@ -36,7 +38,7 @@ 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 LilyPond on Windows page -(ftp://ftp.lilypond.org/pub/LilyPond/gnu-windows/). +(http://www.lilypond.org/gnu-windows/). Downloading =========== @@ -47,43 +49,57 @@ version (1.2) reside on the GNU servers latest odd numbered version (1.3), whose webpages are on the lilypond site (http://www.lilypond.org/). -source code +Source code ----------- If you want to compile LilyPond from source, download here: * Download development releases from - `ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/development/' by FTP and - `http://ftp.cs.uu.nl/pub/GNU/LilyPond/development/', by HTTP. + `ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/' by FTP and + `http://ftp.cs.uu.nl/pub/GNU/LilyPond/', by HTTP. * `ftp://sca.uwaterloo.ca/pub/' by FTP (Canadian mirror) * at `lilypond.org' `ftp://ftp.lilypond.org/pub/LilyPond/' by FTP and `http://www.lilypond.org/ftp/' by HTTP. -Binaries --------- + 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. - Binaries are available, but are not updated for every version -released. - * RedHat i386 - (ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/binaries/RedHat/RPMS/) + For Red Hat Linux and SuSE Linux, `.spec' files are included in the +tarball; see instructions below. + +Precompiled binaries +-------------------- + + If you want to track bleeding edge development, try: - * LinuxPPC (ftp://ftp.lilypond.org/pub/LilyPond/binaries/linuxppc) + * Debian GNU/Linux + (ftp://ftp.debian.org/debian/pool/main/l/lilypond/) usually has + the latest binaries for the most useful stable and development + versions, while - * Debian GNU/Linux Stable - (ftp://ftp.debian.org/debian/pool/main/l/lilypond) + * Mandrake Cooker + (http://rpmfind.net/linux/mandrake/cooker/contrib/RPMS/) also + provides fairly recent versions. - * Debian GNU/Linux Unstable - (ftp://ftp.debian.org/debian/pool/main/l/lilypond1.3) + Binaries are made available for other popular platforms, but as we +need to compile them ourselves, they are not updated for every version +released. + + * Red Hat i386 + (ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/binaries/RedHat/RPMS/) - * Windows Stable (http://home.austin.rr.com/jbr/jeff/lilypond/) - Windows Testing (http://www.lilypond.org/gnu-windows) + * SuSE (ftp://ftp.lilypond.org/pub/LilyPond/binaries/SuSE) + * LinuxPPC (ftp://ftp.lilypond.org/pub/LilyPond/binaries/linuxppc/) + + * Windows (http://www.lilypond.org/gnu-windows/) Upgrading --------- - There are two options for upgrading sources. + There are two options for upgrading sources. * if you have an unpacked source tree of a previous version, you may the patches. @@ -95,10 +111,10 @@ Upgrading xdelta (ftp://ftp.xcf.berkeley.edu/pub/xdelta/). This is much safer than using patches, and is the recommended way. - The following command produces `lilypond-1.3.122.tar.gz' from - `lilypond-1.3.121' identical (up to compression dates) to the .122 - on the FTP site. - xdelta patch lilypond-1.3.121-1.3.122.xd lilypond-1.3.121.tar.gz + The following command produces `lilypond-1.4.3.tar.gz' from + `lilypond-1.4.2.tar.gz' identical (up to compression dates) to the + .3 on the FTP site. + xdelta patch lilypond-1.4.2-1.4.3.xd lilypond-1.4.2.tar.gz Requirements ============ @@ -130,8 +146,8 @@ Compilation TeX is used as an output backend. - Also, TeX's libkpathsea is used to find the fonts (.mf, .afm, - .tfm). Make sure you have tetex 1.0 or newer (1.0.6 is known to + Also, TeX's libkpathsea is used to find the fonts (`.mf', `.afm', + `.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. @@ -144,15 +160,6 @@ Compilation (ftp://ftp.ctan.org/tex-archive/macros/latex/contrib/supported/geometry). This package is normally included with the TeX distribution. - * MetaPost, needed for generating PostScript fonts. Please note that - tetex-0.4pl8 (included with Red Hat 5.x) does not include - `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 `mf/GNUmakefile', removing the line saying - `PFA_FILES='. - * kpathsea, a library for searching (TeX) files. `kpathsea' is usually included with your installation of TeX. You may need to install a tetex-devel or tetex-dev package too. @@ -165,6 +172,23 @@ Compilation ./configure --without-kpathsea --enable-tfm-path=/usr/share/texmf/fonts/tfm/public/cm/:/usr/share/texmf/fonts/tfm/ams/symbols + * pktrace, [OPTIONAL], needed for generating PostScript Type1 fonts. + Get it from + `http://www.cs.uu.nl/~hanwen/public/software/pktrace-0.1.tar.gz' + + * autotrace-0.27a, [OPTIONAL], needed for generating PostScript Type1 + fonts. You must apply the patch included pktrace-0.1 first. + `http://autotrace.sourceforge.net'. + + * MetaPost [OPTIONAL] needed for generating PostScript Type3 fonts. + Please note that tetex-0.4pl8 (included with Red Hat 5.x) does not + include `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 `mf/GNUmakefile', removing the line saying + `PFA_FILES='. + Running requirements -------------------- @@ -174,7 +198,7 @@ following software * TeX. - * Xdvi and ghostscript + * Xdvi and Ghostscript * GUILE 1.3.4, or newer. Check out the GUILE webpage (http://www.gnu.org/software/guile.html) @@ -272,18 +296,24 @@ profiling. Then I'd use the following for the normal build, Emacs mode ========== - An emacs mode for LilyPond is included with the source archive as -`lilypond-mode.el' and `lilypond-font-lock.el'. If you have an RPM, it -is in `/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 `lilypond-mode.el' and +`lilypond-font-lock.el'. You should install these files somewhere in +your LOAD-PATH. If you have installed a precompiled LilyPond package, +these files can be found in `/usr/share/doc/lilypond-x.y.z/'. - Add this to your `~/.emacs' or `~/.emacs.el': + Add this to your `~/.emacs' or `~/.emacs.el', or install this file +in Emacs' `site-start.d': + ;;; lilypond-init.el --- Startup code for LilyPond mode + (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))) - If you have the latest LilyPond-1.3.x Debian package, LilyPond-mode -is automatically loaded, so you need not modify your `~/.emacs' file. + If you have the latest LilyPond-1.4.x Debian package, LilyPond-mode +is automatically loaded, you not even need to modify your `~/.emacs' +file. Compiling for distributions =========================== @@ -292,13 +322,14 @@ Red Hat Linux ------------- Red Hat 7.0 i386 RPMS are available from -`ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/RedHat/'. +`ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/binaries/'. You can also compile them yourself. A spec file is in -`make/out/redhat.spec'. This file is distributed along with the -sources. You can make the rpm by issuing +`make/out/lilypond.redhat.spec'. This file is distributed along with +the sources. You can make the rpm by issuing - rpm -tb lilypond-x.y.z.tar.gz + 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 For running on a Red Hat system you need these packages: guile, @@ -309,11 +340,23 @@ addition to the those needed for running: glibc-devel, gcc-c++, libstdc++-devel, guile-devel, flex, bison, texinfo, tetex-devel, groff, libgr-progs. +LinuxPPC +-------- + + Some LinuxPPC RPMS should available from +`ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/binaries/'. + + A LinuxPPC RPM can be made using the `lilypond.redhat.spec' file. + SuSE ---- - You can also compile them yourself. A spec file is in -`make/out/suse.spec'. This file is distributed along with the sources. + Some SUSE RPMS should available from +`ftp://ftp.lilypond.org/pub/LilyPond/binaries/SuSE'. + + You can also compile a RPM for SUSE yourself. A spec file is in +`make/out/lilypond.suse.spec', see the instructions for building 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 @@ -322,6 +365,8 @@ libnetpb gs_serv gs_lib gs_fonts guile Slackware --------- + No precompiled packages for Slackware are available. + Problems have been reported with Slackware 7.0; apparently, it ships with a faulty compiler. Do not compile LilyPond with -O2 on this platform. @@ -329,17 +374,31 @@ platform. Mandrake -------- - [TODO] + Some binaries are available at rpmfind.net. Refer to +`http://rpmfind.net/linux/mandrake/cooker/contrib/RPMS/'. + + You can also compile a RPM for Mandrake yourself. A spec file is in +`make/out/lilypond.mandrake.spec', see the instructions for building +the Red Hat RPM. Debian GNU/Linux ---------------- A Debian package is also available. You may install it easily by -using apt-get as root: +running `apt-get' as root: + + apt-get install lilypond lilypond-doc + + You can also compile the .deb for Debian yourself, do: + + apt-get -b source lilypond + + If you're real impatient, you may even do: - apt-get install lilypond1.3 + cd lilypond-x.y.z # a previous version + uscan # download and build latest directly from upstream - Debian's tex installation is a bit short on memory, you may want to + Debian's TeX installation is a bit short on memory, you may want to increase it like this: --- /etc/texmf/texmf.cnf.dpkg Sun Jan 28 14:12:14 2001 +++ /etc/texmf/texmf.cnf Fri Apr 27 11:09:35 2001 @@ -354,22 +413,24 @@ increase it like this: obj_tab_size.context = 256000 + You could also export `extra_mem_top' and `extra_mem_bot' as +environment variables if you do not want to or cannot modify +`/etc/texmf/texmf.cnf'. + Alternatively, visit * http://packages.debian.org/lilypond (http://packages.debian.org/lilypond) - * http://ftp.debian.org/debian/pool/main/l/lilypond1.3/ - (http://ftp.debian.org/debian/pool/main/l/lilypond1.3/) for latest - package uploaded to Debian unstable; - * http://people.debian.org/~foka/lilypond/ (http://people.debian.org/~foka/lilypond/) for latest - semi-unofficial build of LilyPond 1.3.121 for Debian 2.2r2 - (potato) users. The official stable Debian 2.2r2 is stuck with - the old LilyPond-1.3.24. + semi-unofficial build of LilyPond 1.4.2 for Debian 2.2 (potato) + users. The official stable Debian 2.2 is stuck with the old + LilyPond-1.3.24. Since LilyPond-1.4 has been released, the older + lilypond1.3 Debian package is now obsolete. - You may contact Anthony Fok for more information. + Please contact Anthony Fok for more +information. The build scripts are in the subdirectory `debian/'; you can make the .deb by doing, for example: @@ -377,40 +438,48 @@ the .deb by doing, for example: $ su - root # dpkg --purge lilypond lilypond1.3 # exit - $ tar xzf lilypond-1.3.122.tar.gz - $ cd lilypond-1.3.122 - $ dch -p -v 1.3.122-0.local.1 "Local build." - $ debuild + $ tar xzf lilypond-1.4.3.tar.gz + $ cd lilypond-1.4.3 + $ dch -p -v 1.4.3-0.local.1 "Local build." + $ debuild -B $ su - root - # dpkg -i ../lilypond1.3_1.3.122*.deb + # dpkg -i ../lilypond_1.4.3*.deb # exit $ + Use command `debuild' instead of `debuild -B' if you have a very +fast machine and want to build the HTML, PS and DVI documentation too. + For compilation on a Debian GNU/Linux system you need these packages, in addition to the those needed for running: - * g++, cpp, libc6-dev, libstdc++-dev + * g++, cpp, libc6-dev, libstdc++-dev - * libguile-dev + * libguile-dev * make, m4, flex, bison * gettext - * groff, texinfo, bibtex2html (not in 2.2r2) + * groff, texinfo + + * bibtex2html (not in Debian 2.2) * tetex-base, tetex-bin, tetex-extra, libkpathsea-dev or tetex-dev * dpkg-dev, debhelper, fakeroot - * gs, netpbm, pnmtopng + * gs, netpbm + + * pnmtopng (only in Debian 2.2; pnmtopng has been merged with netpbm + in Debian testing/unstable.) - Most of these are listed on the Build-Depends line in the -debian/control file. To ensure the creation of the lilypond deb is + Most of these are listed on the `Build-Depends' line in the +`debian/control' file. To ensure the creation of the lilypond deb is trouble-free, we recommend that you first install the following packages -before starting dpkg-buildpackage by running apt-get as root. +by running \`apt-get' as root before building the package: - For Debian 2.2 (or 2.2r2, 2.2r3): + For Debian 2.2: apt-get install task-debian-devel task-c++-dev \ python-base libguile6-dev tetex-bin tetex-dev \ @@ -419,10 +488,11 @@ before starting dpkg-buildpackage by running apt-get as root. For Debian in development ("unstable", the future 2.3 or 3.0): - 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 pnmtopng m4 gettext + netpbm m4 gettext And, just so that old fonts from previous versions of LilyPond won't interfere with your build, you may want to do this before the build too: @@ -432,13 +502,25 @@ interfere with your build, you may want to do this before the build too: Problems ======== - For help and questions use and -. Please consult the faq before mailing -your problems. If you find bugs, please send bug reports to -. + For help and questions use . Please consult +the FAQ before mailing your problems. If you find bugs, please send +bug reports to . Bugs that are not fault of LilyPond are documented here. +FLex-2.5.4a and gcc-3.0 +----------------------- + + Flex 2.5.4a does not produce g++-3.0 compliant C++ code. To compile +LilyPond with gcc-3.0 you may do: + + CC=gcc-3.0 CXX=g++-3.0 ./configure --enable-config=gcc-3.0 + make conf=gcc-3.0 -C lily out-gcc-3.0/lexer.cc + patch -p1 < lexer-gcc-3.0.patch + make conf=gcc-3.0 -C lily + + Note that this is fixed in Debian/unstable for flex >= 2.5.4a-13. + NetBSD ------