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