Skip to content

Installation

Oleksiy Kozlov edited this page Jan 5, 2024 · 13 revisions

Installation instructions

Static binaries

For most desktop Unix/Linux and macOS systems, the easiest way to install RAxML-NG is by using the pre-compiled binaries provided with every release:

https://github.com/amkozlov/raxml-ng/releases

Bioconda

RAxML-NG is also available as bioconda package, to install it just run:

 conda install -c bioconda raxml-ng 

MPI-enabled version

For clusters/supercomputers, we provide an installation package with pre-built libpll, which greatly simplifies the compilation process.

In order to compile RAxML-NG for your system:

  1. Please make sure you have GCC 6.4+, CMake 3.0+ and MPI libraries installed. On a cluster and/or in RedHat-like distros (CentOS, Rocky, AlmaLinux etc.), you might need to load the respective modules, eg.: module load mpi/openmpi-x86_64

  2. Download the raxml-ng_vX.X.X_linux_x86_64_MPI.zip package from the release page.

  3. Unzip the archive and run the following commands:

 mkdir build && cd build
 cmake ..
 make

Building from source

1. Install the dependencies.

On Ubuntu and other Debian-based systems, you can simply run:

sudo apt-get install flex bison libgmp3-dev

For other systems, please make sure you have following packages/libraries installed:
GNU Bison Flex (optional : GMP)

2. Build RAxML-NG.

PTHREADS version:

git clone --recursive https://github.com/amkozlov/raxml-ng
cd raxml-ng
mkdir build && cd build
cmake ..
make

MPI version:

git clone --recursive https://github.com/amkozlov/raxml-ng
cd raxml-ng
mkdir build && cd build
cmake -DUSE_MPI=ON ..
make

Portable PTHREADS version (static linkage, compatible with old non-AVX CPUs):

git clone --recursive https://github.com/amkozlov/raxml-ng
cd raxml-ng
mkdir build && cd build
cmake -DSTATIC_BUILD=ON -DENABLE_RAXML_SIMD=OFF -DENABLE_PLLMOD_SIMD=OFF ..
make

Building development branch

If you want to use the latest RAxML-NG features which are not yet available in the released version and/or master branch, you can compile the dev branch as follows:

git clone --recursive -b dev https://github.com/amkozlov/raxml-ng raxml-ng-dev
cd raxml-ng-dev
mkdir build && cd build
cmake ..
make 

Please see previous section for information on dependencies, build options etc.

Building adaptive branch

You can build experimental adaptive branch as follows:

git clone --recursive -b adaptive https://github.com/amkozlov/raxml-ng/ raxml-ng-adaptive
cd raxml-ng-adaptive
mkdir build && cd build
cmake ..
make

Troubleshooting

Problem #1: CMake fails to find the correct GCC version.

Solution: Manually set CXX and CC environment variables, e.g.:

CXX=/cm/shared/apps/gcc/5.3.0/bin/gcc CC=/cm/shared/apps/gcc/5.3.0/bin/gcc cmake ..

Problem #2: Linker complains about unrecognized relocation:

/cm/shared/apps/binutils/2.25/bin/ld: <..>/raxml-ng-0.6/localdeps/lib/libpllmodalgorithm_static.a(pllmod_algorithm.c.o): unrecognized relocation (0x2a) in section `.text'

or

/usr/bin/ld: BFD version 2.20.51.0.2-5.47.el6_9.1 20100205 internal error, aborting at reloc.c line 443 in bfd_get_reloc_size

Solution: Make sure you have a recent version of binutils installed/configured (2.26 or later, use ld -v to check). In cluster environment, this can usually be achieved by loading a corresponding module, e.g.:

module load binutils