Requirements
Keywords: clamdoc

##
Requirements

The following components are required to compile ClamAV under UNIX: 2

- zlib and zlib-devel packages
- openssl version 0.9.8 or higher and libssl-devel packages
- gcc compiler suite (tested with 2.9x, 3.x and 4.x series)
  If you are compiling with higher optimization levels than the default one (-O2 for gcc), be aware that there have been reports of misoptimizations. The build system of ClamAV only checks for bugs affecting the default settings, it is your responsibility to check that your compiler version doesn't have any bugs.
- GNU make (gmake)

The following packages are optional but highly recommended:

- bzip2 and bzip2-devel library
- libxml2 and libxml2-dev library
- `check` unit testing framework 3.

The following packages are optional, but required for bytecode JIT support: 4

- GCC C and C++ compilers (minimum 4.1.3, recommended 4.3.4 or newer)
  the package for these compilers are usually called: gcc, g++, or gcc-c++. 5
- OSX Xcode versions prior to 5.0 use a g++ compiler frontend (llvm-gcc) that is not compatible with ClamAV JIT. It is recommended to either compile ClamAV JIT with clang++ or to compile ClamAV without JIT.
- A supported CPU for the JIT, either of: X86, X86-64, PowerPC, PowerPC64

The following packages are optional, but needed for the JIT unit tests:

- GNU Make (version 3.79, recommended 3.81)
- Python (version 2.5.4 or newer), for running the JIT unit tests

The following packages are optional, but required for clamsubmit:

- libcurl-devel library
- libjson-c-dev library