Difference between revisions of "BuildingLinux"

From Mumble Wiki
Jump to: navigation, search
(From the terminal)
(Add info about the INSTALL file)
 
(20 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
'''Please edit this page if you find a feature or step you think should be included; it's a wiki for a reason! Note you must register and wait about 3 days in order to be able to edit.'''
 
'''Please edit this page if you find a feature or step you think should be included; it's a wiki for a reason! Note you must register and wait about 3 days in order to be able to edit.'''
  
== Install the dependencies ==
+
= Install the dependencies =
  
 
Mumble 1.2.3 or newer requires at least Qt 4.6.
 
Mumble 1.2.3 or newer requires at least Qt 4.6.
  
=== For Debian / Ubuntu ===
+
== Debian or Ubuntu ==
 
We do not recommend building Mumble on Debian 5 ("Lenny") or older. Please update to Debian 6 ("Squeeze") or newer. You may still be able to build it by playing with package sources to include only required packages from Squeeze, but that is not a supported solution.
 
We do not recommend building Mumble on Debian 5 ("Lenny") or older. Please update to Debian 6 ("Squeeze") or newer. You may still be able to build it by playing with package sources to include only required packages from Squeeze, but that is not a supported solution.
  
 
You need to make sure you have the needed libraries and dependencies installed to build Mumble and Murmur from source. This can be done in one of those ways:
 
You need to make sure you have the needed libraries and dependencies installed to build Mumble and Murmur from source. This can be done in one of those ways:
 +
 +
=== 1.2.x ===
  
 
If your distribution provides packages of the 1.2.x versions, it is sufficient to just run:
 
If your distribution provides packages of the 1.2.x versions, it is sufficient to just run:
Line 16: Line 18:
  
 
Otherwise, you need to install some development packages manually:
 
Otherwise, you need to install some development packages manually:
  apt-get install build-essential pkg-config qt5-default qtbase5-dev qttools5-dev qttools5-dev-tools libqt5svg5* \
+
  apt-get install build-essential pkg-config qt4-dev-tools libqt4-dev libspeex1 \
                 libspeex1 libspeex-dev libboost-dev libasound2-dev libssl-dev g++ \
+
                 libspeex-dev libboost-dev libasound2-dev libssl-dev g++ \
 
                 libspeechd-dev libzeroc-ice-dev ice-slice libpulse-dev slice2cpp \
 
                 libspeechd-dev libzeroc-ice-dev ice-slice libpulse-dev slice2cpp \
 
                 libcap-dev libspeexdsp-dev libprotobuf-dev protobuf-compiler \
 
                 libcap-dev libspeexdsp-dev libprotobuf-dev protobuf-compiler \
Line 23: Line 25:
 
                 libg15daemon-client-dev libxi-dev  
 
                 libg15daemon-client-dev libxi-dev  
  
 +
It is recommended to remove the package qt3-dev-tools if installed.<br>
  
It is recommended to remove the package qt3-dev-tools if installed.
+
{{Warning
Notice, for Ice-3.4.1 you will need libexpat1-dev and libdb4.6++-dev, which conflicts with newer packages
+
|message=For ''Ice-3.4.1'' you will need ''libexpat1-dev'' and ''libdb4.6++-dev'', which conflicts with newer packages.
 +
}}
 +
=== 1.3.x ===
  
Now go on to the section [[#Installing_from_source|Installing from Source]].
+
Since Mumble Snapshots aren't available in the repository, you need to install development packages manually:
 +
apt-get install build-essential pkg-config qt5-default libqt5svg5-dev \
 +
                libboost-dev libasound2-dev libssl-dev \
 +
                libspeechd-dev libzeroc-ice-dev libpulse-dev \
 +
                libcap-dev libprotobuf-dev protobuf-compiler \
 +
                libogg-dev libavahi-compat-libdnssd-dev libsndfile1-dev \
 +
                libg15daemon-client-dev libxi-dev
  
=== Arch Linux ===
+
Now go on to the section [[#Getting_the_source|Getting the source]].
 
 
At the time of writing, Murmur is in pacman's repositories, but doesn't support Ice because the zeroc-ice component isn't in the repositories. To build an Ice-capable Murmur, you'll need to setup and be familiar with the [http://wiki.archlinux.org/index.php/Arch_Build_System#Walkthrough Arch Build System], which is outside the scope of this document.  
 
  
Next, I grabbed the [http://aur.archlinux.org/packages.php?ID=13951 zeroc-ice tarball], and extracted it into my ABS directory. I edited the PKGCONFIG to remove all the Java bindings for Ice - because I won't be needing them and didn't want to wait for the Java stuff to install as a dependency, if you feel you might want/need Java/Ice later on, then leave it in - then built and installed the package as per the instructions in the ABS walkthrough.
+
== Fedora ==
  
Grab the [http://aur.archlinux.org/packages.php?ID=19980 Murmur-ice tarball] and extract it in your ABS directory. Build, and if you want the stable release, install the resulting package with pacman.
+
=== 1.2.x ===
  
If you want to build from git, you should have most of the required runtime dependencies, but you'll also want these for building:
+
dnf builddep mumble
  
pacman -S base-devel git
+
=== 1.3.x ===
  
At this point you should be able to continue on to [[#Installing_from_source|Installing from Source]].
+
{{Warning
 +
|message=The build has been tested on a Docker builder using the official Fedora image. You may need to [[BuildingLinux#Finding_missing_dependencies|install more dependencies]] on a standard installation.
 +
}}
 +
dnf install make gcc gcc-c++ which qt5* protobuf-compiler protobuf-devel openssl-devel \
 +
            libsndfile-devel alsa-lib-devel avahi-compat-libdns_sd-devel libXi-devel \
 +
            speech-dispatcher-devel flac-devel libogg-devel libvorbis-devel libcap-devel
  
=== Fedora ===
+
=== Finding missing dependencies ===
  
As of Fedora 21, Mumble is no longer available in the Fedora repositories; there's also [https://github.com/mumble-voip/mumble/commit/349436284b5f1baa61836c98ff0d518392140c5d a bug] that makes it tricky to compile from Mumble 1.2.8 source. You can use the following script to install the dependencies, download the latest Mumble source master branch and compile it for Fedora 21 all at once. You are encouraged to run each line manually if you care about your system's security or how the script works: https://gist.github.com/Orbixx/40232a34f29cb3cb1741
+
If the build fails even after installing the dependencies listed above, you'll need to find out that package name on your own. I use <tt>dnf provides</tt> to hunt these things down. This command is best learned through a demonstration, so here's an example Mumble build that's missing a dependency:
 
 
The below is from a previous guide for Fedora 16 and may no longer be entirely accurate for current Fedora versions.
 
 
 
==== Finding missing dependencies ====
 
 
 
If the build fails even after installing the dependencies listed above, you'll need to find out that package name on your own. I use <tt>yum provides</tt> to hunt these things down. This command is best learned through a demonstration, so here's an example Mumble build that's missing a dependency:
 
  
 
   $ cd $YOUR_MUMBLE_REPO
 
   $ cd $YOUR_MUMBLE_REPO
   $ qmake CONFIG+=no-g15 -recursive
+
   $ qmake CONFIG+=no-g15 no-ice -recursive
 
   $ make
 
   $ make
 
   ... omitted lots of build info ....
 
   ... omitted lots of build info ....
Line 68: Line 76:
 
The key line in the above is the "fatal error: dns_sd.h: No such file or directory" This will always be very close to the bottom of make's output. We'll need to install that header file somehow, so we'll try looking in Fedora's repos first. <tt>yum provides</tt> lets us search for packages that provide a specified file. In this case, we'll look for packages that give us <tt>dns_sd.h</tt>
 
The key line in the above is the "fatal error: dns_sd.h: No such file or directory" This will always be very close to the bottom of make's output. We'll need to install that header file somehow, so we'll try looking in Fedora's repos first. <tt>yum provides</tt> lets us search for packages that provide a specified file. In this case, we'll look for packages that give us <tt>dns_sd.h</tt>
  
   $ yum provides '*/dns_sd.h' # be careful not to forget the quotes or the wildcard here
+
   $ dnf provides '*/dns_sd.h' # be careful not to forget the quotes or the wildcard here
 
   avahi-compat-libdns_sd-devel-0.6.30-4.fc16.i686 : Header files for the Apple Bonjour mDNSResponder compatibility libraries
 
   avahi-compat-libdns_sd-devel-0.6.30-4.fc16.i686 : Header files for the Apple Bonjour mDNSResponder compatibility libraries
 
   Repo        : fedora
 
   Repo        : fedora
Line 77: Line 85:
 
This lets us know that <tt>avahi-compat-libdns_sd-devel</tt> provides the needed header, so now we can install that package
 
This lets us know that <tt>avahi-compat-libdns_sd-devel</tt> provides the needed header, so now we can install that package
  
   $ yum install avahi-compat-libdns_sd-devel
+
   $ dnf install avahi-compat-libdns_sd-devel
 
   .. lots of installation ..
 
   .. lots of installation ..
  
 
And now we can try building Mumble again using <tt>make</tt>. If you're missing multiple packages, then you'll probably need to repeat the above process to satisfy any missing dependencies. If Mumble still doesn't build, you may be able to discern which feature is causing problems and avoid building it entirely using a <tt>CONFIG+=no-*</tt> option. You can look at INSTALL for details on what features can be toggled off. For example. <tt>qmake CONFIG+=no-server -recursive</tt> will omit the server component of Mumble.
 
And now we can try building Mumble again using <tt>make</tt>. If you're missing multiple packages, then you'll probably need to repeat the above process to satisfy any missing dependencies. If Mumble still doesn't build, you may be able to discern which feature is causing problems and avoid building it entirely using a <tt>CONFIG+=no-*</tt> option. You can look at INSTALL for details on what features can be toggled off. For example. <tt>qmake CONFIG+=no-server -recursive</tt> will omit the server component of Mumble.
  
==== G15 Support ====
+
=== ICE Support ===
 +
 
 +
The package libICE-devel isn't available in the Fedora repositories anymore.
 +
You need to compile Ice from source or build Mumble without Ice support using "CONFIG+=no-ice".
 +
 
 +
=== G15 Support ===
  
 
Fedora doesn't yet package G15 support. The build will fail with a missing "g15daemon_client.h" header file. There's currently work being done to package it: https://bugzilla.redhat.com/show_bug.cgi?id=789113
 
Fedora doesn't yet package G15 support. The build will fail with a missing "g15daemon_client.h" header file. There's currently work being done to package it: https://bugzilla.redhat.com/show_bug.cgi?id=789113
Line 90: Line 103:
 
First, install some dependencies that you'll need later:
 
First, install some dependencies that you'll need later:
  
   $ su -c 'yum install libdaemon-devel libusb-devel libtool svn rpm-build autoconf automake libtool'
+
   $ dnf install libdaemon-devel libusb-devel libtool svn rpm-build autoconf automake libtool
  
 
Then pick up the G15 library that's already been packaged (this was linked to in the Bugzilla ticket):
 
Then pick up the G15 library that's already been packaged (this was linked to in the Bugzilla ticket):
Line 103: Line 116:
 
   noarch  x86_64 i686
 
   noarch  x86_64 i686
 
   $ cd `uname -p` # equates to x86_64 on my system, may be i686 on yours
 
   $ cd `uname -p` # equates to x86_64 on my system, may be i686 on yours
   $ su -c 'yum localinstall libg15*'
+
   $ dnf localinstall libg15*
 
 
  
 
Finally, the G15 daemon will need to be built from scratch:
 
Finally, the G15 daemon will need to be built from scratch:
Line 113: Line 125:
 
   $ ./configure
 
   $ ./configure
 
   $ make
 
   $ make
   $ su -c 'make install'
+
   $ make install
  
 
At this point, if all other dependencies are met, you should be able to build Mumble with G15 support.
 
At this point, if all other dependencies are met, you should be able to build Mumble with G15 support.
  
== Getting the source ==
+
== Arch Linux ==
 +
 
 +
At the time of writing, Murmur is in pacman's repositories, but doesn't support Ice because the zeroc-ice component isn't in the repositories. To build an Ice-capable Murmur, you'll need to setup and be familiar with the [http://wiki.archlinux.org/index.php/Arch_Build_System#Walkthrough Arch Build System], which is outside the scope of this document.
 +
 
 +
Next, I grabbed the [http://aur.archlinux.org/packages.php?ID=13951 zeroc-ice tarball], and extracted it into my ABS directory. I edited the PKGCONFIG to remove all the Java bindings for Ice - because I won't be needing them and didn't want to wait for the Java stuff to install as a dependency, if you feel you might want/need Java/Ice later on, then leave it in - then built and installed the package as per the instructions in the ABS walkthrough.
 +
 
 +
Grab the [http://aur.archlinux.org/packages.php?ID=19980 Murmur-ice tarball] and extract it in your ABS directory. Build, and if you want the stable release, install the resulting package with pacman.
 +
 
 +
If you want to build from git, you should have most of the required runtime dependencies, but you'll also want these for building:
 +
 
 +
pacman -S base-devel git
 +
 
 +
At this point you should be able to continue on to [[#Installing_from_source|Installing from Source]].
 +
 
 +
= Getting the source =
  
 
The best way to get Mumble's source is using Git.
 
The best way to get Mumble's source is using Git.
 
You can also download the latest ZIP package from GitHub.
 
You can also download the latest ZIP package from GitHub.
  
=== Git ===
+
== Git ==
 
For compiling from Git make sure you've installed Git:
 
For compiling from Git make sure you've installed Git:
  
Line 130: Line 156:
 
  apt-get install git-core
 
  apt-get install git-core
  
Next, download the Mumble source (this may take a minute. At this time of writing, 2015, February 9th, the size is 26.35 MiB):
+
Next, download the Mumble source (this may take a minute. At this time of writing, 2016, November 4th, the size is 43.39 MiB):
 
  git clone git://github.com/mumble-voip/mumble.git mumble
 
  git clone git://github.com/mumble-voip/mumble.git mumble
 
  cd mumble
 
  cd mumble
Line 136: Line 162:
 
  git submodule update
 
  git submodule update
  
To use the current branch (which you most likely do):
+
To use the current (development) branch, which you most likely do:
 
  git checkout --track -b master origin/master
 
  git checkout --track -b master origin/master
  
Or to use the v1.2.8 branch:
+
To use the 1.2.x (stable) branch:
  git checkout --track -b v1.2.8 origin/v1.2.8
+
  git checkout --track -b 1.2.x origin/v1.2.x
  
 
If you want to update your local branch, make sure you're still in the main git directory ('mumble' in the above example) and use this command:
 
If you want to update your local branch, make sure you're still in the main git directory ('mumble' in the above example) and use this command:
 
  git pull
 
  git pull
  
=== Zip package ===
+
== Zip package ==
 
Download the latest zip archive from [https://github.com/mumble-voip/mumble/archive/master.zip GitHub], extract it and fetch the submodules:
 
Download the latest zip archive from [https://github.com/mumble-voip/mumble/archive/master.zip GitHub], extract it and fetch the submodules:
  
Line 153: Line 179:
 
  git submodule update
 
  git submodule update
  
== Compiling Mumble and Murmur ==
+
= Compiling Mumble and Murmur =
  
=== From Qt Creator ===
+
== From Qt Creator ==
  
==== Installing Qt Creator ====
+
=== Installing Qt Creator ===
 
On Debian or Ubuntu:
 
On Debian or Ubuntu:
 
  apt-get install qtcreator
 
  apt-get install qtcreator
 +
On Fedora:
 +
dnf install qt-creator
 
On Arch Linux:
 
On Arch Linux:
 
  pacman -S qtcreator
 
  pacman -S qtcreator
On Fedora:
 
yum install qt-creator
 
  
==== Opening the project ====
+
=== Building and running Mumble ===
Open the project file '''main.pro''' located in the main directory and choose the build preset you want to use.
+
Open the project file '''main.pro''' located in the main directory, choose the build preset you want to use and press on the green arrow that seems like a play button.
 +
Mumble will start automatically once it's ready.
  
=== From the terminal ===
+
== From the terminal ==
  
 
For more configuration options on the qmake command read the supplied INSTALL file.
 
For more configuration options on the qmake command read the supplied INSTALL file.
  
 
Be sure to have the pre-requisites installed and in place for your linux distribution (see the sections above) before you begin compiling it.
 
Be sure to have the pre-requisites installed and in place for your linux distribution (see the sections above) before you begin compiling it.
 +
 +
=== Building Mumble ===
  
 
  qmake -recursive main.pro
 
  qmake -recursive main.pro
 
  make
 
  make
  
If you want to compile Murmur (Mumble server) only, then type
+
If you want to compile Murmur (Mumble server) only, then type:
  
 
  qmake -recursive main.pro CONFIG+=no-client
 
  qmake -recursive main.pro CONFIG+=no-client
 
  make
 
  make
  
== Running Mumble ==
+
{{Iconbox begin|type=info}}The available CONFIG options are explained in [https://github.com/mumble-voip/mumble/blob/master/INSTALL INSTALL].{{Iconbox end}}
 +
 
 +
=== Running Mumble ===
  
 
  cd release
 
  cd release
 
  ./mumble
 
  ./mumble
  
==Text to Speech==
+
= Running Murmur =
  
For text-to-speech voices you will need to install speech dispatcher and at least a voice. Most distros ship packages for that in their repositories.
+
See the dedicated page: [[Running Murmur]]
  
== Run Murmur ==
+
[[Category:Development]]
  
* see [[Running Murmur]]
+
= Text to Speech =
  
[[Category:Development]]
+
For text-to-speech voices you will need to install speech dispatcher and at least a voice. Most distros ship packages for that in their repositories.

Latest revision as of 18:54, 30 June 2018

Building Guides

This page is one of a set of Building pages/guides for the different OSes with information on building Mumble/Murmur.

BuildingLinux BuildingFreeBSD BuildingOpenBSD BuildingMacOSX BuildingWindows


Please edit this page if you find a feature or step you think should be included; it's a wiki for a reason! Note you must register and wait about 3 days in order to be able to edit.

Install the dependencies

Mumble 1.2.3 or newer requires at least Qt 4.6.

Debian or Ubuntu

We do not recommend building Mumble on Debian 5 ("Lenny") or older. Please update to Debian 6 ("Squeeze") or newer. You may still be able to build it by playing with package sources to include only required packages from Squeeze, but that is not a supported solution.

You need to make sure you have the needed libraries and dependencies installed to build Mumble and Murmur from source. This can be done in one of those ways:

1.2.x

If your distribution provides packages of the 1.2.x versions, it is sufficient to just run:

apt-get build-dep mumble

Otherwise, you need to install some development packages manually:

apt-get install build-essential pkg-config qt4-dev-tools libqt4-dev libspeex1 \
                libspeex-dev libboost-dev libasound2-dev libssl-dev g++ \
                libspeechd-dev libzeroc-ice-dev ice-slice libpulse-dev slice2cpp \
                libcap-dev libspeexdsp-dev libprotobuf-dev protobuf-compiler \
                libogg-dev libavahi-compat-libdnssd-dev libsndfile1-dev \
                libg15daemon-client-dev libxi-dev 

It is recommended to remove the package qt3-dev-tools if installed.

Icons oxygen 48x48 status task-attention.png
Warning: For Ice-3.4.1 you will need libexpat1-dev and libdb4.6++-dev, which conflicts with newer packages.

1.3.x

Since Mumble Snapshots aren't available in the repository, you need to install development packages manually:

apt-get install build-essential pkg-config qt5-default libqt5svg5-dev \
                libboost-dev libasound2-dev libssl-dev \
                libspeechd-dev libzeroc-ice-dev libpulse-dev \
                libcap-dev libprotobuf-dev protobuf-compiler \
                libogg-dev libavahi-compat-libdnssd-dev libsndfile1-dev \
                libg15daemon-client-dev libxi-dev 

Now go on to the section Getting the source.

Fedora

1.2.x

dnf builddep mumble

1.3.x

Icons oxygen 48x48 status task-attention.png
Warning: The build has been tested on a Docker builder using the official Fedora image. You may need to install more dependencies on a standard installation.
dnf install make gcc gcc-c++ which qt5* protobuf-compiler protobuf-devel openssl-devel \
            libsndfile-devel alsa-lib-devel avahi-compat-libdns_sd-devel libXi-devel \
            speech-dispatcher-devel flac-devel libogg-devel libvorbis-devel libcap-devel

Finding missing dependencies

If the build fails even after installing the dependencies listed above, you'll need to find out that package name on your own. I use dnf provides to hunt these things down. This command is best learned through a demonstration, so here's an example Mumble build that's missing a dependency:

 $ cd $YOUR_MUMBLE_REPO
 $ qmake CONFIG+=no-g15 no-ice -recursive
 $ make
 ... omitted lots of build info ....
 mumble_pch.hpp:117:20: fatal error: dns_sd.h: No such file or directory
 compilation terminated.
 make[2]: *** [release/mumble.gch/c++] Error 1
 make[2]: Leaving directory `/home/dafrito/src/mumble/src/mumble'
 make[1]: *** [release] Error 2
 make[1]: Leaving directory `/home/dafrito/src/mumble/src/mumble'
 make: *** [sub-src-mumble-make_default-ordered] Error 2
 $

The key line in the above is the "fatal error: dns_sd.h: No such file or directory" This will always be very close to the bottom of make's output. We'll need to install that header file somehow, so we'll try looking in Fedora's repos first. yum provides lets us search for packages that provide a specified file. In this case, we'll look for packages that give us dns_sd.h

 $ dnf provides '*/dns_sd.h' # be careful not to forget the quotes or the wildcard here
 avahi-compat-libdns_sd-devel-0.6.30-4.fc16.i686 : Header files for the Apple Bonjour mDNSResponder compatibility libraries
 Repo        : fedora
 Matched from:
 Filename    : /usr/include/avahi-compat-libdns_sd/dns_sd.h
 Filename    : /usr/include/dns_sd.h

This lets us know that avahi-compat-libdns_sd-devel provides the needed header, so now we can install that package

 $ dnf install avahi-compat-libdns_sd-devel
 .. lots of installation ..

And now we can try building Mumble again using make. If you're missing multiple packages, then you'll probably need to repeat the above process to satisfy any missing dependencies. If Mumble still doesn't build, you may be able to discern which feature is causing problems and avoid building it entirely using a CONFIG+=no-* option. You can look at INSTALL for details on what features can be toggled off. For example. qmake CONFIG+=no-server -recursive will omit the server component of Mumble.

ICE Support

The package libICE-devel isn't available in the Fedora repositories anymore. You need to compile Ice from source or build Mumble without Ice support using "CONFIG+=no-ice".

G15 Support

Fedora doesn't yet package G15 support. The build will fail with a missing "g15daemon_client.h" header file. There's currently work being done to package it: https://bugzilla.redhat.com/show_bug.cgi?id=789113

As mentioned above, you can avoid building G15 support using a qmake CONFIG+=no-g15. However, if you'd like to build this, it is possible to install it manually by building the G15 stuff from source. Be warned that this process can be a little tricky since you'll be building and installing RPMs manually, as well as building another component from source.

First, install some dependencies that you'll need later:

 $ dnf install libdaemon-devel libusb-devel libtool svn rpm-build autoconf automake libtool

Then pick up the G15 library that's already been packaged (this was linked to in the Bugzilla ticket):

 $ wget http://zero456.fedorapeople.org/libg15-1.2.7-1.fc16.src.rpm
 $ rpmbuild --rebuild libg15-1.2.7-1.fc16.src.rpm

It's possible you'll run into missing dependencies at this point. Follow the yum provides process outlined above to find out what you'll need to install.

 $ cd ~/rpmbuild/RPMS
 $ ls
 noarch  x86_64 i686
 $ cd `uname -p` # equates to x86_64 on my system, may be i686 on yours
 $ dnf localinstall libg15*

Finally, the G15 daemon will need to be built from scratch:

 $ svn co https://g15daemon.svn.sourceforge.net/svnroot/g15daemon/trunk/g15daemon g15daemon
 $ cd g15daemon
 $ autoreconf -i
 $ ./configure
 $ make
 $ make install

At this point, if all other dependencies are met, you should be able to build Mumble with G15 support.

Arch Linux

At the time of writing, Murmur is in pacman's repositories, but doesn't support Ice because the zeroc-ice component isn't in the repositories. To build an Ice-capable Murmur, you'll need to setup and be familiar with the Arch Build System, which is outside the scope of this document.

Next, I grabbed the zeroc-ice tarball, and extracted it into my ABS directory. I edited the PKGCONFIG to remove all the Java bindings for Ice - because I won't be needing them and didn't want to wait for the Java stuff to install as a dependency, if you feel you might want/need Java/Ice later on, then leave it in - then built and installed the package as per the instructions in the ABS walkthrough.

Grab the Murmur-ice tarball and extract it in your ABS directory. Build, and if you want the stable release, install the resulting package with pacman.

If you want to build from git, you should have most of the required runtime dependencies, but you'll also want these for building:

pacman -S base-devel git

At this point you should be able to continue on to Installing from Source.

Getting the source

The best way to get Mumble's source is using Git. You can also download the latest ZIP package from GitHub.

Git

For compiling from Git make sure you've installed Git:

apt-get install git

On older systems like Debian 5 Lenny or Ubuntu 10.04 Lucid Lynx, you have to install git-core instead of git:

apt-get install git-core

Next, download the Mumble source (this may take a minute. At this time of writing, 2016, November 4th, the size is 43.39 MiB):

git clone git://github.com/mumble-voip/mumble.git mumble
cd mumble
git submodule init
git submodule update

To use the current (development) branch, which you most likely do:

git checkout --track -b master origin/master

To use the 1.2.x (stable) branch:

git checkout --track -b 1.2.x origin/v1.2.x

If you want to update your local branch, make sure you're still in the main git directory ('mumble' in the above example) and use this command:

git pull

Zip package

Download the latest zip archive from GitHub, extract it and fetch the submodules:

unzip mumble-master.zip -d mumble
cd mumble
git submodule init
git submodule update

Compiling Mumble and Murmur

From Qt Creator

Installing Qt Creator

On Debian or Ubuntu:

apt-get install qtcreator

On Fedora:

dnf install qt-creator

On Arch Linux:

pacman -S qtcreator

Building and running Mumble

Open the project file main.pro located in the main directory, choose the build preset you want to use and press on the green arrow that seems like a play button. Mumble will start automatically once it's ready.

From the terminal

For more configuration options on the qmake command read the supplied INSTALL file.

Be sure to have the pre-requisites installed and in place for your linux distribution (see the sections above) before you begin compiling it.

Building Mumble

qmake -recursive main.pro
make

If you want to compile Murmur (Mumble server) only, then type:

qmake -recursive main.pro CONFIG+=no-client
make
Icons oxygen 48x48 actions view-pim-notes.png
The available CONFIG options are explained in INSTALL.

Running Mumble

cd release
./mumble

Running Murmur

See the dedicated page: Running Murmur

Text to Speech

For text-to-speech voices you will need to install speech dispatcher and at least a voice. Most distros ship packages for that in their repositories.