toxcore/INSTALL.md

5.4 KiB

#Install Instructions

##Installation ###Linux:

Build dependencies:

apt-get install build-essential libtool autotools-dev automake libconfig-dev ncurses-dev cmake checkinstall check

On Fedora:

yum groupinstall "Development Tools"
yum install libtool autoconf automake libconfig-devel ncurses-devel cmake check

Note that libconfig-dev should be >= 1.4.

You should get and install libsodium:

git clone git://github.com/jedisct1/libsodium.git
cd libsodium
git checkout tags/0.4.2
./autogen.sh
./configure && make check
sudo checkinstall --install --pkgname libsodium --pkgversion 0.4.2 --nodoc
sudo ldconfig

Or if checkinstall is not easily available for your distribution (e.g. Fedora), this will install the libs to /usr/local/lib and the headers to /usr/local/include:

git clone git://github.com/jedisct1/libsodium.git
cd libsodium
git checkout tags/0.4.2
./autogen.sh
./configure
make check
sudo make install

Then clone this repo and generate makefile:

git clone git://github.com/irungentoo/ProjectTox-Core.git
cd ProjectTox-Core
mkdir build && cd build
cmake ..

Advance cmake options:

  • -DSHARED_TOXCORE=ON (default OFF) — Build Core as a shared library.
  • -DUSE_NACL=ON (default OFF) — Use NaCl library instead of libsodium.

Note that you should call cmake on the root CMakeLists.txt file only.

Then you can build any of the /testing and /other that are currently supported on your platform by running:

make name_of_c_file

For example, to build Messenger_test.c you would run:

make Messenger_test

Or you could just build everything that is supported on your platform by running:

make
###OS X:

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.

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 below.

####Homebrew: ``` brew install libtool automake autoconf libconfig libsodium cmake check cmake . make ``` ####Non-homebrew:

Grab the following packages:

  • http://www.gnu.org/software/libtool/
  • http://www.gnu.org/software/autoconf/
  • http://www.gnu.org/software/automake/
  • http://www.cmake.org/
  • https://github.com/jedisct1/libsodium
  • http://www.hyperrealm.com/libconfig/
  • http://check.sourceforge.net/

Uncompress and install them all. Make sure to follow the README as the instructions change, but they all follow the same pattern below:

./configure
make
sudo make install

In your local TOX repository:

cmake .
make

Do not install them from macports (or any dependencies for that matter) as they get shoved in the wrong directory (or the wrong version gets installed) and make your life more annoying.

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

###Windows:

You should install:

You have to modify your PATH environment variable so that it contains MinGW's bin folder path. With default settings, the bin folder is located at C:\MinGW\bin, which means that you would have to append ;C:\MinGW\bin to the PATH variable.

Then you should either clone this repo by using git, or just download a zip of current Master branch and extract it somewhere.

After that you should get precompiled package of libsodium from here and extract the archive into this repo's root. That is, sodium folder should be along with core, testing and other folders.

Navigate in cmd to this repo and run:

mkdir build && cd build
cmake -G "MinGW Makefiles" ..

Advance cmake options:

  • -DSHARED_TOXCORE=ON (default OFF) — Build Core as a shared library.
  • -DSHARED_LIBSODIUM=ON (default OFF) — Link libsodium as a shared library.

Note that you should call cmake on the root CMakeLists.txt file only.

Then you can build any of the /testing and /other that are currently supported on your platform by running:

mingw32-make name_of_c_file

For example, to build Messenger_test.c you would run:

mingw32-make Messenger_test

Or you could just build everything that is supported on your platform by running:

mingw32-make