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

Install uTox prerequisites on Ubuntu.

For a Fedora environment, install the group of development packages by using the following command.

sudo yum groupinstall "Development Tools"

Install uTox prerequisites on Fedora.

These packages are also required on the Fedora platform.

sudo yum install yasm.x86_64 autoconf automake libtool

Fedora installation.

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:

Extract Libsodium Ubuntu

For Fedora environment:

Extract Libsodium Fedora

Then run the configure script before we start the compilation of the crypto library.

 ./configure --prefix=/usr/local/utox_install/

For Ubuntu environment:

Configure Libsodium on Ubuntu.

For Fedora environment:

Configure Libsodium on Fedora.

                                                         

Run the make command to compile the code.

make

For Ubuntu environment:

Compile libsodium on Ubuntu.

For Fedora environment:

Compile Libsodium on Fedora.

Now run, the "make install" command to install the libsodium package.

sudo make install

For Ubuntu environment:

Install Libsodium on Ubuntu.

For Fedora environment:

Install Libsodium on Fedora.

Now, the video package will be compiled using the same commands.

tar -xzf libvpx.tar.gz

cd libvpx

For Ubuntu environment:

Unpack Libvpx on Ubuntu.

For Fedora environment:

Unpack Libvpx on Fedora.

Run the configure script with the prefix path as shown below.

./configure --prefix=/usr/local/utox_install/

For Ubuntu environment:

Configure Libvpx on Ubuntu.

For Fedora environment:

Configure Libvpx on Fedora.

make

For Ubuntu environment:

Compile Libvpx on Ubuntu.

For Fedora environment:

Configure Libvpx on Fedora.

sudo make install

For Ubuntu environment:

Compile Libvpx on Ubuntu.

For Fedora environment:

Compile Libvpx on Fedora.

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:

Unpack opus on Ubuntu.

For Fedora environment:

Unpack Opus on Fedora.

Running the configure script in the opus source code.

./configure --prefix=/usr/local/utox_install/

For Ubuntu environment:

Configure Opus in Ubuntu.

For Fedora environment:

Configure Opus in Fedora.

make

For Ubuntu environment:

Compile Opus in Ubuntu.

For Fedora environment:

Compile Opus in Fedora.

sudo make install

For Ubuntu environment:

Install Opus with make install on Ubuntu.

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:

Extract Filter Audio on Ubuntu.

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:

Check Prefix on Ubuntu.

For Fedora environment:

Check Prefix on Fedora.

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:

Replace PREFIX path on Ubuntu.

For Fedora environment:

Replace PREFIX path on Fedora.

Now run the make & make install commands to compile the audio library.

make

For Ubuntu environment:

Make filter audio on Ubuntu.

For Fedora environment:

Make filter audio on Fedora.

sudo make install

For Ubuntu environment:

Install filter audio on Ubuntu.

For Fedora environment:

Install filter audio on Fedora.

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"

Export PKG_CONFIG_PATH.

tar -xzf toxcore.tar.gz

cd toxcore/

For Ubuntu environment:

Unpack toxcore on Ubuntu.

For Fedora environment:

Unpack Toxcore on Fedora.

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:


Toxcore autoreconf on Ubuntu.

For Fedora environment:

Toxcore autoreconf on Fedora.

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:

Configure toxcore on Ubuntu.

For Fedora environment:

Configure Toxcore on Debian.

The Audio/Vedio codecs that were found on Ubuntu platform are shown in the configure script output.

Toxcore found the codecs on Ubuntu.

Configure script output shows that Opus & VPX packages are also found on the Fedora platform.

Toxcore found the codecs on Fedora.

make

Compile Toxcore with Make on Ubuntu.

If following error occur after running make command then reinstall the libvpx package with --enable-shared switch.

For Ubuntu environment:

libvpx --enable-shared on Ubuntu.

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:

libvpx --enable-shared on Fedora.

Installation of libvpx package with --enable-shared switch will solve the above error.

Reconfigure libvpx on Ubuntu.

Compiling libvpx package with --enable-shared switch will solve the error on fedora platform.

Reconfigure libvpx on Fedora.

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:

Toxcore make install on Ubuntu

For Fedora environment:

Toxcore make install on Fedora.

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

Install uTox Client dependencies on Ubuntu.

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

Install uTox Client dependencies on Fedora.

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

Install openal-soft-devel on Fedora.

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:

Unpack uTox on Ubuntu

For Fedora environment:

Unpack uTox on Fedora.

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:

Change prefix with sed on Fedora

make

For Ubuntu environment:

Compile uTox on Ubuntu

For Fedora environment:

Compile uTox on Fedora

sudo make install

For Ubuntu environment:

Install uTox on Ubuntu

For Fedora environment:

Install uTox on Fedora

As shown in the above figure, uTox binary are in the folder /usr/local/utox_install/bin .

For Ubuntu environment:

Utox Path Ubuntu

For Fedora environment:

Utox Path Fedora

Run uTox application using ./utox command. if library path is not exported in terminal then the following error will occur.

For Ubuntu environment:

utox error Ubuntu

For Fedora environment:

Utox Error Fedora

Run the following command in a terminal and again run uTox application.

export LD_LIBRARY_PATH=../lib/

For Ubuntu environment:

.export LD_LIBRARY_PATH=../lib/ Ubuntu

For Fedora environment:

export LD_LIBRARY_PATH=../lib/ Fedora

uTox client is successfully installed as shown in the following figure.

Utox running on Ubuntu.

For Fedora environment:

Utox Running on Fedora.

As shown in the above figures, we have successfully configured the uTox client on both distributions.

Share this page:

3 Comment(s)

Add comment

Comments

From: Larry M

Very useful info.

Couple of items:

1. instead of editing Makefile, setting PREFIX=/usr.. (either using export command or in the same line as 'make') from command line would seem to be more convenient

2. In Fedora, instead of manually downloading and installing openal-soft-devel, we could just use dnf command: dnf install openal-soft-devel

 

From: Kåre Särs

Why compile when it is possible to just install? I'm not going to get my 93 year old gandma to compile. That is not the task of the end-user ;)

https://wiki.tox.chat/binaries#gnulinux

 

From: naveed60

Thanks Larry for suggestions.