2.1 LilyDev

There is a ‘remix’ of Debian GNU/Linux – known as “LilyDev” for short – which includes all the necessary software and tools to compile LilyPond, the documentation and the website (also see Website work).

Note: LilyDev does not include the software for the Grand Unified Builder – also see Grand Unified Builder (GUB).

While compiling LilyPond on Mac OS and Windows is possible, both environments are complex to set up. LilyDev can be easily installed and run inside a ‘virtual machine’ on either of these operating systems relatively easily using readily available virtualization software. We recommend using VirtualBox as it is available for all major operating systems and is very easy to install & configure.

The LilyDev disk image can also be written to a USB device or ‘burnt’ to a DVD – it is approximately 900 MB in size – and installed just like any standard GNU/Linux distribution.

The current image is based on a 32-bit version of Debian 8 (‘Jessie’) and the disk image was generated using Debian live-build 4.

Download the LilyDev disk image file (a .iso file) from here:


Note: Apart from installing and configuring LilyDev in VirtualBox, the rest of the chapter assumes that you are comfortable using the command-line and is intended for users who may have never created a patch or compiled software before. More experienced developers (who prefer to use their own development environment) may still find it instructive to skim over the following information.

If you are not familiar with GNU/Linux, it may be beneficial to read a few “introduction to Linux” type web pages.

Installing LilyDev in VirtualBox

This section discusses how to install and use LilyDev with VirtualBox.

Note: If you already know how to install a virtual machine using a disc image inside VirtualBox (or your own virtualization software) then you can skip this section and go straight to lily-git.

  1. Download VirtualBox from here:

    Note: In virtualization terminology, the operating system where VirtualBox is installed is known as the host. LilyDev will be installed ‘inside’ VirtualBox as a guest.

  2. Start the VirtualBox software and click ‘New’ to create a new “virtual machine”.

    The ‘New Virtual Machine Wizard’ will walk you through setting up your guest virtual machine. Choose an appropriate name for your LilyDev installation and select the ‘Linux’ operating system. When selecting the ‘version’ choose ‘Debian (32 bit)’ (don’t use the ‘64 bit’ option). If you do not have that specific option choose ‘Linux 2.6’ (again do not choose any option that has 64 bit next to it).

  3. Select the amount of RAM you will allow the LilyDev guest to use from your host operating system when it is running. If possible, use at least 700 MB of RAM; the more RAM you can spare from your host the better, although LilyDev will currently use no more than 4 GB (4096 MB) even if you are able to assign more.
  4. For your ‘Virtual Hard Disk’, leave the ‘Create new hard disk’ option checked, use the default ‘VDI’ and “Dynamically allocated” options for the virtual hard drive. A complete compile of everything (code, docs, regression tests) can reach 10 GB so size your virtual disk and its location accordingly.
  5. Verify the summary details and click ‘Create’, when you are satisfied. Your new guest will be displayed in the VirtualBox window.

    Note: The image contains a ‘686-pae’ kernel, so you must enable PAE within the virtual machine’s settings – click on System → Processor and select ‘Extended features: Enable PAE/NX’.

  6. Click the ‘Start’ button and the ‘First Run Wizard’ will prompt you for the installation media. Click the browse icon, locate the LilyDev disk image file that you downloaded (the .iso file) and click through the wizard to begin the installation process.
  7. When the LilyDev disk image boots for the first time, choose either the ‘Install’ or the ‘Graphical install’ menu item. The installer will then walk you through the complete installation process.
  8. At the “Partition disks” stage, do not be afraid to select “Guided - use entire disk”, since this refers to your virtual disk, not your computer’s own hard disk.
  9. Continue to click through the rest of the wizard, filling in any appropriate details when asked, and wait for the install to complete. This will take about 10 minutes or so on a reasonably modern computer.
  10. When the installation is completed, just click on ‘Continue’ (you do not have to remove any media since you installed LilyDev from a Disk image, which is just a file on your computer). The installer will reboot the virtual machine.

LilyDev should now be installed and running!

Configuring LilyDev in VirtualBox

VirtualBox has extra ‘guest additions’ which although are not necessary to use LilyDev or compile LilyPond, do provide some additional features to your Virtual Machine to make it easier to work with. Such as being able to dynamically resize the LilyDev window, allow seamless interaction with your mouse pointer on both the host and guest and let you copy/paste between your host and guest if needed.

  1. Select the ‘Devices’ menu from the virtual machine window and choose ‘Install Guest Additions...’. This will automount a CD which will prompt you to autorun it. Click OK and follow the instructions. It is recommended to reboot the guest when the installation is complete.

    Other virtualization software will also have their own ‘guest’ additions, follow the normal procedures for your virtualization software with LilyDev as the client.

  2. Restart LilyDev to complete the installation of the guest additions.

    Advanced note: If you do any kernel upgrades, you may need to reinstall the additional software. Just follow the step above again and reboot when the reinstallation is complete.

Other items that may be helpful:

Known issues and warnings

Not all hardware is supported in all virtualization tools. In particular, some contributors have reported problems with USB network adapters. If you have problems with network connection (for example Internet connection in the host system is lost when you launch virtual system), try installing and running LilyDev with your computer’s built-in network adapter used to connect to the network. Refer to the help documentation that comes with your virtualization software.

LilyPond — Contributor’s Guide v2.19.80 (development-branch).