User Tools

Site Tools


build:linux

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

build:linux [2013/04/16 18:48]
ilikenwf [Configure the build]
build:linux [2015/08/03 09:28] (current)
freaktechnik [Clone the Git Repository]
Line 16: Line 16:
 You need some tools to build Nightingale. Here's a (maybe incomplete) list of requirements for using our build system: You need some tools to build Nightingale. Here's a (maybe incomplete) list of requirements for using our build system:
  
-On Ubuntu ​12.04 : +=== Ubuntu ​14.04.1 === 
-  sudo apt-get install git autoconf g++ libgtk2.0-dev libdbus-glib-1-dev libtag1-dev libgstreamer-plugins-base0.10-dev zip unzip+  sudo apt-get install git autoconf g++ libgtk2.0-dev libdbus-glib-1-dev libtag1-dev libgstreamer-plugins-base0.10-dev zip unzip libidl-dev ​ libasound2-dev
  
-On Fedora 18 (as root):+=== Fedora 18 (as root) ===
   yum -y install autoconf git-all gcc-c++ gtk2-devel dbus-glib-devel gstreamer-plugins-base-devel   yum -y install autoconf git-all gcc-c++ gtk2-devel dbus-glib-devel gstreamer-plugins-base-devel
  
 +=== OpenSUSE 13.2 ===
 +  zypper install git autoconf ​ gcc-c++ gtk2-devel dbus-1-glib-devel libtag-devel gstreamer-plugins-base-devel gstreamer-0_10-plugins-base-devel libidl-devel zip unzip
  
 ==== Clone the Git Repository ==== ==== Clone the Git Repository ====
  
   git clone https://​github.com/​nightingale-media-player/​nightingale-hacking.git   git clone https://​github.com/​nightingale-media-player/​nightingale-hacking.git
- +To build trunk build (like a nightly):
-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   git checkout sb-trunk-oldxul
 +
 +If you want to build from a past release type the following, replacing VERSION with the desired version number:
 +  git checkout nightingale-VERSION
  
 ==== Configure the build ==== ==== Configure the build ====
Line 47: Line 49:
   --enable-static ​                       experimental single-component static build support (disabled by default)   --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-compiler-environment-checks ​  only allow officially-supported compiler versions (enabled by default)
-  --enable-unity-integration ​       enables Unity/​Gnome/​GTK ​integration for audio menus and notifications (disabled by default)+  --enable-unity-integration ​            ​enables Unity integration for audio menus and notifications ​(disabled by default) 
 +  --enable-system-nspr ​                  ​enables usage of your system'​s NSPR instead of a bundled version (disabled by default) 
 +  --enable-metrics ​                      ​enables integration of metrics collection infrastructure ​(disabled by default)
 </​code>​ </​code>​
  
-==== Additional ​steps for debug builds ​====+==== Additional ​Steps to build a Debian Package ​==== 
 +For Building, please skip to the Debian Package part of the Building section. 
 +=== Aditional dependencies === 
 +Building nightingale as a debian package brings additional dependencies with itself. To install the type 
 +  sudo apt-get install build-essentials libgnomevfs2-dev libsqlite0-dev libnspr4-dev 
 +sqlite is in theory not always needed, but it is listed in the debian/​control file.
  
-**TODO**+=== Prepare the directory === 
 +In order to build the debian package, you can choose between two options: 
 + 
 +Change debian/​source/​format to ''​3.0 (native)''​ which in theory is wrong. 
 + 
 +Alternatively you can put a tarball of the source (you can use your local source or [[https://​github.com/​nightingale-media-player/​nightingale-hacking/​tarball/​sb-trunk-oldxul|download the tarball from GitHub]]) named nightingale_{version}.orig.tar.gz,​ where {version} is the latest version number according to the changelog in the debian directory up to the dash (e.g. 1.12.2), into the root nightingale source directory. 
 + 
 +==== Additional steps for debug builds ====
  
 +No special additional steps are required - apart from adding the debug build flag. build.sh should handle everything else for you.
 ==== Building ==== ==== Building ====
  
Line 64: Line 81:
 </​code>​ </​code>​
  
-If everything is successful, you should see the words: "Build Successful!"​ on the last line of the output ​and have Nightingale built in /​compiled/​dist.+If everything is successful, you should see the words: "Build Successful!"​ on the last line of the output
 + 
 +=== Building ​Debian Package === 
 +Navigate to the nightingale source code directory containing the "​debian"​ directory ​in a terminal. 
 +Type 
 +  dpkg-buildpackage 
 +If it's only a local build and you don't want to sign the .dsc and .changes file, type 
 +  dpkg-buildpackage -uc -us 
 +   
 +==== Running a successful build ==== 
 +To run after the build succeeded, run 
 +<​code>​ 
 +make run 
 +</code> 
 + 
 +Alternatively you can find the binary and resources in the compiled/​dist ​folder relative to your source directory. 
 + 
 +For instructions on how to install a self-built Nightingale,​ see the INSTALL file in the source directory.
  
 ==== Troubleshooting ==== ==== Troubleshooting ====
Line 70: Line 104:
 **TODO** **TODO**
  
 +If you are getting taglib reference errors when trying to build, you may need to manually install TagLib 1.8. See this [[http://​forum.getnightingale.com/​thread-617-post-2932.html#​pid2932|forum post]] for details.
  
 +==== External Resources ====
  
 +[[http://​forum.getnightingale.com/​thread-28.html|Build Thread]]
build/linux.1366163284.txt.gz · Last modified: 2013/04/16 18:48 by ilikenwf