Compilation and Portability

Currently the core of radare2 can be compiled on many systems and architectures, but the main development is done on GNU/Linux with GCC, and on MacOS X with clang. Radare is also known to compile on many different systems and architectures (including TCC and SunStudio).

People often want to use radare as a debugger for reverse engineering. Currently, the debugger layer can be used on Windows, GNU/Linux (Intel x86 and x86_64, MIPS, and ARM), OS X, FreeBSD, NetBSD, and OpenBSD (Intel x86 and x86_64)..

Compared to core, the debugger feature is more restrictive portability-wise. If the debugger has not been ported to your favorite platform, you can disable the debugger layer with the —without-debugger configure script option when compiling radare2.

Note that there are I/O plugins that use GDB, WinDbg, or Wine as back-ends, and therefore rely on presence of corresponding third-party tools (in case of remote debugging - just on the target machine).

To build on a system using acr and GNU Make (e.g. on *BSD systems):

  1. $ ./configure --prefix=/usr
  2. $ gmake
  3. $ sudo gmake install

There is also a simple script to do this automatically:

  1. $ sys/install.sh

Static Build

You can build radare2 statically along with all other tools with the command:

  1. $ sys/static.sh

Meson build

You can use meson + ninja to build:

  1. $ sys/meson.py --prefix=/usr --shared --install

If you want to build locally:

  1. $ sys/meson.py --prefix=/home/$USER/r2meson --local --shared --install

Docker

Radare2 repository ships a Dockerfile that you can use with Docker.

This dockerfile is also used by Remnux distribution from SANS, and is available on the docker registryhub.

Cleaning Up Old Radare2 Installations

  1. ./configure --prefix=/old/r2/prefix/installation
  2. make purge