User Tools

Site Tools


This is an old revision of the document!

Building Nightingale on Linux

When to build Nightingale

On Linux, you can either download the binaries from the homepage or build the software yourself. If you're interested in developing add-ons or feathers, you do not necessarily need to build Nightingale. For some complex add-ons the build system described here might be needed or helpful, through.

Building Nightingale allow you to work on the core code of Nightingale and also allow you to use the Nightingale Build System for building add-ons (Remember: most add-ons do NOT need to be built!).

If you're sure you want to build

Let's move to the actual building process:

Setting up a Build Environment

You need some tools to build Nightingale. Here's a (maybe incomplete) list of requirements for using our build system:

On Ubuntu 12.04 :

sudo apt-get install git autoconf g++ libgtk2.0-dev libdbus-glib-1-dev libtag1-dev libgstreamer-plugins-base0.10-dev zip unzip

On Fedora 18 (as root):

yum -y install autoconf git-all gcc-c++ gtk2-devel dbus-glib-devel gstreamer-plugins-base-devel

Clone the Git Repository

git clone

If you want to build 1.11 branch :

git checkout nightingale-1.11

If you want to build trunk branch :

git checkout sb-trunk-oldxul

Configure the build

You can specify options in nightingale.config. The file does not exist by default, as it is ignored by .gitignore.

You can specify the following flags in nightingale.config (prefix with ac_add_options):

  --enable-debug                         whether or not to compile a debug version (disabled by default)
  --enable-jars                          whether or not to create jar files (enabled by default)
  --enable-official                      whether or not to create an official build (disabled by default)
  --enable-nightly                       whether or not to create an nightly build (disabled by default)
  --enable-tests                         whether or not to build tests (defaults: debug:enabled rel:disabled)
  --enable-update-channel=CHANNEL        which update channel to use ("default")
  --enable-breakpad                      whether or not to enable breakpad (disabled by default in non-official builds)
  --enable-static                        experimental single-component static build support (disabled by default)
  --enable-compiler-environment-checks   only allow officially-supported compiler versions (enabled by default)
  --enable-unity-integration        enables Unity integration for audio menus and notifications (disabled by default)

Additional steps for debug builds



After you set everything up, you can open a terminal for building.

Type the following to build:


If everything is successful, you should see the words: “Build Successful!” on the last line of the output and have a Nightingale built in /compiled/dist.



build/linux.1366163376.txt.gz · Last modified: 2013/04/16 18:49 by ilikenwf