Even numbered minor versions are `stable' (2.6, 2.8, etc), while odd
version are development releases (2.7, 2.9, etc). Building LilyPond
is an involved process. If possible
download a precompiled binary for
your platform.
Download source
The repository does not contain generated files. To create
configure, run
For information on packaging, see http://lilypond.org/devel.
Check out http://lilypond.org/web/install/ for up to date
information on binary packages for your platform.
In addition to the packages needed for running Lilypond (see below),
you need the following extra packages for building.
When installing a binary package FOO, you may need to install the
FOO-devel, libFOO-dev or FOO-dev package too.
You will need to install some additional packages to get mftrace to
work.
Running LilyPond requires proper installation of the following
software
International fonts are required to create music with international text
or lyrics.
You can view the documentation online at
http://lilypond.org/doc/, but you can also build it locally.
This process requires a successful compile of lilypond. The
documentation is built by issuing
Building the website requires some additional tools and packages
The HTML files can be installed into the standard documentation path
by issuing
LilyPond comes with an extensive suite that excercises the entire
program. This suite can be used to automatically check the impact of a
change. This is done as follows
This will leave an HTML page out/test-results/index.html. This
page shows all the important differences that your change introduced,
whether in the layout, MIDI, performance or error reporting.
To rerun tests, use
and then run For tracking memory usage as part of this test, you will need GUILE
CVS; especially the following patch:
http://lilypond.org/vc/gub.darcs/patches/guile-1.9-gcstats.patch.
For checking the coverage of the test suite, do the following
To install GNU LilyPond, type
If you are not root, you should choose a If you want to build multiple versions of LilyPond with different
configuration settings, you can use the and for the profiling version, specify a different configuration
An Emacs mode for entering music and running LilyPond is contained in
the source archive in the elisp directory. Do make
install to install it to elispdir. The file lilypond-init.el
should be placed to load-path/site-start.d/ or appended
to your ~/.emacs or ~/.emacs.el.
As a user, you may want add your source path (e.g. ~/site-lisp/) to
your load-path by appending the following line (as modified) to your
~/.emacs
A Vim mode for entering music and running LilyPond is contained in the
source archive in The LilyPond file type is detected if the file ~/.vim/filetype.vim has the following content
Please include this path by appending the following line to your
~/.vimrc
where ${LILYPOND_VERSION} is your lilypond version. If Lilypond was not
installed in /usr/local/, then change this path accordingly.
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.
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
For Fink, use the following command to compile.
./configure needs a POSIX compliant shell. On Solaris7,
/bin/sh is not yet POSIX compliant, but /bin/ksh or bash
is. Run configure like
To use system fonts, dejaview must be installed. With the default
port, the fonts are installed in usr/X11R6/lib/X11/fonts/dejavu.
Open the file $LILYPONDBASE/usr/etc/fonts/local.conf and add the
following line just after the On MacOs X, all fonts are installed by default. However, finding all
system fonts requires a bit of configuration; see
this post on the On Linux, international fonts are installed by different means on
every distribution. We cannot list the exact commands or packages
that are necessary, as each distribution is different, and the exact
package names within each distribution changes. Here are some
hints, though:
This page is for LilyPond-2.11.28 (development-branch).
1.1 Downloading
1.1.1 Source code
git clone git://git.sv.gnu.org/lilypond.git
./autogen.sh
1.1.2 Precompiled binary packages
1.2 Requirements
1.2.1 Compilation
1.2.2 Running requirements
1.2.3 Building documentation
make web
make out=www web-install
1.3 Testing LilyPond
make test-baseline
## apply your changes, compile
make check
make test-redo ## redo files differing from baseline
make test-clean ## remove all test results
make check
again.
./buildscripts/build-coverage.sh
# uncovered files, least covered first
python ./buildscripts/coverage.py --summary out-cov/*.cc
# consecutive uncovered lines, longest first
python ./buildscripts/coverage.py --uncovered out-cov/*.cc
1.4 Building LilyPond
gunzip -c lilypond-x.y.z | tar xf -
cd lilypond-x.y.z
./configure # run with --help for applicable options
make
make install
--prefix
argument that
points into your home directory, e.g.
./configure --prefix=$HOME/usr
1.4.1 Configuring for multiple platforms
--enable-config=CONF
option of configure. You should use `make conf=CONF' to generate
the output in out-CONF. Example: Suppose you want to build
with and without profiling, then use the following for the normal
build
./configure --prefix=$HOME/usr/ --enable-checking
make
make install
./configure --prefix=$HOME/usr/ --enable-profiling --enable-config=prof --disable-checking
make conf=prof
make conf=prof install
1.5 Emacs mode
(setq load-path (append (list (expand-file-name "~/site-lisp")) load-path))
1.6 Vim mode
$VIM
directory.
if exists("did_load_filetypes")
finish
endif
augroup filetypedetect
au! BufNewFile,BufRead *.ly setf lilypond
augroup END
set runtimepath+=/usr/local/share/lilypond/${LILYPOND_VERSION}/vim/
1.7 Problems
1.7.1 Bison 1.875
$ cd lily; make out/parser.cc
$ vi +4919 out/parser.cc
# append a semicolon to the line containing "__attribute__ ((__unused__))
# save
$ make
MacOS X
export GUILE=guile-1.6
export GUILE_CONFIG=guile-1.6-config
export PKG_CONFIG_PATH=/sw/lib/freetype219/lib/pkgconfig/:/sw/lib/fontconfig2/lib/pkgconfig/
./configure
Solaris
or
CONFIG_SHELL=/bin/ksh ksh -c ./configure
CONFIG_SHELL=/bin/bash bash -c ./configure
<fontconfig>
line. (Adjust as necessary
for your hierarchy.)
<dir>/usr/X11R6/lib/X11/fonts</dir>
1.8 International fonts
lilypond-user
mailing list.
Red Hat Fedora
taipeifonts fonts-xorg-truetype ttfonts-ja fonts-arabic \
ttfonts-zh_CN fonts-ja fonts-hebrew
Debian GNU/Linux
apt-get install emacs-intl-fonts xfonts-intl-.* \
ttf-kochi-gothic ttf-kochi-mincho \
xfonts-bolkhov-75dpi xfonts-cronyx-100dpi xfonts-cronyx-75dpi
Report errors to http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs.
Your suggestions for the documentation are welcome.