Table of Contents

Compiling and installing on Unix

Downloading

Even numbered versions are `stable' (2.0, 1.8 etc), while odd version are development releases (1.9, 1.7 etc). Building LilyPond is an involved process, so if possible, download a precompiled binary from the lilypond site.

Source code

Download source tarballs from here:

Use Xdelta to patch tarballs, e.g. to patch lilypond-1.4.2.tar.gz to lilypond-1.4.3.tar.gz, do

     	xdelta patch lilypond-1.4.2-1.4.3.xd lilypond-1.4.2.tar.gz
     

For information on packaging and CVS, see http://lilypond.org/, under "development".

Precompiled binaries

Check out http://lilypond.org for up to date information on binary packages.

Font problems

If you are upgrading from a previous version of LilyPond, be sure to remove all old font files. These include .pk and .tfm files that may be located in /var/lib/texmf, /var/spool/texmf, /var/tmp/texmf or prefix/share/lilypond/fonts/. A script automating this has been included, see buildscripts/clean-fonts.sh.

Requirements

Compilation

You need the following packages to compile LilyPond:

Running requirements

GNU LilyPond does use a lot of resources. For operation you need the following software:

You have to help TeX and MetaFont find LilyPond support files. After compiling, scripts to do this can be found in buildscripts/out/lilypond-profile and buildscripts/out/lilypond-login.

Building documentation

You can view the documentation online at http://www.lilypond.org/doc/, but you can also build it locally. This process requires a successful compile of lilypond. The documentation is built by issuing:

     	make web
     

Building the website requires some additional tools:

The HTML files can be installed into the standard documentation path by issuing

             make out=www web-install
     

Building LilyPond

To install GNU LilyPond, type

     gunzip -c lilypond-x.y.z | tar xf -
     cd lilypond-x.y.z
     ./configure		# run with --help to see appropriate options
     make
     make install
     sh buildscripts/clean-fonts.sh
     

The most time-consuming part of compiling LilyPond is tracing the Type1 fonts. You can shortcut this operation by issuing one of the following commands:

       make -C mf get-pfa                # requires rpm2cpio
       make -C mf get-debian-pfa         # may not be up to date
     

If you are doing an upgrade, you should remove all feta .pk and .tfm files. A script has been provided to do the work for you, see buildscripts/clean-fonts.sh.

If you are not root, you should choose a --prefix argument that points into your home directory, e.g.:

     	./configure --prefix=$HOME/usr
     

In this case, you have to insert the contents of buildscripts/out/lilypond-login or buildscripts/out/lilypond-profile into your start up scripts by hand.

Configuring for multiple platforms

If you want to build multiple versions of LilyPond with different configuration settings, you can use the --enable-config=CONF option of configure. You should use make conf=CONF to generate the output in out-CONF. Example: Suppose I want to build with and without profiling. Then I'd use the following for the normal build:

     	./configure --prefix=$HOME/usr/ --enable-checking
     	make
     	make install
     

and for the profiling version, I specify a different configuration:

     	./configure --prefix=$HOME/usr/ --enable-profiling --enable-config=prof --disable-checking
     	make conf=prof
     	make conf=prof install
     

Emacs mode

An Emacs mode for entering music and running LilyPond is contained in the source archive in the elisp directory. make install installs it 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 or, e.g., ~/site-lisp/ to your load-path. Append the following line (modified) to your ~/.emacs:

          (setq load-path (append (list (expand-file-name "~/site-lisp")) load-path))
          

Vim mode

A Vim mode for entering music and running LilyPond is contained in the source archive. Append the content of vimrc to ~/.vimrc to get shortcuts. Install file lilypond.words.el to ~/.vim/ to get auto-completion. Syntax highlighting you get by installing files lilypond.vim and lilypond.words.vim to ~/.vim/syntax/ and appending the following to ~/.vim/filetype.vim:

          	" my filetype file
          	if exists("did_load_filetypes")
          	  finish
          	endif
          	augroup filetypedetect
          	  au! BufRead,BufNewFile  *.ly          setfiletype lilypond
          	augroup
          

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.

Linking to kpathsea

If kpathsea and the corresponding header files are installed in some directory where GCC does not search by default, for example in /usr/local/lib/ and /usr/local/include/ respectively, you have to explicitly tell configure where to find it. To do this:

Once configure has found them, the paths are stored in config.make and will be used even if you don't have the environment variables set during make.

Gcc-3.0.4

Gcc 3.0.4 is flaky; upgrade GCC.

Flex-2.5.4a and gcc-3.x

Flex 2.5.4a does not produce g++-3.1.1 compliant C++ code. To compile LilyPond with gcc-3.1.1 you may do

     	CONF=gcc-3.1 ./lexer-gcc-3.1.sh
     	CPPFLAGS=-I$(pwd)/lily/out-gcc-3.1 CC=gcc-3.1 CXX=g++-3.1 \
     	    ./configure --enable-config=gcc-3.1
     	CONF=gcc-3.1 ./lexer-gcc-3.1.sh
     	make conf=gcc-3.1
     

OpenBSD

NetBSD

Solaris


This page is for LilyPond-2.0.1 (stable-branch).

Report errors to <bug-lilypond@gnu.org>.