2016-04-10 06:26:26 +08:00
|
|
|
# Install Instructions
|
2014-10-01 04:51:03 +08:00
|
|
|
- [Dependencies](#dependencies)
|
|
|
|
- [Linux](#linux)
|
2015-08-25 00:06:51 +08:00
|
|
|
- [Simple install](#simple-install)
|
|
|
|
- [Arch](#arch-easy)
|
|
|
|
- [Gentoo](#gentoo-easy)
|
|
|
|
- [Slackware](#slackware-easy)
|
2015-12-08 04:30:48 +08:00
|
|
|
- [FreeBSD](#freebsd-easy)
|
2015-08-25 00:06:51 +08:00
|
|
|
- [Install git](#install-git)
|
|
|
|
- [Arch](#arch-git)
|
|
|
|
- [Debian](#debian-git)
|
|
|
|
- [Fedora](#fedora-git)
|
|
|
|
- [openSUSE](#opensuse-git)
|
2015-10-23 05:24:06 +08:00
|
|
|
- [Ubuntu](#ubuntu-git)
|
2015-08-25 00:06:51 +08:00
|
|
|
- [Clone qTox](#clone-qtox)
|
|
|
|
- [GCC, Qt, FFmpeg, OpanAL Soft and qrencode](#other-deps)
|
|
|
|
- [Arch](#arch-other-deps)
|
2015-10-23 05:24:06 +08:00
|
|
|
- [Debian](#debian-other-deps)
|
2015-08-25 00:06:51 +08:00
|
|
|
- [Fedora](#fedora-other-deps)
|
|
|
|
- [openSUSE](#opensuse-other-deps)
|
|
|
|
- [Slackware](#slackware-other-deps)
|
2015-10-23 05:24:06 +08:00
|
|
|
- [Ubuntu >=15.04](#ubuntu-other-deps)
|
2016-04-16 02:24:51 +08:00
|
|
|
- [Ubuntu >=16.04](#ubuntu-other-1604-deps)
|
2015-08-25 00:06:51 +08:00
|
|
|
- [toxcore dependencies](#toxcore-dependencies)
|
|
|
|
- [Arch](#arch-toxcore)
|
2015-10-23 05:24:06 +08:00
|
|
|
- [Debian](#debian-toxcore)
|
2015-08-25 00:06:51 +08:00
|
|
|
- [Fedora](#fedora-toxcore)
|
|
|
|
- [openSUSE](#opensuse-toxcore)
|
|
|
|
- [Slackware](#slackware-toxcore)
|
2015-10-23 05:24:06 +08:00
|
|
|
- [Ubuntu >=15.04](#ubuntu-toxcore)
|
2016-01-02 04:40:45 +08:00
|
|
|
- [sqlcipher](#sqlcipher)
|
2016-04-10 06:26:26 +08:00
|
|
|
- [Compile toxcore](#compile-toxcore)
|
2015-08-25 00:06:51 +08:00
|
|
|
- [Compile qTox](#compile-qtox)
|
2014-10-01 04:51:03 +08:00
|
|
|
- [OS X](#osx)
|
2014-12-09 07:15:53 +08:00
|
|
|
- [Windows](#windows)
|
2014-10-01 04:51:03 +08:00
|
|
|
|
|
|
|
<a name="dependencies" />
|
2015-12-08 04:30:48 +08:00
|
|
|
## Dependencies
|
2014-09-03 18:54:41 +08:00
|
|
|
|
2016-03-13 12:47:19 +08:00
|
|
|
| Name | Version | Modules |
|
|
|
|
|---------------|-------------|-------------------------------------------------- |
|
|
|
|
| Qt | >= 5.3.0 | core, gui, network, opengl, sql, svg, widget, xml |
|
|
|
|
| GCC/MinGW | >= 4.8 | C++11 enabled |
|
|
|
|
| toxcore | most recent | core, av |
|
|
|
|
| FFmpeg | >= 2.6.0 | avformat, avdevice, avcodec, avutil, swscale |
|
|
|
|
| OpenAL Soft | >= 1.16.0 | |
|
|
|
|
| qrencode | >= 3.0.3 | |
|
|
|
|
| sqlcipher | >= 3.2.0 | |
|
|
|
|
| pkg-config | >= 0.28 | |
|
2016-12-03 01:35:14 +08:00
|
|
|
|
|
|
|
## Optional dependencies
|
|
|
|
|
|
|
|
They can be disabled/enabled by passing arguments to `qmake` command when
|
|
|
|
building qTox.
|
|
|
|
|
|
|
|
If they are missing, qTox is built without support for the functionality.
|
|
|
|
|
|
|
|
### Linux
|
|
|
|
|
|
|
|
#### Auto-away support
|
|
|
|
|
|
|
|
| Name | Version |
|
|
|
|
|---------------|----------|
|
|
|
|
| libXScrnSaver | >= 1.2 |
|
|
|
|
| libX11 | >= 1.6.0 |
|
|
|
|
|
|
|
|
To disable: `DISABLE_PLATFORM_EXT=YES`
|
|
|
|
|
|
|
|
#### KDE Status Notifier / GTK tray backend
|
|
|
|
|
|
|
|
| Name | Version |
|
|
|
|
|-------------|---------|
|
|
|
|
| [Atk] | >= 2.14 |
|
|
|
|
| [Cairo] | |
|
|
|
|
| [GdkPixbuf] | >= 2.31 |
|
|
|
|
| [GLib] | >= 2.0 |
|
|
|
|
| [GTK+] | >= 2.0 |
|
|
|
|
| [Pango] | >= 1.18 |
|
|
|
|
|
|
|
|
To disable: `ENABLE_SYSTRAY_STATUSNOTIFIER_BACKEND=NO
|
|
|
|
ENABLE_SYSTRAY_GTK_BACKEND=NO`
|
|
|
|
|
|
|
|
#### Unity tray backend
|
|
|
|
|
|
|
|
Disabled by default.
|
|
|
|
|
|
|
|
| Name | Version |
|
|
|
|
|-------------|---------|
|
|
|
|
| [Atk] | >= 2.14 |
|
|
|
|
| [Cairo] | |
|
|
|
|
| [DBus Menu] | >= 0.6 |
|
|
|
|
| [GdkPixbuf] | >= 2.31 |
|
|
|
|
| [GLib] | >= 2.0 |
|
|
|
|
| [GTK+] | >= 2.0 |
|
|
|
|
| [libappindicator] | >= 0.4.92 |
|
|
|
|
| [Pango] | >= 1.18 |
|
|
|
|
|
|
|
|
To enable: `ENABLE_SYSTRAY_UNITY_BACKEND=YES`
|
2014-09-05 02:00:19 +08:00
|
|
|
|
2015-07-06 03:14:37 +08:00
|
|
|
|
2014-12-09 07:15:53 +08:00
|
|
|
<a name="linux" />
|
2015-12-08 04:30:48 +08:00
|
|
|
## Linux
|
|
|
|
### Simple install
|
2014-12-09 07:15:53 +08:00
|
|
|
Easy qTox install is provided for variety of distributions:
|
2014-09-05 02:00:19 +08:00
|
|
|
|
2015-06-28 02:16:47 +08:00
|
|
|
* [Arch](#arch)
|
|
|
|
* [Gentoo](#gentoo)
|
2015-06-28 19:51:45 +08:00
|
|
|
* [Slackware](#slackware)
|
2015-06-28 02:16:47 +08:00
|
|
|
|
2016-04-28 23:40:05 +08:00
|
|
|
#### Community builds
|
|
|
|
|
|
|
|
There are community builds for wide range of distrubutions:
|
|
|
|
|
2016-06-18 20:37:18 +08:00
|
|
|
Link | Distros | Architecture
|
|
|
|
---- | ------- | ------------
|
|
|
|
[OBS] | Arch, CentOS, Debian, Fedora, openSUSE, Ubuntu | x86, x86_64
|
|
|
|
[Ubuntu PPA] | Ubuntu | arm64, armhf, ppc64el
|
2016-04-28 23:40:05 +08:00
|
|
|
|
2016-11-02 04:20:11 +08:00
|
|
|
For release version, install `qtox`. To get latest changes, install
|
|
|
|
`qtox-alpha`.
|
2015-08-26 18:02:11 +08:00
|
|
|
|
|
|
|
====
|
2015-08-25 00:06:51 +08:00
|
|
|
|
|
|
|
<a name="arch-easy" />
|
2015-06-28 02:16:47 +08:00
|
|
|
#### Arch
|
2014-09-05 02:00:19 +08:00
|
|
|
|
2016-01-31 20:42:27 +08:00
|
|
|
PKGBUILD is available in the `community` repo, to install:
|
|
|
|
```bash
|
|
|
|
pacman -S qtox
|
|
|
|
```
|
2015-06-28 02:16:47 +08:00
|
|
|
|
2015-08-25 00:06:51 +08:00
|
|
|
<a name="gentoo-easy" />
|
2015-06-28 02:16:47 +08:00
|
|
|
#### Gentoo
|
|
|
|
|
2016-03-22 05:33:51 +08:00
|
|
|
qTox is available in Gentoo.
|
2015-06-28 02:16:47 +08:00
|
|
|
|
2016-03-22 05:33:51 +08:00
|
|
|
To install:
|
2015-06-28 02:16:47 +08:00
|
|
|
```bash
|
|
|
|
emerge qtox
|
|
|
|
```
|
|
|
|
|
2015-06-28 19:51:45 +08:00
|
|
|
|
2015-08-25 00:06:51 +08:00
|
|
|
<a name="slackware-easy" />
|
2015-06-28 19:51:45 +08:00
|
|
|
#### Slackware
|
|
|
|
|
2016-04-10 05:47:39 +08:00
|
|
|
qTox SlackBuild and all of its dependencies can be found here:
|
|
|
|
http://slackbuilds.org/repository/14.1/network/qTox/
|
2015-06-28 19:51:45 +08:00
|
|
|
|
2015-12-08 04:30:48 +08:00
|
|
|
<a name="freebsd-easy" />
|
|
|
|
#### FreeBSD
|
|
|
|
|
|
|
|
A qTox port is available at ``net-im/qTox``. To build and install qTox:
|
|
|
|
|
|
|
|
```bash
|
|
|
|
cd /usr/ports/net-im/qTox/
|
|
|
|
make install
|
|
|
|
```
|
|
|
|
|
2015-07-02 19:01:33 +08:00
|
|
|
----
|
2015-06-28 19:51:45 +08:00
|
|
|
|
2016-04-10 05:47:39 +08:00
|
|
|
If your distribution is not listed, or you want / need to compile qTox, there
|
|
|
|
are provided instructions.
|
2015-06-28 02:16:47 +08:00
|
|
|
|
|
|
|
|
2014-12-09 07:15:53 +08:00
|
|
|
----
|
2014-09-03 18:54:41 +08:00
|
|
|
|
2016-04-10 05:47:39 +08:00
|
|
|
Most of the dependencies should be available through your package manger. You
|
|
|
|
may either follow the directions below, or simply run `./simple_make.sh` after
|
|
|
|
cloning this repository, which will attempt to automatically download
|
|
|
|
dependencies followed by compilation.
|
2014-09-03 20:22:00 +08:00
|
|
|
|
2015-08-25 00:06:51 +08:00
|
|
|
### Install git
|
2014-09-03 20:22:00 +08:00
|
|
|
In order to clone the qTox repository you need Git.
|
|
|
|
|
2015-08-25 00:06:51 +08:00
|
|
|
|
|
|
|
<a name="arch-git" />
|
2016-04-10 06:26:26 +08:00
|
|
|
#### Arch Linux
|
2014-09-03 20:22:00 +08:00
|
|
|
```bash
|
2014-12-09 07:15:53 +08:00
|
|
|
sudo pacman -S --needed git
|
2014-09-03 20:22:00 +08:00
|
|
|
```
|
|
|
|
|
2015-08-25 00:06:51 +08:00
|
|
|
<a name="debian-git" />
|
2016-04-10 06:26:26 +08:00
|
|
|
#### Debian
|
2014-09-03 20:22:00 +08:00
|
|
|
```bash
|
|
|
|
sudo apt-get install git
|
|
|
|
```
|
|
|
|
|
2015-09-19 02:00:16 +08:00
|
|
|
<a name="fedora-git" />
|
2016-04-10 06:26:26 +08:00
|
|
|
#### Fedora
|
2014-09-03 20:22:00 +08:00
|
|
|
```bash
|
2015-05-04 04:56:45 +08:00
|
|
|
sudo dnf install git
|
2014-09-03 20:22:00 +08:00
|
|
|
```
|
|
|
|
|
2015-08-25 00:06:51 +08:00
|
|
|
<a name="opensuse-git" />
|
2016-04-10 06:26:26 +08:00
|
|
|
#### openSUSE
|
2015-05-10 05:37:56 +08:00
|
|
|
```bash
|
|
|
|
sudo zypper install git
|
|
|
|
```
|
|
|
|
|
2015-10-23 05:24:06 +08:00
|
|
|
<a name="ubuntu-git" />
|
2016-04-10 06:26:26 +08:00
|
|
|
#### Ubuntu
|
2015-10-23 05:24:06 +08:00
|
|
|
```bash
|
|
|
|
sudo apt-get install git
|
|
|
|
```
|
|
|
|
|
2014-09-03 20:22:00 +08:00
|
|
|
|
2015-08-25 00:06:51 +08:00
|
|
|
### Clone qTox
|
2016-04-10 06:26:26 +08:00
|
|
|
Afterwards open a new terminal, change to a directory of your choice and clone
|
2016-04-10 05:47:39 +08:00
|
|
|
the repository:
|
2014-09-03 20:40:18 +08:00
|
|
|
```bash
|
2016-09-23 11:31:33 +08:00
|
|
|
cd /home/$USER/qTox
|
2016-08-04 06:25:50 +08:00
|
|
|
git clone https://github.com/qTox/qTox.git qTox
|
2014-09-03 20:40:18 +08:00
|
|
|
```
|
|
|
|
|
2016-09-23 11:31:33 +08:00
|
|
|
The following steps assumes that you cloned the repository at
|
|
|
|
`/home/$USER/qTox`. If you decided to choose another location, replace
|
|
|
|
corresponding parts.
|
2014-09-03 20:40:18 +08:00
|
|
|
|
2014-09-03 20:22:00 +08:00
|
|
|
|
2015-08-25 00:06:51 +08:00
|
|
|
<a name="other-deps" />
|
|
|
|
### GCC, Qt, FFmpeg, OpanAL Soft and qrencode
|
|
|
|
|
|
|
|
<a name="arch-other-deps" />
|
2016-04-10 06:26:26 +08:00
|
|
|
#### Arch Linux
|
2014-09-03 20:22:00 +08:00
|
|
|
```bash
|
2015-06-13 15:04:21 +08:00
|
|
|
sudo pacman -S --needed base-devel qt5 openal libxss qrencode ffmpeg
|
2014-09-03 20:22:00 +08:00
|
|
|
```
|
|
|
|
|
2015-08-25 00:06:51 +08:00
|
|
|
|
2015-10-23 05:24:06 +08:00
|
|
|
<a name="debian-other-deps" />
|
2016-04-10 06:26:26 +08:00
|
|
|
#### Debian
|
2015-10-23 05:24:06 +08:00
|
|
|
**Note that only Debian >=8 stable (jessie) is supported.**
|
2015-08-25 00:06:51 +08:00
|
|
|
|
2016-04-10 05:47:39 +08:00
|
|
|
If you use stable, you have to add backports to your `sources.list` for FFmpeg
|
|
|
|
and others. Instructions here: http://backports.debian.org/Instructions/
|
2014-09-03 20:22:00 +08:00
|
|
|
|
2015-06-13 15:04:21 +08:00
|
|
|
```bash
|
2016-04-10 05:47:39 +08:00
|
|
|
sudo apt-get install build-essential qt5-qmake qt5-default qttools5-dev-tools \
|
|
|
|
libqt5opengl5-dev libqt5svg5-dev libopenal-dev libxss-dev qrencode \
|
|
|
|
libqrencode-dev libglib2.0-dev libgdk-pixbuf2.0-dev libgtk2.0-dev ffmpeg \
|
|
|
|
libsqlcipher-dev
|
2015-06-13 15:04:21 +08:00
|
|
|
```
|
|
|
|
|
|
|
|
|
2015-08-25 00:06:51 +08:00
|
|
|
<a name="fedora-other-deps" />
|
2016-04-10 06:26:26 +08:00
|
|
|
#### Fedora
|
2016-11-29 08:05:16 +08:00
|
|
|
**Note that sqlcipher is not included in all versions of Fedora yet.**
|
|
|
|
As of writing this section (November 2016), Fedora 25 ships sqlcipher, but
|
|
|
|
Fedora 24 and older don't ship it yet.
|
|
|
|
**This means that if you can't install sqlcipher from repositories, you'll
|
|
|
|
have to compile it yourself, otherwise compiling qTox will fail.**
|
2014-09-03 20:22:00 +08:00
|
|
|
```bash
|
2016-06-16 22:24:15 +08:00
|
|
|
sudo dnf groupinstall "Development Tools" "C Development Tools and Libraries"
|
2016-04-10 05:47:39 +08:00
|
|
|
# (can also use sudo dnf install @"Development Tools")
|
|
|
|
sudo dnf install qt-devel qt-doc qt-creator qt5-qtsvg qt5-qtsvg-devel \
|
|
|
|
openal-soft-devel libXScrnSaver-devel qrencode-devel ffmpeg-devel \
|
2016-06-16 22:24:15 +08:00
|
|
|
qtsingleapplication qt5-linguist gtk2-devel libtool openssl-devel
|
2014-09-03 20:22:00 +08:00
|
|
|
```
|
2016-11-29 08:05:16 +08:00
|
|
|
```bash
|
|
|
|
sudo dnf install sqlcipher sqlcipher-devel
|
|
|
|
```
|
2014-09-03 20:22:00 +08:00
|
|
|
|
2016-11-29 08:05:16 +08:00
|
|
|
**Go to [sqlcipher](#sqlcipher) section to compile it if necessary.**
|
2016-01-16 00:49:54 +08:00
|
|
|
|
2015-08-25 00:06:51 +08:00
|
|
|
<a name="opensuse-other-deps" />
|
2016-04-10 06:26:26 +08:00
|
|
|
#### openSUSE
|
2015-08-25 00:06:51 +08:00
|
|
|
|
2015-05-10 05:37:56 +08:00
|
|
|
```bash
|
2016-04-10 05:47:39 +08:00
|
|
|
sudo zypper install patterns-openSUSE-devel_basis libqt5-qtbase-common-devel \
|
|
|
|
libqt5-qtsvg-devel libqt5-linguist libQt5Network-devel libQt5OpenGL-devel \
|
|
|
|
libQt5Concurrent-devel libQt5Xml-devel libQt5Sql-devel openal-soft-devel \
|
|
|
|
qrencode-devel libXScrnSaver-devel libQt5Sql5-sqlite libffmpeg-devel \
|
|
|
|
sqlcipher-devel
|
2015-05-10 05:37:56 +08:00
|
|
|
```
|
|
|
|
|
2015-08-25 00:06:51 +08:00
|
|
|
<a name="slackware-other-deps" />
|
2016-04-10 06:26:26 +08:00
|
|
|
#### Slackware
|
2014-12-05 22:16:04 +08:00
|
|
|
|
2016-04-10 06:26:26 +08:00
|
|
|
List of all the qTox dependencies and their SlackBuilds can be found here:
|
2016-04-10 05:47:39 +08:00
|
|
|
http://slackbuilds.org/repository/14.1/network/qTox/
|
2014-12-09 07:15:53 +08:00
|
|
|
|
2014-09-03 20:22:00 +08:00
|
|
|
|
2015-10-23 05:24:06 +08:00
|
|
|
<a name="ubuntu-other-deps" />
|
2016-04-10 06:26:26 +08:00
|
|
|
#### Ubuntu >=15.04
|
2015-10-23 05:24:06 +08:00
|
|
|
```bash
|
2016-04-10 05:47:39 +08:00
|
|
|
sudo apt-get install build-essential qt5-qmake qt5-default qttools5-dev-tools \
|
|
|
|
libqt5opengl5-dev libqt5svg5-dev libopenal-dev libxss-dev qrencode \
|
|
|
|
libqrencode-dev libavutil-ffmpeg-dev libswresample-ffmpeg-dev \
|
|
|
|
libavcodec-ffmpeg-dev libswscale-ffmpeg-dev libavfilter-ffmpeg-dev \
|
|
|
|
libavdevice-ffmpeg-dev libglib2.0-dev libgdk-pixbuf2.0-dev libgtk2.0-dev \
|
|
|
|
libsqlcipher-dev
|
2015-10-23 05:24:06 +08:00
|
|
|
```
|
|
|
|
|
2016-04-16 02:24:51 +08:00
|
|
|
<a name="ubuntu-other-1604-deps" />
|
|
|
|
#### Ubuntu >=16.04:
|
|
|
|
```bash
|
|
|
|
sudo apt-get install build-essential qt5-qmake qt5-default qttools5-dev-tools libqt5opengl5-dev libqt5svg5-dev libopenal-dev libxss-dev qrencode libqrencode-dev libavutil-dev libswresample-dev libavcodec-dev libswscale-dev libavfilter-dev libavdevice-dev libglib2.0-dev libgdk-pixbuf2.0-dev libgtk2.0-dev libsqlcipher-dev
|
|
|
|
```
|
2015-10-23 05:24:06 +08:00
|
|
|
|
2015-08-25 00:06:51 +08:00
|
|
|
### toxcore dependencies
|
2015-07-02 19:01:33 +08:00
|
|
|
|
2015-08-25 00:06:51 +08:00
|
|
|
Install all of the toxcore dependencies.
|
2014-09-03 20:22:00 +08:00
|
|
|
|
2015-08-25 00:06:51 +08:00
|
|
|
<a name="arch-toxcore" />
|
2016-04-10 06:26:26 +08:00
|
|
|
#### Arch Linux
|
2014-09-03 20:22:00 +08:00
|
|
|
```bash
|
2015-05-17 06:18:01 +08:00
|
|
|
sudo pacman -S --needed opus libvpx libsodium
|
2014-09-03 20:22:00 +08:00
|
|
|
```
|
|
|
|
|
2015-10-23 05:24:06 +08:00
|
|
|
<a name="debian-toxcore" />
|
2016-04-10 06:26:26 +08:00
|
|
|
#### Debian
|
2014-09-03 20:22:00 +08:00
|
|
|
```bash
|
2016-04-10 05:47:39 +08:00
|
|
|
sudo apt-get install libtool autotools-dev automake checkinstall check \
|
|
|
|
libopus-dev libvpx-dev libsodium-dev libavdevice-dev
|
2014-09-03 20:22:00 +08:00
|
|
|
```
|
|
|
|
|
2015-08-25 00:06:51 +08:00
|
|
|
<a name="fedora-toxcore" />
|
2016-04-10 06:26:26 +08:00
|
|
|
#### Fedora
|
2014-09-03 20:22:00 +08:00
|
|
|
```bash
|
2016-04-10 05:47:39 +08:00
|
|
|
sudo dnf install libtool autoconf automake check check-devel libsodium-devel \
|
|
|
|
opus-devel libvpx-devel
|
2014-09-03 20:22:00 +08:00
|
|
|
```
|
|
|
|
|
2015-08-25 00:06:51 +08:00
|
|
|
<a name="opensuse-toxcore" />
|
2016-04-10 06:26:26 +08:00
|
|
|
#### openSUSE
|
2015-05-10 05:37:56 +08:00
|
|
|
```bash
|
2016-04-10 05:47:39 +08:00
|
|
|
sudo zypper install libsodium-devel libvpx-devel libopus-devel \
|
|
|
|
patterns-openSUSE-devel_basis
|
2015-05-10 05:37:56 +08:00
|
|
|
```
|
|
|
|
|
2015-08-25 00:06:51 +08:00
|
|
|
<a name="slackware-toxcore" />
|
2016-04-10 06:26:26 +08:00
|
|
|
#### Slackware
|
2015-05-04 07:33:59 +08:00
|
|
|
|
2016-04-10 06:26:26 +08:00
|
|
|
List of all the toxcore dependencies and their SlackBuilds can be found
|
2016-04-10 05:47:39 +08:00
|
|
|
here: http://slackbuilds.org/repository/14.1/network/toxcore/
|
2015-07-02 19:01:33 +08:00
|
|
|
|
2015-07-06 03:14:37 +08:00
|
|
|
|
2015-10-23 05:24:06 +08:00
|
|
|
<a name="ubuntu-toxcore" />
|
2016-04-10 06:26:26 +08:00
|
|
|
#### Ubuntu >=15.04
|
2015-10-23 05:24:06 +08:00
|
|
|
```bash
|
2016-04-10 05:47:39 +08:00
|
|
|
sudo apt-get install libtool autotools-dev automake checkinstall check \
|
|
|
|
libopus-dev libvpx-dev libsodium-dev
|
2015-10-23 05:24:06 +08:00
|
|
|
```
|
|
|
|
|
|
|
|
|
2016-01-02 04:49:12 +08:00
|
|
|
### sqlcipher
|
|
|
|
|
2016-11-29 08:05:16 +08:00
|
|
|
If you are not using an old version of Fedora, skip this section, and go
|
|
|
|
directly to compiling
|
2016-04-10 05:47:39 +08:00
|
|
|
[**toxcore**](#toxcore-compiling).
|
2016-01-02 04:49:12 +08:00
|
|
|
|
2016-04-22 05:15:55 +08:00
|
|
|
```bash
|
2016-02-26 08:38:25 +08:00
|
|
|
git clone https://github.com/sqlcipher/sqlcipher
|
|
|
|
cd sqlcipher
|
|
|
|
./configure --enable-tempstore=yes CFLAGS="-DSQLITE_HAS_CODEC" \
|
2016-02-22 18:48:55 +08:00
|
|
|
LDFLAGS="-lcrypto"
|
2016-02-26 08:38:25 +08:00
|
|
|
make
|
|
|
|
sudo make install
|
2016-02-22 18:48:55 +08:00
|
|
|
cd ..
|
2016-02-26 08:38:25 +08:00
|
|
|
```
|
2015-10-23 17:47:17 +08:00
|
|
|
|
2016-04-10 06:26:26 +08:00
|
|
|
### Compile toxcore
|
2015-07-06 03:14:37 +08:00
|
|
|
|
2015-08-25 00:06:51 +08:00
|
|
|
Provided that you have all required dependencies installed, you can simply run:
|
|
|
|
```bash
|
|
|
|
git clone https://github.com/irungentoo/toxcore.git
|
|
|
|
cd toxcore
|
|
|
|
autoreconf -if
|
|
|
|
./configure
|
|
|
|
make -j$(nproc)
|
|
|
|
sudo make install
|
|
|
|
echo '/usr/local/lib/' | sudo tee -a /etc/ld.so.conf.d/locallib.conf
|
|
|
|
sudo ldconfig
|
2014-12-22 18:50:08 +08:00
|
|
|
```
|
|
|
|
|
2015-07-06 03:14:37 +08:00
|
|
|
|
2015-08-25 00:06:51 +08:00
|
|
|
### Compile qTox
|
2016-04-10 05:47:39 +08:00
|
|
|
**Make sure that all the dependencies are installed.** If you experience
|
|
|
|
problems with compiling, it's most likely due to missing dependencies, so please
|
|
|
|
make sure that you did install *all of them*.
|
2015-08-25 00:06:51 +08:00
|
|
|
|
|
|
|
Run in qTox directory to compile:
|
2014-09-27 06:11:13 +08:00
|
|
|
```bash
|
|
|
|
qmake
|
|
|
|
make
|
|
|
|
```
|
|
|
|
|
2015-08-25 00:06:51 +08:00
|
|
|
Now you can start compiled qTox with `./qtox`
|
|
|
|
|
|
|
|
Congratulations, you've compiled qTox `:)`
|
|
|
|
|
|
|
|
|
2016-04-10 06:26:26 +08:00
|
|
|
#### openSUSE / Fedora
|
2015-08-25 00:06:51 +08:00
|
|
|
|
2016-04-10 05:47:39 +08:00
|
|
|
Note to Fedora users: check qt5 version before building default is 4.8 on fedora
|
2016-04-10 06:26:26 +08:00
|
|
|
21 / 22, everything up until `qmake-qt5` will build fine but then `qmake-qt5`
|
|
|
|
will freak out.
|
2015-05-10 05:37:56 +08:00
|
|
|
```bash
|
|
|
|
qmake-qt5
|
|
|
|
make
|
|
|
|
```
|
|
|
|
|
2015-08-25 00:06:51 +08:00
|
|
|
#### Debian / Ubuntu / Mint
|
2016-04-10 05:47:39 +08:00
|
|
|
If the compiling process stops with a missing dependency like:
|
|
|
|
`... libswscale/swscale.h missing` try:
|
2016-04-22 05:15:55 +08:00
|
|
|
```bash
|
2015-06-13 15:04:21 +08:00
|
|
|
apt-file search libswscale/swscale.h
|
|
|
|
```
|
|
|
|
And install the package that provides the missing file.
|
2016-04-10 06:26:26 +08:00
|
|
|
Start make again. Repeat if necessary until all dependencies are installed. If
|
2016-04-10 05:47:39 +08:00
|
|
|
you can, please note down all additional dependencies you had to install that
|
|
|
|
aren't listed here, and let us know what is missing `;)`
|
2015-06-13 15:04:21 +08:00
|
|
|
|
|
|
|
|
2015-08-25 00:06:51 +08:00
|
|
|
====
|
2015-06-13 15:04:21 +08:00
|
|
|
|
2015-10-23 17:47:17 +08:00
|
|
|
### Building packages
|
2014-09-08 06:59:31 +08:00
|
|
|
|
2016-04-10 05:47:39 +08:00
|
|
|
Alternately, qTox now has the experimental and probably-dodgy ability to package
|
2016-04-10 06:26:26 +08:00
|
|
|
itself (in `.deb` form natively, and `.rpm` form with
|
|
|
|
[alien](http://joeyh.name/code/alien/)).
|
2014-09-08 06:59:31 +08:00
|
|
|
|
|
|
|
After installing the required dependencies, run `bootstrap.sh` and then run the
|
2016-04-10 05:47:39 +08:00
|
|
|
`buildPackages.sh` script, found in the tools folder. It will automatically get
|
2016-04-10 06:26:26 +08:00
|
|
|
the packages necessary for building `.deb`s, so be prepared to type your
|
|
|
|
password for sudo.
|
2014-09-27 06:04:01 +08:00
|
|
|
|
2014-12-09 07:15:53 +08:00
|
|
|
|
2014-10-01 04:51:03 +08:00
|
|
|
<a name="osx" />
|
2015-10-23 17:47:17 +08:00
|
|
|
## OS X
|
2016-02-01 00:27:00 +08:00
|
|
|
|
2016-04-10 06:26:26 +08:00
|
|
|
Compiling qTox on OS X for development requires 3 tools:
|
|
|
|
[Xcode](https://developer.apple.com/xcode/),
|
|
|
|
[Qt 5.4+](http://www.qt.io/qt5-4/) and [homebrew](http://brew.sh).
|
2014-09-27 06:04:01 +08:00
|
|
|
|
2016-02-01 00:27:00 +08:00
|
|
|
### Automated Script
|
2016-04-10 05:47:39 +08:00
|
|
|
You can now set up your OS X system to compile qTox automatically thanks to the
|
|
|
|
script in: `./osx/qTox-Mac-Deployer-ULTIMATE.sh`
|
2016-02-01 00:27:00 +08:00
|
|
|
|
2016-04-10 05:47:39 +08:00
|
|
|
This script can be run independently of the qTox repo and is all that's needed
|
|
|
|
to build from scratch on OS X.
|
2016-02-01 00:27:00 +08:00
|
|
|
|
2016-04-10 05:47:39 +08:00
|
|
|
To use this script you must launch terminal which can be found:
|
|
|
|
`Applications > Utilities > Terminal.app`
|
2016-02-01 00:27:00 +08:00
|
|
|
|
2016-02-01 00:32:24 +08:00
|
|
|
If you wish to lean more you can run `./qTox-Mac-Deployer-ULTIMATE.sh -h`
|
|
|
|
|
2016-02-01 00:27:00 +08:00
|
|
|
#### First Run / Install
|
2016-04-10 06:26:26 +08:00
|
|
|
If you are running the script for the first time you will want to make sure your
|
2016-04-10 05:47:39 +08:00
|
|
|
system is ready. To do this simply run `./qTox-Mac-Deployer-ULTIMATE.sh -i` to
|
|
|
|
run you through the automated install set up.
|
2016-02-01 00:27:00 +08:00
|
|
|
|
2016-04-10 05:47:39 +08:00
|
|
|
After running the installation setup you are now ready to build qTox from
|
|
|
|
source, to do this simply run: `./qTox-Mac-Deployer-ULTIMATE.sh -b`
|
2016-02-01 00:27:00 +08:00
|
|
|
|
2016-04-10 05:47:39 +08:00
|
|
|
If there aren't any errors then you'll find a locally working qTox application
|
|
|
|
in your home folder under `~/qTox-Mac_Build`
|
2016-02-01 00:27:00 +08:00
|
|
|
|
|
|
|
#### Updating
|
2016-04-10 05:47:39 +08:00
|
|
|
If you want to update your application for testing purposes or you want to run a
|
|
|
|
nightly build setup then run: `./qTox-Mac-Deployer-ULTIMATE.sh -u` and follow
|
|
|
|
the prompts. (NOTE: If you know you updated the repos before running this hit Y)
|
|
|
|
followed by `./qTox-Mac-Deployer-ULTIMATE.sh -b` to build the application once
|
|
|
|
more. (NOTE: This will delete your previous build.)
|
2016-02-01 00:27:00 +08:00
|
|
|
|
|
|
|
#### Deploying
|
2016-04-10 05:47:39 +08:00
|
|
|
OS X requires an extra step to make the `qTox.app` file shareable on a system
|
|
|
|
that doesn't have the required libraries installed already.
|
2016-02-01 00:27:00 +08:00
|
|
|
|
2016-04-10 05:47:39 +08:00
|
|
|
If you want to share the build you've made with your other friends who use OS X
|
|
|
|
then simply run: `./qTox-Mac-Deployer-ULTIMATE.sh -d`
|
2016-02-01 00:27:00 +08:00
|
|
|
|
|
|
|
### Manual Compiling
|
|
|
|
#### Required Libraries
|
|
|
|
Install homebrew if you don't have it:
|
|
|
|
```bash
|
|
|
|
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
|
|
|
|
```
|
2014-09-27 06:04:01 +08:00
|
|
|
|
2016-04-10 06:26:26 +08:00
|
|
|
First, let's install the dependencies available via `brew`.
|
2015-07-09 02:24:20 +08:00
|
|
|
```bash
|
2016-04-10 05:47:39 +08:00
|
|
|
brew install git ffmpeg qrencode libtool automake autoconf check qt5 libvpx \
|
|
|
|
opus sqlcipher libsodium
|
2015-07-09 02:24:20 +08:00
|
|
|
```
|
2014-09-27 06:04:01 +08:00
|
|
|
|
2016-04-10 05:47:39 +08:00
|
|
|
Next, install
|
2016-04-10 06:26:26 +08:00
|
|
|
[toxcore](https://github.com/irungentoo/toxcore/blob/master/INSTALL.md#osx)
|
2016-02-01 00:27:00 +08:00
|
|
|
|
2015-07-09 02:24:20 +08:00
|
|
|
Then, clone qTox:
|
|
|
|
```bash
|
2016-08-04 15:57:18 +08:00
|
|
|
git clone https://github.com/qTox/qTox
|
2015-07-09 02:24:20 +08:00
|
|
|
```
|
2014-09-27 06:04:01 +08:00
|
|
|
|
2016-04-10 05:47:39 +08:00
|
|
|
Finally, copy all required files. Whenever you update your brew packages, you
|
|
|
|
may skip all of the above steps and simply run the following commands:
|
2015-07-09 02:24:20 +08:00
|
|
|
```bash
|
2016-02-01 00:27:00 +08:00
|
|
|
cd ./git/qTox
|
2015-07-09 02:24:20 +08:00
|
|
|
sudo bash bootstrap-osx.sh
|
|
|
|
```
|
2014-09-27 06:04:01 +08:00
|
|
|
|
2016-02-01 00:27:00 +08:00
|
|
|
#### Compiling
|
2016-04-10 05:47:39 +08:00
|
|
|
You can build qTox with Qt Creator
|
|
|
|
[seperate download](http://www.qt.io/download-open-source/#section-6) or you can
|
|
|
|
hunt down the version of home brew qt5 your using in the
|
|
|
|
`/usr/local/Cellar/qt5/` directory. e.g.
|
|
|
|
`/usr/local/Cellar/qt5/5.5.1_2/bin/qmake` with `5.5.1_2` being the version of
|
|
|
|
Qt5 that's been installed.
|
2014-09-27 06:04:01 +08:00
|
|
|
|
2016-02-01 00:27:00 +08:00
|
|
|
With that; in your terminal you can compile qTox in the git dir:
|
2015-07-09 02:24:20 +08:00
|
|
|
```bash
|
2016-02-01 00:27:00 +08:00
|
|
|
/usr/local/Cellar/qt5/5.5.1_2/bin/qmake ./qtox.pro
|
2015-07-09 02:24:20 +08:00
|
|
|
```
|
2014-09-27 06:04:01 +08:00
|
|
|
|
2016-02-01 00:27:00 +08:00
|
|
|
Or a cleaner method would be to:
|
|
|
|
```bash
|
|
|
|
cd ./git/dir/qTox
|
|
|
|
mkdir ./build
|
|
|
|
cd build
|
|
|
|
/usr/local/Cellar/qt5/5.5.1_2/bin/qmake ../qtox.pro
|
|
|
|
```
|
2015-03-05 00:59:55 +08:00
|
|
|
|
2016-02-01 00:27:00 +08:00
|
|
|
#### Deploying
|
2016-04-10 05:47:39 +08:00
|
|
|
If you compiled qTox properly you can now deploy the `qTox.app` that's created
|
|
|
|
where you built qTox so you can distribute the package.
|
2015-03-05 00:59:55 +08:00
|
|
|
|
2016-02-01 00:27:00 +08:00
|
|
|
Using your qt5 homebrew installation from the build directory:
|
2015-07-09 02:24:20 +08:00
|
|
|
```bash
|
2016-02-01 00:27:00 +08:00
|
|
|
/usr/local/Cellar/qt5/5.5.1_2/bin/macdeployqt ./qTox.app
|
2014-09-27 06:04:01 +08:00
|
|
|
```
|
2015-07-09 02:24:20 +08:00
|
|
|
|
2016-02-01 00:27:00 +08:00
|
|
|
#### Running qTox
|
2016-04-10 05:47:39 +08:00
|
|
|
You've got 2 choices, either click on the qTox app that suddenly exists, or do
|
|
|
|
the following:
|
2015-07-09 02:24:20 +08:00
|
|
|
```bash
|
|
|
|
qtox.app/Contents/MacOS/qtox
|
|
|
|
```
|
2016-04-10 06:26:26 +08:00
|
|
|
Enjoy the snazzy CLI output as your friends and family congratulate you on
|
|
|
|
becoming a hacker
|
2014-12-09 07:15:53 +08:00
|
|
|
|
|
|
|
<a name="windows" />
|
2015-10-23 17:47:17 +08:00
|
|
|
## Windows
|
2014-12-09 07:15:53 +08:00
|
|
|
|
2015-10-23 17:47:17 +08:00
|
|
|
### Qt
|
2014-12-09 07:15:53 +08:00
|
|
|
|
2016-04-10 05:47:39 +08:00
|
|
|
Download the Qt online installer for Windows from
|
2016-04-17 19:47:15 +08:00
|
|
|
[qt.io](https://www.qt.io/download-open-source/). While installation you have
|
2016-04-10 05:47:39 +08:00
|
|
|
to assemble your Qt toolchain. Take the most recent version of Qt compiled with
|
|
|
|
MinGW. Although the installer provides its own bundled MinGW compiler toolchain
|
|
|
|
its recommend installing it separately because Qt is missing MSYS which is
|
2016-04-16 12:49:12 +08:00
|
|
|
needed to compile and install OpenAL. Thus you can - if needed - deselect the
|
|
|
|
tab `Tools`. The following steps assume that Qt is installed at `C:\Qt`. If you
|
|
|
|
decided to choose another location, replace corresponding parts.
|
2014-12-09 07:15:53 +08:00
|
|
|
|
2015-10-23 17:47:17 +08:00
|
|
|
### MinGW
|
2014-12-09 07:15:53 +08:00
|
|
|
|
2016-04-10 05:47:39 +08:00
|
|
|
Download the MinGW installer for Windows from
|
|
|
|
[sourceforge.net](http://sourceforge.net/projects/mingw/files/Installer/). Make
|
|
|
|
sure to install MSYS (a set of Unix tools for Windows). The following steps
|
2016-04-10 06:26:26 +08:00
|
|
|
assume that MinGW is installed at `C:\MinGW`. If you decided to choose another
|
2016-04-25 01:40:48 +08:00
|
|
|
location, replace corresponding parts. Select `mingw-developer-toolkit`,
|
|
|
|
`mingw32-base`, `mingw32-gcc-g++`, `msys-base` and `mingw32-pthreads-w32`
|
|
|
|
packages using MinGW Installation Manager (`mingw-get.exe`). Check that the
|
|
|
|
version of MinGW, corresponds to the version of the QT component!
|
2014-12-09 07:15:53 +08:00
|
|
|
|
2016-04-10 06:26:26 +08:00
|
|
|
### Wget
|
2016-04-21 14:21:21 +08:00
|
|
|
|
2016-04-10 06:26:26 +08:00
|
|
|
Download the Wget installer for Windows from
|
2016-04-10 05:47:39 +08:00
|
|
|
http://gnuwin32.sourceforge.net/packages/wget.htm. Install them. The following
|
2016-04-10 06:26:26 +08:00
|
|
|
steps assume that Wget is installed at `C:\Program Files\GnuWin32\`. If you
|
2016-04-10 05:47:39 +08:00
|
|
|
decided to choose another location, replace corresponding parts.
|
2015-03-20 06:11:32 +08:00
|
|
|
|
2016-04-21 14:21:21 +08:00
|
|
|
### UnZip
|
|
|
|
|
|
|
|
Download the UnZip installer for Windows from
|
|
|
|
http://gnuwin32.sourceforge.net/packages/unzip.htm. Install it. The following
|
|
|
|
steps assume that UnZip is installed at `C:\Program Files\GnuWin32\`. If you
|
|
|
|
decided to choose another location, replace corresponding parts.
|
|
|
|
|
2015-10-23 17:47:17 +08:00
|
|
|
### Setting up Path
|
2014-12-09 07:15:53 +08:00
|
|
|
|
2016-04-10 05:47:39 +08:00
|
|
|
Add MinGW/MSYS/CMake binaries to the system path to make them globally
|
2016-04-10 06:26:26 +08:00
|
|
|
accessible. Open `Control Panel` -> `System and Security` -> `System` ->
|
|
|
|
`Advanced system settings` -> `Environment Variables...` (or run `sysdm.cpl`
|
|
|
|
select tab `Advanced system settings` -> button `Environment Variables`). In the
|
|
|
|
second box search for the `PATH` variable and press `Edit...`. The input box
|
|
|
|
`Variable value:` should already contain some directories. Each directory is
|
2016-04-10 05:47:39 +08:00
|
|
|
separated with a semicolon. Extend the input box by adding
|
2016-04-21 14:21:21 +08:00
|
|
|
`;C:\MinGW\bin;C:\MinGW\msys\1.0\bin;C:\Program Files (x86)\CMake 2.8\bin;C:\Program Files\GnuWin32\bin;C:\Program Files (x86)\GnuWin32\bin`.
|
2016-04-10 05:47:39 +08:00
|
|
|
The very first semicolon must only be added if it is missing. CMake may be added
|
2016-09-18 21:41:57 +08:00
|
|
|
by installer automatically. Make sure that paths containing alternative `sh`,
|
|
|
|
`bash` implementations such as `C:\Program Files\OpenSSH\bin` are at the end of
|
|
|
|
`PATH` or build may fail.
|
2014-12-09 07:15:53 +08:00
|
|
|
|
2015-10-23 17:47:17 +08:00
|
|
|
### Cloning the Repository
|
2014-12-09 07:15:53 +08:00
|
|
|
|
2016-08-04 06:25:50 +08:00
|
|
|
Clone the repository (https://github.com/qTox/qTox.git) with your preferred Git
|
2016-04-10 05:47:39 +08:00
|
|
|
client. [SmartGit](http://www.syntevo.com/smartgit/) is very nice for this task
|
2016-04-10 06:26:26 +08:00
|
|
|
(you may need to add the path to the `git.exe` system variable Path). The
|
|
|
|
following steps assume that you cloned the repository at `C:\qTox`. If you
|
2016-04-10 05:47:39 +08:00
|
|
|
decided to choose another location, replace corresponding parts.
|
2014-12-09 07:15:53 +08:00
|
|
|
|
2015-01-05 19:25:32 +08:00
|
|
|
### Getting dependencies
|
2016-04-10 06:26:26 +08:00
|
|
|
Run `bootstrap.bat` in cloned `C:\qTox` directory. Script will download rest of
|
2016-04-10 05:47:39 +08:00
|
|
|
dependencies compile them and put to appropriate directories.
|
2016-06-18 20:37:18 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
2016-12-03 01:35:14 +08:00
|
|
|
[Atk]: https://wiki.gnome.org/Accessibility
|
|
|
|
[Cairo]: https://www.cairographics.org/
|
|
|
|
[DBus Menu]: https://launchpad.net/libdbusmenu
|
|
|
|
[GdkPixbuf]: https://developer.gnome.org/gdk-pixbuf/
|
|
|
|
[GLib]: https://wiki.gnome.org/Projects/GLib
|
|
|
|
[GTK+]: https://www.gtk.org/
|
|
|
|
[libappindicator]: https://launchpad.net/libappindicator
|
2016-06-18 20:37:18 +08:00
|
|
|
[OBS]: https://software.opensuse.org/download.html?project=home%3Aantonbatenev%3Atox&package=qtox
|
2016-12-03 01:35:14 +08:00
|
|
|
[Pango]: http://www.pango.org/
|
2016-06-18 20:37:18 +08:00
|
|
|
[Ubuntu PPA]: https://launchpad.net/~abbat/+archive/ubuntu/tox
|