💾 Archived View for radare.org › book › first_steps › compilation_portability.gmi captured on 2024-05-10 at 10:51:35. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2023-11-04)
-=-=-=-=-=-=-
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): ``` $ ./configure --prefix=/usr $ gmake $ sudo gmake install ``` There is also a simple script to do this automatically:
$ sys/install.sh
You can build radare2 statically along with all other tools with the command: ``` $ sys/static.sh ``` ### Meson build
You can use meson + ninja to build: ``` $ sys/meson.py --prefix=/usr --shared --install ``` If you want to build locally:
$ sys/meson.py --prefix=/home/$USER/r2meson --local --shared --install
Radare2 repository ships a Dockerfile[1] that you can use with Docker.
This dockerfile is also used by Remnux distribution from SANS, and is available on the docker registryhub[1].