*****************
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
+ 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
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
+ Bison 1.875
+ 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
unsuccessful, though a workaround is available (see *note LilyDev:
(lilypond-contributor)LilyDev.).
-Requirements
-============
+1.2 Requirements
+================
-Requirements for running LilyPond
----------------------------------
+1.2.1 Requirements for running LilyPond
+---------------------------------------
Running LilyPond requires proper installation of the following software:
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
* Type 1 utilities (http://www.lcdf.org/~eddietwo/type/#t1utils)
(1.33 or newer recommended)
-Requirements for building documentation
----------------------------------------
+1.2.3 Requirements for building documentation
+---------------------------------------------
You can view the documentation online at
`http://www.lilypond.org/doc/', but you can also build it locally.
xfonts-cronyx-100dpi
xfonts-intl-.*
-Getting the source code
-=======================
+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.
*note Generating documentation:: provides more info on the `make'
targets used to build the LilyPond documentation.
-Saving time with the `-j' option
---------------------------------
+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
.........................................
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
$ make
Compiling on MacOS X
-....................
+--------------------
Here are special instructions for compiling under MacOS X. These
instructions assume that dependencies are installed using MacPorts.
--with-ncsb-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
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'