*****************
INSTALL - compiling and installing GNU LilyPond
- Overview of compiling
- Requirements
- Requirements for running LilyPond
- Requirements for compiling LilyPond
- Requirements for building documentation
- Getting the source code
- Configuring `make'
- Running `./autogen.sh'
- Running `../configure'
+1 Compilation
+ 1.1 Overview of compiling
+ 1.2 Requirements
+ 1.2.1 Requirements for running LilyPond
+ 1.2.2 Requirements for compiling LilyPond
+ Fedora
+ Linux Mint
+ OpenSUSE
+ Ubuntu
+ Other
+ 1.2.3 Requirements for building documentation
+ 1.3 Getting the source code
+ 1.4 Configuring `make'
+ 1.4.1 Running `./autogen.sh'
+ 1.4.2 Running `../configure'
Configuration options
Checking build dependencies
Configuring target directories
- Compiling LilyPond
- Using `make'
- Saving time with the `-j' option
- Compiling for multiple platforms
- Useful `make' variables
- Post-compilation options
- Installing LilyPond from a local build
- Generating documentation
+ 1.5 Compiling LilyPond
+ 1.5.1 Using `make'
+ 1.5.2 Saving time with the `-j' option
+ 1.5.3 Compiling for multiple platforms
+ 1.5.4 Useful `make' variables
+ 1.6 Post-compilation options
+ 1.6.1 Installing LilyPond from a local build
+ 1.6.2 Generating documentation
Documentation editor's edit/compile cycle
Building documentation
+ Building a single document
Saving time with `CPU_COUNT'
AJAX search
Installing documentation
Building documentation without compiling
- Testing LilyPond binary
- Problems
- Bison 1.875
- Compiling on MacOS X
- Solaris
- FreeBSD
- International fonts
- Using lilypond python libraries
- Concurrent stable and development versions
- Build system
+ 1.6.3 Testing LilyPond binary
+ 1.7 Problems
+ Compiling on MacOS X
+ Solaris
+ FreeBSD
+ International fonts
+ Using lilypond python libraries
+ 1.8 Concurrent stable and development versions
+ 1.9 Build system
-Overview of compiling
-=====================
+1 Compilation
+*************
+
+1.1 Overview of compiling
+=========================
Compiling LilyPond from source is an involved process, and is only
recommended for developers and packagers. Typical program users are
information, see *note Building documentation without compiling::.
Attempts to compile LilyPond natively on Windows have been
-unsuccessful, though a workaround is available (see *note Lilydev:
-(lilypond-contributor)Lilydev.).
+unsuccessful, though a workaround is available (see *note LilyDev:
+(lilypond-contributor)LilyDev.).
-Requirements
-============
+1.2 Requirements
+================
+
+1.2.1 Requirements for running LilyPond
+---------------------------------------
+
+This section contains the list of separate software packages that are
+required to run LilyPond.
+
+ * DejaVu fonts (http://www.dejavu-fonts.org/) These are normally
+ installed by default.
-Requirements for running LilyPond
----------------------------------
+ * FontConfig (http://www.fontconfig.org/) Use version 2.4.0 or newer.
-Running LilyPond requires proper installation of the following software:
+ * Freetype (http://www.freetype.org/) Use version 2.1.10 or newer.
- * DejaVu fonts (http://www.dejavu-fonts.org/) (normally installed by
- default)
+ * Ghostscript (http://www.ghostscript.com) Use version 8.60 or newer.
- * FontConfig (http://www.fontconfig.org/) (2.4.0 or newer)
+ * Guile (http://www.gnu.org/software/guile/guile.html) Use version
+ 1.8.8. Version 2.x of Guile is not currently supported.
- * Freetype (http://www.freetype.org/) (2.1.10 or newer)
+ * Pango (http://www.pango.org/) User version 1.12 or newer.
- * Ghostscript (http://www.ghostscript.com) (8.60 or newer)
+ * Python (http://www.python.org) Use version 2.4 or newer.
+
+ * International fonts. For example:
+
+ Fedora:
+
+ fonts-arabic
+ fonts-hebrew
+ fonts-ja
+ fonts-xorg-truetype
+ taipeifonts
+ ttfonts-ja
+ ttfonts-zh_CN
- * Guile (http://www.gnu.org/software/guile/guile.html) (1.8.2 or
- newer)
+ Debian based distributions:
- * Pango (http://www.pango.org/) (1.12 or newer)
+ emacs-intl-fonts
+ fonts-ipafont-gothic
+ fonts-ipafont-mincho
+ xfonts-bolkhov-75dpi
+ xfonts-cronyx-75dpi
+ xfonts-cronyx-100dpi
+ xfonts-intl-.*
- * Python (http://www.python.org) (2.4 or newer)
+ These are normally installed by default and are required only to
+ create music with international text or lyrics.
- International fonts are required to create music with international
-text or lyrics.
-Requirements for compiling LilyPond
------------------------------------
+1.2.2 Requirements for compiling LilyPond
+-----------------------------------------
-Below is a full list of packages needed to build LilyPond. However,
-for most common distributions there is an easy way of installing most
-all build dependencies in one go:
+This section contains instructions on how to quickly and easily get all
+the software packages required to build LilyPond.
-Distribution Command
---------------------------------------------------------------------------
-Debian, Ubuntu `sudo apt-get build-dep lilypond'
-Fedora, RHEL `sudo yum-builddep lilypond'
-openSUSE, SLED `sudo zypper --build-deps-only
- source-install lilypond'
+ Most of the more popular Linux distributions only require a few
+simple commands to download all the software needed. For others, there
+is an explicit list of all the individual packages (as well as where to
+get them from) for those that are not already included in your
+distributions' own repositories.
- * Everything listed in *note Requirements for running LilyPond::
+Fedora
+......
- * Development packages for the above items (which should include
- header files and libraries).
+The following instructions were tested on `Fedora' versions 22 & 23 and
+will download all the software required to both compile LilyPond and
+build the documentation.
- Red Hat Fedora:
+ * Download and install all the LilyPond build-dependencies
+ (approximately 700MB);
- guile-devel-VERSION
- fontconfig-devel-VERSION
- freetype-devel-VERSION
- pango-devel-VERSION
- python-devel-VERSION
+ sudo dnf builddep lilypond --nogpgcheck
- Debian GNU/Linux:
+ * Download and install additional `build' tools required for
+ compiling;
- guile-VERSION-dev
- libfontconfig1-dev
- libfreetype6-dev
- libpango1.0-dev
- pythonVERSION-dev
+ sudo dnf install autoconf gcc-c++
- * Flex (http://flex.sourceforge.net/)
+ * Download `texi2html 1.82' directly from:
+ `http://download.savannah.gnu.org/releases/texi2html/texi2html-1.82.tar.gz';
+
+ `texi2html' is only required if you intend to compile LilyPond's
+ own documentation (e.g. to help with any document writing). The
+ version available in the Fedora repositories is too new and will
+ not work. Extract the files into an appropriate location and then
+ run the commands;
+
+ ./configure
+ make
+ sudo make install
+
+ This should install `texi2html 1.82' into `/usr/local/bin', which
+ will normally take priority over `/usr/bin' where the later,
+ pre-installed versions gets put. Now verify that your operating
+ system is able to see the correct version of `texi2html'.
+
+ texi2html --version
+
+ * Although not `required' to compile LilyPond, if you intend to
+ contribute to LilyPond (codebase or help improve the
+ documentation) then it is recommended that you also need to
+ install `git'.
+
+ sudo dnf install git
+
+ Also see *note Starting with Git: (lilypond-notation)Starting with
+ Git.
+
+ * To use the `lily-git.tcl' GUI;
+
+ sudo dnf install tk
+
+ See *note lily-git: (lilypond-notation)lily-git.
+
+
+ Note: By default, when building LilyPond's documentation,
+ `pdfTeX' is be used. However ligatures (fi, fl, ff etc.) may
+ not be printed in the PDF output. In this case XeTeX can be
+ used instead. Download and install the `texlive-xetex'
+ package.
+
+ sudo dnf install texlive-xetex
+
+ The scripts used to build the LilyPond documentation will use
+ `XeTex' instead of `pdfTex' to generate the PDF documents if
+ it is available. No additional configuration is required.
+
+Linux Mint
+..........
+
+The following instructions were tested on `Linux Mint 17.1' and `LMDE -
+Betsy' and will download all the software required to both compile
+LilyPond and build the documentation..
+
+ * Enable the _sources_ repository;
+
+ 1. Using the _Software Sources_ GUI (located under
+ _Administration_).
+
+ 2. Select _Official Repositories_.
+
+ 3. Check the _Enable source code repositories_ box under the
+ _Source Code_ section.
+
+ 4. Click the _Update the cache_ button and when it has completed,
+ close the _Software Sources_ GUI.
+
+
+ * Download and install all the LilyPond build-dependencies
+ (approximately 200MB);
+
+ sudo apt-get build-dep lilypond
+
+ * Download and install additional `build' tools required for
+ compiling;
+
+ sudo apt-get install autoconf fonts-texgyre texlive-lang-cyrillic
+
+ * Although not `required' to compile LilyPond, if you intend to
+ contribute to LilyPond (codebase or help improve the
+ documentation) then it is recommended that you also need to
+ install `git'.
+
+ sudo apt-get install git
+
+ Also see *note Starting with Git: (lilypond-notation)Starting with
+ Git.
+
+ * To use the `lily-git.tcl' GUI;
+
+ sudo apt-get install tk
+
+ Also see *note lily-git: (lilypond-notation)lily-git.
+
+
+ Note: By default, when building LilyPond's documentation,
+ `pdfTeX' is be used. However ligatures (fi, fl, ff etc.) may
+ not be printed in the PDF output. In this case XeTeX can be
+ used instead. Download and install the `texlive-xetex'
+ package.
+
+ sudo apt-get install texlive-xetex
+
+ The scripts used to build the LilyPond documentation will use
+ `XeTex' instead of `pdfTex' to generate the PDF documents if
+ it is available. No additional configuration is required.
+
+OpenSUSE
+........
+
+The following instructions were tested on `OpenSUSE 13.2' and will
+download all the software required to both compile LilyPond and build
+the documentation.
+
+ * Add the _sources_ repository;
+
+ sudo zypper addrepo -f \
+ "http://download.opensuse.org/source/distribution/13.2/repo/oss/" sources
+
+ * Download and install all the LilyPond build-dependencies
+ (approximately 680MB);
+
+ sudo zypper source-install lilypond
+
+ * Download and install additional `build' tools required for
+ compiling;
+
+ sudo zypper install make
+
+ * Although not `required' to compile LilyPond, if you intend to
+ contribute to LilyPond (codebase or help improve the
+ documentation) then it is recommended that you also need to
+ install `git'.
+
+ sudo zypper install git
+
+ Also see *note Starting with Git: (lilypond-notation)Starting with
+ Git.
+
+ * To use the `lily-git.tcl' GUI;
+
+ sudo zypper install tk
+
+ Also see *note lily-git: (lilypond-notation)lily-git.
+
+
+ Note: By default, when building LilyPond's documentation,
+ `pdfTeX' is be used. However ligatures (fi, fl, ff etc.) may
+ not be printed in the PDF output. In this case XeTeX can be
+ used instead. Download and install the `texlive-xetex'
+ package.
+
+ sudo zypper install texlive-xetex
+
+ The scripts used to build the LilyPond documentation will use
+ `XeTex' instead of `pdfTex' to generate the PDF documents if
+ it is available. No additional configuration is required.
+
+Ubuntu
+......
+
+The following commands were tested on Ubuntu versions `14.04 LTS',
+`14.10' and `15.04' and will download all the software required to both
+compile LilyPond and build the documentation.
+
+ * Download and install all the LilyPond build-dependencies
+ (approximately 200MB);
+
+ sudo apt-get build-dep lilypond
+
+ * Download and install additional `build' tools required for
+ compiling;
+
+ sudo apt-get install autoconf fonts-texgyre texlive-lang-cyrillic
+
+ * Although not `required' to compile LilyPond, if you intend to
+ contribute to LilyPond (codebase or help improve the
+ documentation) then it is recommended that you also need to
+ install `git'.
+
+ sudo apt-get install git
- * FontForge (http://fontforge.sf.net/) (20060125 or newer; 20100501
- or newer is recommended; must be compiled with `--enable-double'.
- Failure to do so can lead to poor intersection calculations and
- poorly-rendered glyphs.)
+ Also see *note Starting with Git: (lilypond-notation)Starting with
+ Git.
+
+ * To use the `lily-git.tcl' GUI;
+
+ sudo apt-get install tk
+
+ Also see *note lily-git: (lilypond-notation)lily-git.
+
+
+ Note: By default, when building LilyPond's documentation,
+ `pdfTeX' is be used. However ligatures (fi, fl, ff etc.) may
+ not be printed in the PDF output. In this case XeTeX can be
+ used instead. Download and install the `texlive-xetex'
+ package.
+
+ sudo apt-get install texlive-xetex
+
+ The scripts used to build the LilyPond documentation will use
+ `XeTex' instead of `pdfTex' to generate the PDF documents if
+ it is available. No additional configuration is required.
+
+Other
+.....
+
+The following individual software packages are required just to compile
+LilyPond.
+
+ * GNU Autoconf (http://www.gnu.org/software/autoconf)
* GNU Bison (http://www.gnu.org/software/bison/)
- * GNU Compiler Collection (http://gcc.gnu.org/) (3.4 or newer, 4.X
- recommended)
+ Use version `2.0' or newer.
+
+ * GNU Compiler Collection (http://gcc.gnu.org/)
+
+ Use version `3.4' or newer (`4.x' recommended).
+
+ * Flex (http://flex.sourceforge.net/)
+
+ * FontForge (http://fontforge.sf.net/)
+
+ Use version `20060125' or newer (we recommend using at least
+ `20100501'); it must also be compiled with the `--enable-double'
+ switch, else this can lead to inaccurate intersection calculations
+ which end up with poorly-rendered glyphs in the output.
* GNU gettext (http://www.gnu.org/software/gettext/gettext.html)
- (0.17 or newer)
- * GNU Make (http://www.gnu.org/software/make/) (3.78 or newer)
+ Use version `0.17' or newer.
- * MetaFont (http://metafont.tutorial.free.fr/) (mf-nowin, mf, mfw or
- mfont binaries), usually packaged with TeX
- (http://www.latex-project.org/ftp.html).
+ * GNU Make (http://www.gnu.org/software/make/)
+
+ Use version `3.78' or newer.
+
+ * MetaFont (http://metafont.tutorial.free.fr/)
+
+ The `mf-nowin', `mf', `mfw' or `mfont' binaries are usually
+ packaged along with TeX (http://www.latex-project.org/ftp.html).
+
+ * MetaPost (http://cm.bell-labs.com/who/hobby/MetaPost.html)
- * MetaPost (http://cm.bell-labs.com/who/hobby/MetaPost.html) (mpost
- binary), usually packaged with TeX
+ The `mpost' binary is also usually packaged with TeX
(http://www.latex-project.org/ftp.html).
* Perl (http://www.perl.org/)
- * Texinfo (http://www.gnu.org/software/texinfo/) (4.11 or newer)
+ * Texinfo (http://www.gnu.org/software/texinfo/)
+
+ Use version `4.11' or newer.
* Type 1 utilities (http://www.lcdf.org/~eddietwo/type/#t1utils)
- (1.33 or newer recommended)
-Requirements for building documentation
----------------------------------------
+ Use version `1.33' or newer.
+
+ * Cyrillic fonts (https://www.ctan.org/pkg/cyrillic?lang=en)
+
+ Often packaged in repositories as `texlive-lang-cyrillic'.
+
+ * TeX Gyre `OTF' font packages. As of LilyPond version `2.19.26',
+ the previous default serif, san serif and monospace fonts now use
+ Tex Gyre's _Schola_, _Heros_ and _Cursor_ fonts respectively.
+ Also See *note Fonts: (lilypond-notation)Fonts.
+
+ Some distributions do not always provide `OTF' font files in the
+ Tex Gyre packages from their repositories. Use the command
+ `fc-list | grep texgyre' to list the fonts available to your system
+ and check that the appropriate `*.otf' files are reported. If they
+ are not then download and manually extract the `OTF' files to
+ either your local `~/.fonts/' directory or use the `configure'
+ command and the `--with-texgyre-dir=/path_to_otf_files/' option.
+
+ The following font families are required:
+
+ Schola (http://www.gust.org.pl/projects/e-foundry/tex-gyre/schola),
+ Heros (http://www.gust.org.pl/projects/e-foundry/tex-gyre/heros)
+ and Cursor
+ (http://www.gust.org.pl/projects/e-foundry/tex-gyre/cursor).
+
+
+1.2.3 Requirements for building documentation
+---------------------------------------------
+
+The entire set of documentation for the most current build of LilyPond
+is available online at
+`http://lilypond.org/doc/v2.19/Documentation/web/development', but you
+can also build them locally from the source code. This process
+requires some additional tools and packages.
-You can view the documentation online at
-`http://www.lilypond.org/doc/', but you can also build it locally.
-This process requires some additional tools and packages:
+ Note: If the instructions for one of the previously listed
+ Linux in the previous section (*note Requirements for
+ compiling LilyPond: (lilypond-contributor)Requirements for
+ compiling LilyPond.) have been used, then the following can
+ be ignored as the software should already be installed.
* Everything listed in *note Requirements for compiling LilyPond::
* rsync (http://rsync.samba.org/)
- * Texi2HTML (http://www.nongnu.org/texi2html/) (1.82)
+ * Texi2HTML (http://www.nongnu.org/texi2html/)
- * International fonts
+ Use version `1.82'. Later versions will not work.
- Red Hat Fedora:
+ Download `texi2html 1.82' directly from:
+ `http://download.savannah.gnu.org/releases/texi2html/texi2html-1.82.tar.gz';
- fonts-arabic
- fonts-hebrew
- fonts-ja
- fonts-xorg-truetype
- taipeifonts
- ttfonts-ja
- ttfonts-zh_CN
+ Extract the files into an appropriate location and then run the
+ commands;
- Debian GNU/Linux:
+ ./configure
+ make
+ sudo make install
+
+ Now verify that your operating system is able to see the correct
+ version of `texi2html'.
+
+ texi2html --version
+
+ * Fonts required to build the documentation in addition to those
+ required to run LilyPond:
+
+ gsfonts
+ fonts-linuxlibertine
+ fonts-liberation
+ fonts-dejavu
+ fonts-freefont-otf
+ ttf-bitstream-vera
+ texlive-fonts-recommended
+ ttf-xfree86-nonfree
- emacs-intl-fonts
- ttf-kochi-gothic
- ttf-kochi-mincho
- xfonts-bolkhov-75dpi
- xfonts-cronyx-75dpi
- xfonts-cronyx-100dpi
- xfonts-intl-.*
-Getting the source code
-=======================
+ Note: By default, when building LilyPond's documentation,
+ `pdfTeX' is be used. However ligatures (fi, fl, ff etc.) may
+ not be printed in the PDF output. In this case XeTeX can be
+ used instead. Download and install the `texlive-xetex'
+ package. The scripts used to build the LilyPond documentation
+ will use `XeTex' instead of `pdfTex' to generate the PDF
+ documents if it is available. No additional configuration is
+ required.
+
+1.3 Getting the source code
+===========================
Downloading the Git repository
------------------------------
download and install the free-software 7zip archiver
(http://www.7-zip.org) to extract the tarball.
-Configuring `make'
-==================
+1.4 Configuring `make'
+======================
-Running `./autogen.sh'
-----------------------
+1.4.1 Running `./autogen.sh'
+----------------------------
After you unpack the tarball (or download the Git repository), the
contents of your top source directory should be similar to the current
We heavily recommend building lilypond inside a separate directory
with this method.
-Running `../configure'
-----------------------
+1.4.2 Running `../configure'
+----------------------------
Configuration options
.....................
If you encounter any problems, please see *note Problems::.
-Compiling LilyPond
-==================
+1.5 Compiling LilyPond
+======================
-Using `make'
-------------
+1.5.1 Using `make'
+------------------
Note: make sure that you are in the `build/' subdirectory of
your source tree.
TODO: Describe what `make' actually does.
-Saving time with the `-j' option
---------------------------------
+
+
+See also
+........
+
+
+
+ *note Generating documentation:: provides more info on the `make'
+targets used to build the LilyPond documentation.
+
+1.5.2 Saving time with the `-j' option
+--------------------------------------
If your system has multiple CPUs, you can speed up compilation by
adding `-jX' to the `make' command, where `X' is one more than the
difficult to determine the source of an error when one occurs. In that
case, running `make' without the `-j' is advised.
-Compiling for multiple platforms
---------------------------------
+1.5.3 Compiling for multiple platforms
+--------------------------------------
If you want to build multiple versions of LilyPond with different
configuration settings, you can use the `--enable-config=CONF' option
*note Installing LilyPond from a local build::
-Useful `make' variables
------------------------
+1.5.4 Useful `make' variables
+-----------------------------
If a less verbose build output if desired, the variable `QUIET_BUILD'
may be set to `1' on `make' command line, or in `local.make' at top of
the build tree.
-Post-compilation options
-========================
+1.6 Post-compilation options
+============================
-Installing LilyPond from a local build
---------------------------------------
+1.6.1 Installing LilyPond from a local build
+--------------------------------------------
If you configured `make' to install your local build in a directory
where you normally have write permission (such as your home directory),
the installation directory to one that you can write to, and then
re-install. See *note Configuring target directories::.
-Generating documentation
-------------------------
+1.6.2 Generating documentation
+------------------------------
Documentation editor's edit/compile cycle
.........................................
* Initial documentation build:
make [-jX]
- make [-jX CPU_COUNT=X] doc _## can take an hour or more_
+ make [-jX CPU_COUNT=X] doc _## can take an hour or more_
+ make [-jX CPU_COUNT=X] doc-stage-1 _## to build only PDF documentation_
* Edit/compile cycle:
make [-jX] _## needed if editing outside_
_## Documentation/, but useful anyway_
_## for finding Texinfo errors._
- touch Documentation/*te?? _## bug workaround_
make [-jX CPU_COUNT=X] doc _## usually faster than initial build._
* Reset:
- In some cases, it is possible to clean the compiled documentation
- with `make doc-clean', but this method is not guaranteed to fix
- everything. Instead, we recommend that you delete your `build/'
- directory, and begin compiling from scratch. Since the
- documentation compile takes much longer than the non-documentation
- compile, this does not increase the overall time by a great deal.
+ It is generally possible to remove the compiled documentation from
+ your system with `make doc-clean', but this method is not 100%
+ guaranteed. Instead, if you want to be sure you have a clean
+ system, we recommend that you delete your `build/' directory, and
+ begin compiling from scratch. Since the documentation compile
+ takes much longer than the non-documentation compile, this does
+ not increase the overall time by a great deal.
Building documentation
make doc
- The first time you run `make doc', the process can easily take an
-hour or more. After that, `make doc' only makes changes to the
-pre-built documentation where needed, so it may only take a minute or
-two to test changes if the documentation is already built.
+ or, to build only the PDF documentation and not the HTML,
+
+ make doc-stage-1
+
+ Note: The first time you run `make doc', the process can
+ easily take an hour or more with not much output on the
+ command line.
+
+ After this initial build, `make doc' only makes changes to the
+documentation where needed, so it may only take a minute or two to test
+changes if the documentation is already built.
If `make doc' succeeds, the HTML documentation tree is available in
`out-www/offline-root/', and can be browsed locally. Various portions
broken in those places; the only complete set of documentation is in
`out-www/offline-root/' from the top of the source tree.
+ `make doc' sends the output from most of the compilation to
+logfiles. If the build fails for any reason, it should prompt you with
+the name of a logfile which will provide information to help you work
+out why the build failed. These logfiles are not deleted with
+`make doc-clean'. To remove all the logfiles generated by the
+compilation process, use:
+
+ make log-clean
+
+ `make doc' compiles the documents for all languages. To save some
+compile time, the English language documents can be compiled on their
+own with:
+
+ make LANGS='' doc
+
+Similarly, it is possible to compile a subset of the translated
+documentation by specifying their language codes on the command line.
+For example, the French and German translations are compiled with:
+
+ make LANGS='de fr' doc
+
+Note that this will also compile the English version.
+
Compilation of documentation in Info format with images can be done
separately by issuing:
make info
+An issue when switching branches between master and translation is the
+appearance/disappearance of translated versions of some manuals. If
+you see such a warning from make:
-Known issues and warnings
-.........................
-
-If source files have changed since the last documentation build, output
-files that need to be rebuilt are normally rebuilt, even if you do not
-run `make doc-clean' first. However, build dependencies in the
-documentation are so complex that some newly-edited files may not be
-rebuilt as they should be; a workaround is to `touch' the top source
-file for any manual you've edited. For example, if you make changes to
-a file in `notation/', do:
-
- touch Documentation/notation.tely
+ No rule to make target `X', needed by `Y'
-The top sources possibly affected by this are:
+Your best bet is to delete the file Y.dep and to try again.
- Documentation/extend.texi
- Documentation/changes.tely
- Documentation/contributor.texi
- Documentation/essay.tely
- Documentation/extending.tely
- Documentation/learning.tely
- Documentation/notation.tely
- Documentation/snippets.tely
- Documentation/usage.tely
- Documentation/web.texi
+Building a single document
+..........................
-You can `touch' all of them at once with:
+It's possible to build a single document. For example, to rebuild only
+`contributor.pdf', do the following:
- touch Documentation/*te??
+ cd build/
+ cd Documentation/
+ touch ../../Documentation/contributor.texi
+ make out=www out-www/contributor.pdf
-However, this will rebuild all of the manuals indiscriminately--it is
-more efficient to `touch' only the affected files.
+ If you are only working on a single document, test-building it in
+this way can give substantial time savings - recreating
+`contributor.pdf', for example, takes a matter of seconds.
Saving time with `CPU_COUNT'
............................
export DYLD_FALLBACK_LIBRARY_PATH=/opt/local/lib
exec /opt/local/bin/pngtopnm "$@"
-Testing LilyPond binary
------------------------
+1.6.3 Testing LilyPond binary
+-----------------------------
LilyPond comes with an extensive suite that exercises the entire
program. This suite can be used to test that the binary has been built
More information on the regression test suite is found at *note
Regression tests: (lilypond-contributor)Regression tests.
-Problems
-========
+1.7 Problems
+============
For help and questions use <lilypond-user@gnu.org>. Send bug reports
to <bug-lilypond@gnu.org>.
Bugs that are not fault of LilyPond are documented here.
-Bison 1.875
-...........
-
-There is a bug in bison-1.875: compilation fails with "parse error
-before `goto'" in line 4922 due to a bug in bison. To fix, please
-recompile bison 1.875 with the following fix
-
- $ cd lily; make out/parser.cc
- $ vi +4919 out/parser.cc
- # append a semicolon to the line containing "__attribute__ ((__unused__))
- # save
- $ make
-
Compiling on MacOS X
-....................
+--------------------
Here are special instructions for compiling under MacOS X. These
instructions assume that dependencies are installed using MacPorts.
Now run the `./configure' script. To avoid complications with
automatic font detection, add
- --with-ncsb-dir=/opt/local/share/ghostscript/fonts
+ --with-fonts-dir=/opt/local/share/ghostscript/fonts
Solaris
-.......
+-------
Solaris7, ./configure
CONFIG_SHELL=/bin/bash bash -c ./configure
FreeBSD
-.......
+-------
To use system fonts, dejaview must be installed. With the default
port, the fonts are installed in `usr/X11R6/lib/X11/fonts/dejavu'.
<dir>/usr/X11R6/lib/X11/fonts</dir>
International fonts
-...................
+-------------------
On Mac OS X, all fonts are installed by default. However, finding all
system fonts requires a bit of configuration; see this post
Debian GNU/Linux
apt-get install emacs-intl-fonts xfonts-intl-.* \
- ttf-kochi-gothic ttf-kochi-mincho \
+ fonts-ipafont-gothic fonts-ipafont-mincho \
xfonts-bolkhov-75dpi xfonts-cronyx-100dpi xfonts-cronyx-75dpi
Using lilypond python libraries
-...............................
+-------------------------------
If you want to use lilypond's python libraries (either running certain
build scripts manually, or using them in other programs), set
`.../usr/lib/lilypond/current/python' in the installation directory
structure.
-Concurrent stable and development versions
-==========================================
+1.8 Concurrent stable and development versions
+==============================================
It can be useful to have both the stable and the development versions
of Lilypond available at once. One way to do this on GNU/Linux is to
- other compilation tricks for developers
-Build system
-============
+1.9 Build system
+================
We currently use make and stepmake, which is complicated and only used
by us. Hopefully this will change in the future.
Version-specific texinfo macros
-...............................
+-------------------------------
* made with `scripts/build/create-version-itexi.py' and
`scripts/build/create-weblinks-itexi.py'