Note that only CentOS6 and later is supported on current releases, and for ATS v7.0.0 and forward, you will need e.g. devtoolset-3 on CentOS6.

The following packages must be installed:

$ sudo yum install gcc gcc-c++ pkgconfig pcre-devel tcl-devel expat-devel openssl-devel

On CentOS6, you also need

$ sudo yum install perl-ExtUtils-MakeMaker

It's also recommended that the following packages are installed, but they are not required (and they come pre-installed on many systems):

$ sudo yum install libcap libcap-devel hwloc hwloc-devel ncurses-devel libcurl-devel

If the unwind library is available, install this to get support for the crash log feature:

$ sudo yum install libunwind libunwind-devel

For building out of source, you also need:

$ sudo yum install autoconf automake libtool

ATS v9.0

ATS v9.0.0 drops CentOS 6 support because of minimumĀ openssl version (v1.0.2). If you want, you can build OpenSSL (v1.0.2 or later) from source and use it for ATS 9.

ATS v8.0

For ATS v8.0.0 and later, a compiler with support for C++17 is required. You can install this using devtoolset-7 on both CentOS 6 and 7:

$ sudo yum install centos-release-scl
$ sudo yum-config-manager --enable rhel-server-rhscl-7-rpms
$ sudo yum install devtoolset-7
# Optionally, install ASAN
$ sudo yum install devtoolset-7-libasan-devel.x86_64

This installs a sufficiently modern compiler but it is not available by default. You will need to run the enable script that is part of the devtoolset. This will be

/opt/rh/devtoolset-6/enable

or

/opt/rh/devtoolset-7/enable

This needs to run in your shell, not in a subshell, which means running the command

source /opt/rh/devtoolset-7/enable

either by hand or in your .bash-rc. You can tell if this has been done correctly by running the command

which g++

Valid output should look like

/opt/rh/devtoolset-7/root/usr/bin/g++

If the path returned in not in the devtoolset directory structure you are not using the correct compiler.

Or, if you rather use LLVM 5.x, you can install that from EPEL with the following:

$ sudo yum install llvm5.0 llvm5.0-libs

Git

To use Git, you must install the appropriate packages:

 $ sudo yum install git

For more details how to use Git with our source, please see our GitHub page.

autoreconf

The first time you build trafficserver, you must run autoreconf to create the ./configure script:

$ autoreconf -i

configure and build

For more details, see the Building page.

 $ ./configure && make