This article is part of the Installation Guide. You can read it alone or click on the previous link to easily move between the steps.
Processor with SSE2 support
Boost ≥ 1.56
MySQL ≥ 5.1.0
OpenSSL = 1.0.x
CMake ≥ 3.2.0
GCC ≥ 6.3.0 or Clang ≥ 3.5 (heavy recommended, specially on master branch)
zlib ≥ 1.2.7
Note:
While compiling you may get one error like: "c++: internal compiler error: Killed (program cc1plus)" the reasons of this can be:
Low ram/swap amount: increase ram/swap to a minimum of 2GB of ram and 2GB of swap or decrease the amount of make -j to 1 (more concurrent compile threads = more memory usage). (you can get this using VPS servers)
SELinux/grsecurity/Hardened kernel: Kernels that use ASLR as a security measure tend to mess up GCC's precompiled header implementation. Try using an unhardened kernel (without ASLR), or compiling using clang, or gcc without pch. (you can get this issue when using OVH hosting).
Hint
(Master only) If you plan to run compile and run TrinityCore on a Linux machine and the World of Warcraft client on a separate Windows PC, you will also need to compile it on the Window PC, so that you have a Windows "connection_patcher.exe" binary, which needs to be run on the machine where the client will run.
Debian based distributions (recommended)
Recommendation: Use apt-get with stable source list instead of install packages. We recommend the latest stable version of your distribution. Avoid LTS versions since we usually update requirements to the lastest stable Debian version. Mixing stable with experimental packages may break your linux OS.
Debian 9.x (you will need to use su to install the packages)
apt-get install git clang cmake make gcc g++ libmariadbclient-dev libssl1.0-dev libbz2-dev libreadline-dev libncurses-dev libboost-all-dev mysql-server p7zip update-alternatives --install /usr/bin/cc cc /usr/bin/clang 100 update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang 100
Ubuntu 16.04 (you will need to use sudo to install the packages).
apt-get install git clang cmake make gcc g++ libmysqlclient-dev libssl-dev libbz2-dev libreadline-dev libncurses-dev libboost-all-dev mysql-server p7zip update-alternatives --install /usr/bin/cc cc /usr/bin/clang 100 update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang 100
Fedora based distributions
Tested on Fedora Server 25 and 26 (Fedora Workstation 25 and 26 should also work).
dnf install git clang cmake make gcc gcc-c++ mariadb-devel openssl-devel bzip2-devel readline-devel ncurses-devel boost-devel mariadb-server p7zip
Fedora 26 ships with OpenSSL 1.1.x which can't be used for building TrinityCore. Luckilly, OpenSSL 1.0.x branch is shipped in the package named 'compat-openssl10-devel'. To install it, issue command 'dnf install --allowerasing compat-openssl10-devel'. Note that this will remove already installed openssl-devel package.
If you still have any problem, check:Help
This article is part of the Installation Guide. You can read it alone or click on the previous link to easily move between the steps.