uTox installation on Ubuntu and Fedora Linux
In this tutorial, we will install uTox which is a well known open source instant messaging client for Tox. According to the project website, Tox is useful to protect people from digital surveillance. It is an open source and easy to use instant messaging software which helps you to connect with other people without any surveillance. All features (instant messaging, voice, video, and file sharing) of Tox are end to end encrypted using open source libraries.
uTox is a lightweight client for the Tox software which connects users with friends and family over an insecure network. It supports Windows, Linux, Mac OS and Android platforms.
Linux Distributions
In this uTox tutorial, we considered following Linux distributions because their desktop editions are very user-friendly.
- Ubuntu 15.04 LTS (64bit)
- Fedora 23 (64bit)
Prerequisites
For the compilation of uTox on the Linux platform, the following packages are required.
Libsodium
Sodium is a portable, cross-compilable, installable software library which provides encryption, decryption, signatures and hashing crypto operations.
Libopus
Opus is an open source codec used for transmission of interactive speech and audio over the Internet. It is required for audio support in ToxCore.
Libvpx
Is the video encoder of the open source project WebM and it is required for video support in ToxCore.
Toxcore
Core implementation of Tox software.
Filter Audio
uTox requires this lightweight audio filtering library.
Installation & configuration of uTox
Before we start with the installation of the above-mentioned packages, we will install the following packages which are required during compilation on the Ubuntu platform.
apt-get update && apt-get install --force-yes -y build-essential libtool autotools-dev automake checkinstall check git yasm pkg-config
For a Fedora environment, install the group of development packages by using the following command.
sudo yum groupinstall "Development Tools"
These packages are also required on the Fedora platform.
sudo yum install yasm.x86_64 autoconf automake libtool
The installation directory for the uTox client is /usr/local/utox_install on both distributions.
sudo mkdir /usr/local/utox_install
We have already downloaded the required packages in tar.gz format. Go into the package download directory and run the following command.
tar -xzf libsodium-1.0.0.tar.gz
cd libsodium-1.0.0/
For Ubuntu environment:
For Fedora environment:
Then run the configure script before we start the compilation of the crypto library.
./configure --prefix=/usr/local/utox_install/
For Ubuntu environment:
For Fedora environment:
Run the make command to compile the code.
make
For Ubuntu environment:
For Fedora environment:
Now run, the "make install" command to install the libsodium package.
sudo make install
For Ubuntu environment:
For Fedora environment:
Now, the video package will be compiled using the same commands.
tar -xzf libvpx.tar.gz
cd libvpx
For Ubuntu environment:
For Fedora environment:
Run the configure script with the prefix path as shown below.
./configure --prefix=/usr/local/utox_install/
For Ubuntu environment:
For Fedora environment:
make
For Ubuntu environment:
For Fedora environment:
sudo make install
For Ubuntu environment:
For Fedora environment:
Similarly, the audio package will be compiled by using confgure, make and make install commands.
tar -xzf opus-1.0.3.tar.gz
cd opus-1.0.3/
For Ubuntu environment:
For Fedora environment:
Running the configure script in the opus source code.
./configure --prefix=/usr/local/utox_install/
For Ubuntu environment:
For Fedora environment:
make
For Ubuntu environment:
For Fedora environment:
sudo make install
For Ubuntu environment:
For Fedora environment:
The filter audio libaray extraction and compilation for uTox client is shown in following figures.
tar -xzf filter_audio-master.tar.gz
cd filter_audio-master/
For Ubuntu environment:
For Fedora environment:
The default installation path of the filter audio library is /usr/local/. Therefore, we change the default PREFIX path to /usr/local/utox_install/ in the Makefile.
cat Makefile | grep /usr/local
For Ubuntu environment:
For Fedora environment:
Change the PREFIX path manullay in the Makefile or use the sed utility, which can search and replace the PREFIX path with following command.
sed -i 's|PREFIX ?= /usr/local|PREFIX ?= /usr/local/utox_install|g' Makefile
For Ubuntu environment:
For Fedora environment:
Now run the make & make install commands to compile the audio library.
make
For Ubuntu environment:
For Fedora environment:
sudo make install
For Ubuntu environment:
For Fedora environment:
The libvpx and libopus (video/audio) codecs are required for the Toxcore installation, therefore we run the export command in the terminal to set the PKG_CONFIG_PATH variable.
export PKG_CONFIG_PATH="/usr/local/utox_install/lib/pkgconfig"
tar -xzf toxcore.tar.gz
cd toxcore/
For Ubuntu environment:
For Fedora environment:
The configure script does not exist in the Toxcore source code. Therefore, we generate it by using the autoreconf tool, which is shown below.
autoreconf -i
For Ubuntu environment:
For Fedora environment:
Installation prefix , libsodium header and library paths are given in the configure script of Toxcore.
./configure --prefix=/usr/local/utox_install/ --with-libsodium-headers=/usr/local/utox_install/include --with-libsodium-libs=/usr/local/utox_install/lib/
For Ubuntu environment:
For Fedora environment:
The Audio/Vedio codecs that were found on Ubuntu platform are shown in the configure script output.
Configure script output shows that Opus & VPX packages are also found on the Fedora platform.
make
If following error occur after running make command then reinstall the libvpx package with --enable-shared switch.
For Ubuntu environment:
Similar error also occured on the fedora distribution while compiling toxcore which is shown below. Again install libvpx with --enable-shared switch.
For Fedora environment:
Installation of libvpx package with --enable-shared switch will solve the above error.
Compiling libvpx package with --enable-shared switch will solve the error on fedora platform.
Run the make command again in the Toxcore sources to compile the package. Run make install command to successfully install Toxcore afterward.
sudo make install
For Ubuntu environment:
For Fedora environment:
The uTox client also requires following dependencies before compilation.
sudo apt-get install --force-yes -y libx11-dev libv4l-dev libopenal-dev libfreetype6-dev libdbus-1-dev libxrender-dev libfontconfig1-dev libxext-dev
Following packages are required on the Fedora distribution.
sudo yum install libX11-devel libv4l-devel dbus-libs libXrandr-devel freetype-devel fontconfig-devel libXext-devel openal dbus-glib-devel
Download the openal-soft-devel package for the Fedora environment and install it.
wget ftp://ftp.muug.mb.ca/mirror/fedora/linux/updates/23/x86_64/o/openal-soft-devel-1.17.1-1.fc23.x86_64.rpm
rpm -ivh openal-soft-devel-1.17.1-1.fc23.x86_64.rpm
Extract the uTox package and change the default installation path which is /usr/local/. Therefore change the prefix path in Makefile from /usr/local to /usr/local/utox_install/.
tar xzf uTox.tar.gz
cd uTox/
For Ubuntu environment:
For Fedora environment:
Sed is a linux utility which provides a search & replace fucntion in file content as shown below.
sed -i 's|PREFIX ?= /usr/local|PREFIX ?= /usr/local/utox_install|g' Makefile
For Ubuntu environment:
For Fedora environment:
make
For Ubuntu environment:
For Fedora environment:
sudo make install
For Ubuntu environment:
For Fedora environment:
As shown in the above figure, uTox binary are in the folder /usr/local/utox_install/bin .
For Ubuntu environment:
For Fedora environment:
Run uTox application using ./utox command. if library path is not exported in terminal then the following error will occur.
For Ubuntu environment:
For Fedora environment:
Run the following command in a terminal and again run uTox application.
export LD_LIBRARY_PATH=../lib/
For Ubuntu environment:
For Fedora environment:
uTox client is successfully installed as shown in the following figure.
For Fedora environment:
As shown in the above figures, we have successfully configured the uTox client on both distributions.