2013-08-01 05:06:04 +08:00
#Install Instructions
- [Installation ](#installation )
- [Linux ](#linux )
- [OS X ](#osx )
- [Homebrew ](#homebrew )
- [Non-Homebrew ](#non-homebrew )
- [Windows ](#windows )
< a name = "installation" / >
2013-07-19 04:29:59 +08:00
##Installation
2013-08-01 05:06:04 +08:00
< a name = "linux" / >
2013-07-19 04:29:59 +08:00
###Linux:
2013-07-30 01:32:00 +08:00
Build dependencies:
```bash
2013-10-21 17:55:43 +08:00
sudo apt-get install build-essential libtool autotools-dev automake libconfig-dev ncurses-dev checkinstall check git libswscale-dev libsdl-dev libopenal-dev libopus-dev libvpx-dev yasm
2013-07-30 01:32:00 +08:00
```
2013-08-03 19:16:52 +08:00
2013-08-03 19:32:56 +08:00
On Fedora:
2013-08-03 19:16:52 +08:00
```bash
yum groupinstall "Development Tools"
2013-08-24 15:17:04 +08:00
yum install libtool autoconf automake libconfig-devel ncurses-devel check check-devel
2013-08-03 19:16:52 +08:00
```
2013-07-31 01:27:32 +08:00
Note that `libconfig-dev` should be >= 1.4.
2013-07-30 01:32:00 +08:00
2013-07-19 04:29:59 +08:00
You should get and install [libsodium ](https://github.com/jedisct1/libsodium ):
```bash
git clone git://github.com/jedisct1/libsodium.git
cd libsodium
git checkout tags/0.4.2
./autogen.sh
./configure & & make check
2013-07-30 21:40:16 +08:00
sudo checkinstall --install --pkgname libsodium --pkgversion 0.4.2 --nodoc
2013-07-19 04:29:59 +08:00
sudo ldconfig
2013-08-18 20:45:46 +08:00
cd ..
2013-07-19 04:29:59 +08:00
```
2013-10-21 17:55:43 +08:00
2013-08-03 19:36:01 +08:00
Or if checkinstall is not easily available for your distribution (e.g. Fedora),
2013-08-03 19:37:15 +08:00
this will install the libs to /usr/local/lib and the headers to /usr/local/include:
2013-08-03 19:36:01 +08:00
2013-08-03 19:16:52 +08:00
```bash
git clone git://github.com/jedisct1/libsodium.git
cd libsodium
git checkout tags/0.4.2
./autogen.sh
./configure
2013-08-03 19:19:39 +08:00
make check
2013-08-03 19:16:52 +08:00
sudo make install
2013-08-18 20:45:46 +08:00
cd ..
2013-08-03 19:16:52 +08:00
```
2013-10-30 01:10:44 +08:00
If your default prefix is /usr/local and you happen to get an error that says "error while loading shared libraries: libtoxcore.so.0: cannot open shared object file: No such file or directory", then you can try running ```sudo ldconfig```. If that doesn't fix it, run:
```
2013-11-20 01:48:12 +08:00
echo '/usr/local/lib/' | sudo tee -a /etc/ld.so.conf.d/locallib.conf
2013-10-30 01:10:44 +08:00
sudo ldconfig
```
2013-08-03 19:16:52 +08:00
2013-10-21 17:55:43 +08:00
You also need recent [FFmpeg ](http://git.videolan.org/?p=ffmpeg.git ) libraries:
```bash
git clone git://source.ffmpeg.org/ffmpeg.git
cd ffmpeg
git checkout n2.0.2
./configure --prefix=`pwd`/install --disable-programs
make & & make install
cd ..
```
2013-08-03 19:16:52 +08:00
2013-08-02 03:14:48 +08:00
Then clone this repo and generate makefile:
2013-07-19 04:29:59 +08:00
```bash
2013-08-02 03:14:48 +08:00
git clone git://github.com/irungentoo/ProjectTox-Core.git
cd ProjectTox-Core
2013-08-24 15:17:04 +08:00
autoreconf -i
2013-10-21 17:55:43 +08:00
./configure --with-dependency-search=`pwd`/../ffmpeg/install
2013-07-22 09:12:00 +08:00
make
2013-09-01 00:04:15 +08:00
sudo make install
2013-08-24 15:17:04 +08:00
```
Advance configure options:
- --prefix=/where/to/install
- --with-libsodium-headers=/path/to/libsodium/include/
- --with-libsodium-libs=/path/to/sodiumtest/lib/
2013-08-25 05:07:03 +08:00
- --enable-silent-rules less verbose build output (undo: "make V=1")
- --disable-silent-rules verbose build output (undo: "make V=0")
- --disable-tests build unit tests (default: auto)
- --disable-ntox build nTox client (default: auto)
- --disable-dht-bootstrap-daemon build DHT bootstrap daemon (default: auto)
- --enable-shared[=PKGS] build shared libraries [default=yes]
- --enable-static[=PKGS] build static libraries [default=yes]
2013-08-25 10:42:58 +08:00
< a name = "osx" / >
2013-08-01 05:06:04 +08:00
###OS X:
2013-07-22 01:15:05 +08:00
2013-08-03 01:42:30 +08:00
You need the latest XCode with the Developer Tools (Preferences -> Downloads -> Command Line Tools).
The following libraries are required along with libsodium and cmake for Mountain Lion and XCode 4.6.3 install libtool, automake and autoconf. You can download them with Homebrew, or install them manually.
2013-08-03 01:50:02 +08:00
There are no binaries/executables going to /bin/ or /usr/bin/ now. Everything is compiled and ran from the inside your local branch. See [Usage ](#usage ) below.
2013-08-01 05:06:04 +08:00
< a name = "homebrew" / >
2013-07-31 14:37:31 +08:00
####Homebrew:
```
2013-08-24 15:17:04 +08:00
brew install libtool automake autoconf libconfig libsodium check
```
Then clone this repo and generate makefile:
```bash
git clone git://github.com/irungentoo/ProjectTox-Core.git
cd ProjectTox-Core
autoreconf -i
./configure
2013-07-31 14:37:31 +08:00
make
2013-08-24 15:17:04 +08:00
make install
2013-07-31 14:37:31 +08:00
```
2014-01-17 04:07:06 +08:00
If execution fails with errors like "dyld: Library not loaded: /opt/tox-im/lib/libtoxcore.0.dylib", you may need to specify libsodium path:
Determine pathes:
```
brew list libsodium
```
Configure include and lib folder and build again:
```bash
./configure--with-libsodium-headers=/usr/local/Cellar/libsodium/0.4.5/include/ --with-libsodium-libs=/usr/local/Cellar/libsodium/0.4.5/lib/
make
make install
```
2013-08-24 15:17:04 +08:00
Advance configure options:
- --prefix=/where/to/install
- --with-libsodium-headers=/path/to/libsodium/include/
- --with-libsodium-libs=/path/to/sodiumtest/lib/
2013-08-25 05:07:03 +08:00
- --enable-silent-rules less verbose build output (undo: "make V=1")
- --disable-silent-rules verbose build output (undo: "make V=0")
- --disable-tests build unit tests (default: auto)
- --disable-ntox build nTox client (default: auto)
- --disable-dht-bootstrap-daemon build DHT bootstrap daemon (default: auto)
- --enable-shared[=PKGS] build shared libraries [default=yes]
- --enable-static[=PKGS] build static libraries [default=yes]
2013-08-25 10:42:58 +08:00
2013-08-01 05:06:04 +08:00
< a name = "non-homebrew" / >
2013-07-31 14:37:31 +08:00
####Non-homebrew:
2013-08-03 01:42:30 +08:00
Grab the following packages:
* http://www.gnu.org/software/libtool/
* http://www.gnu.org/software/autoconf/
* http://www.gnu.org/software/automake/
2013-08-03 01:50:02 +08:00
* https://github.com/jedisct1/libsodium
2013-08-04 05:46:52 +08:00
* http://www.hyperrealm.com/libconfig/
2013-08-08 08:01:36 +08:00
* http://check.sourceforge.net/
2013-08-03 01:42:30 +08:00
2013-08-03 01:50:02 +08:00
Uncompress and install them all. Make sure to follow the README as the instructions change, but they all follow the same pattern below:
2013-07-22 01:15:05 +08:00
2013-07-30 02:15:06 +08:00
```bash
2013-07-22 01:15:05 +08:00
./configure
make
sudo make install
2013-07-30 02:15:06 +08:00
```
2013-07-22 01:15:05 +08:00
2013-08-03 01:42:30 +08:00
In your local TOX repository:
2013-08-24 15:17:04 +08:00
Then generate the makefile:
2013-08-03 01:42:30 +08:00
```bash
2013-08-24 15:17:04 +08:00
cd ProjectTox-Core
autoreconf -i
./configure
2013-08-03 01:42:30 +08:00
make
2013-08-24 15:17:04 +08:00
make install
2013-07-30 02:15:06 +08:00
```
2013-08-24 15:17:04 +08:00
Advance configure options:
- --prefix=/where/to/install
- --with-libsodium-headers=/path/to/libsodium/include/
- --with-libsodium-libs=/path/to/sodiumtest/lib/
2013-08-25 05:07:03 +08:00
- --enable-silent-rules less verbose build output (undo: "make V=1")
- --disable-silent-rules verbose build output (undo: "make V=0")
- --disable-tests build unit tests (default: auto)
- --disable-ntox build nTox client (default: auto)
- --disable-dht-bootstrap-daemon build DHT bootstrap daemon (default: auto)
- --enable-shared[=PKGS] build shared libraries [default=yes]
- --enable-static[=PKGS] build static libraries [default=yes]
2013-07-22 01:15:05 +08:00
2013-07-30 05:34:19 +08:00
Do not install them from macports (or any dependencies for that matter) as they get shoved in the wrong directory
2013-08-04 05:46:52 +08:00
(or the wrong version gets installed) and make your life more annoying.
2013-07-22 01:15:05 +08:00
Another thing you may want to install is the latest gcc, this caused me a few problems as XCode from 4.3
no longer includes gcc and instead uses LLVM-GCC, a nice install guide can be found at
http://caiustheory.com/install-gcc-421-apple-build-56663-with-xcode-42
2013-08-01 05:06:04 +08:00
< a name = "windows" / >
2013-07-19 04:29:59 +08:00
###Windows:
You should install:
2013-09-03 18:23:40 +08:00
- [MinGW ](http://sourceforge.net/projects/mingw/ )
2013-07-27 08:39:16 +08:00
2013-09-03 18:23:40 +08:00
When installing MinGW, make sure to select the MSYS option in the installer.
MinGW will install an "MinGW shell" (you should get a shortcut for it), make sure to perform all opeartions (i.e. generating/running configure script, compiling, etc.) from the MinGW shell.
2013-07-19 04:29:59 +08:00
2013-09-03 18:23:40 +08:00
First download the source tarball from http://download.libsodium.org/libsodium/releases/ and build it.
Assuming that you got the libsodium-0.4.2.tar.gz release:
```cmd
tar -zxvf libsodium-0.4.2.tar.gz
cd libsodium-0.4.2
./configure
make
make install
cd ..
```
2013-07-19 04:29:59 +08:00
2013-09-03 18:23:40 +08:00
You can also use a precompiled win32 binary of libsodium, however you will have to place the files in places where they can be found, i.e. dll's go to /bin headers to /include and libraries to /lib directories in your MinGW shell.
Next, install ProjectTox-Core library, should either clone this repo by using git, or just download a [zip of current Master branch ](https://github.com/irungentoo/ProjectTox-Core/archive/master.zip ) and extract it somewhere.
Assuming that you now have the sources in the ProjectTox-Core directory:
2013-07-19 04:29:59 +08:00
```cmd
2013-08-24 15:17:04 +08:00
cd ProjectTox-Core
autoreconf -i
./configure
make
make install
```
Advance configure options:
- --prefix=/where/to/install
- --with-libsodium-headers=/path/to/libsodium/include/
- --with-libsodium-libs=/path/to/sodiumtest/lib/
2013-08-25 05:07:03 +08:00
- --enable-silent-rules less verbose build output (undo: "make V=1")
- --disable-silent-rules verbose build output (undo: "make V=0")
- --disable-tests build unit tests (default: auto)
- --disable-ntox build nTox client (default: auto)
- --disable-dht-bootstrap-daemon build DHT bootstrap daemon (default: auto)
- --enable-shared[=PKGS] build shared libraries [default=yes]
- --enable-static[=PKGS] build static libraries [default=yes]
< a name = "Clients" / >
####Clients:
While [Toxic ](https://github.com/tox/toxic ) is no longer in core, a list of Tox clients are located in our [wiki ](http://wiki.tox.im/client )