Installing HackRF Software

HackRF software includes HackRF Tools and libhackrf. HackRF Tools are the commandline utilities that let you interact with your HackRF. libhackrf is a low level library that enables software on your computer to operate with HackRF.

Install Using Package Managers

Unless developing or testing new features for HackRF, we highly recommend that most users use build systems or package managers provided for their operating system. Our suggested operating system for use with HackRF is Ubuntu.

FreeBSD

You can use the binary package: # pkg install hackrf

You can also build and install from ports:

# cd /usr/ports/comms/hackrf
# make install

Linux: Arch

pacman -S hackrf

Linux: Fedora / Red Hat

sudo dnf install hackrf -y

Linux: Gentoo

emerge -a net-wireless/hackrf-tools

Linux: Ubuntu / Debian

sudo apt-get install hackrf

OS X (10.5+): Homebrew

brew install hackrf

OS X (10.5+): MacPorts

sudo port install hackrf

Windows: Binaries

Binaries are provided as part of the PothosSDR project, they can be downloaded here.


Installing From Source

Linux / OS X / *BSD: Building HackRF Software From Source

Acquire the source for the HackRF tools from either a release archive or git: git clone https://github.com/mossmann/hackrf.git

Once you have the source downloaded, the host tools can be built as follows:

cd hackrf/host
mkdir build
cd build
cmake ..
make
sudo make install
sudo ldconfig

If you have HackRF hardware, you may need to update the firmware to match the host tools versions.

Windows: Prerequisites for Cygwin, MinGW, or Visual Studio

Note for Windows build: You shall always execute hackrf-tools from Windows command shell and not from Cygwin or MinGW shell because on Cygwin/MinGW Ctrl+C is not managed correctly and especially for hackrf_transfer the Ctrl+C (abort) will not stop correctly and will corrupt the file.

Windows: Installing HackRF Software via Cygwin

mkdir host/build
cd host/build
cmake ../ -G "Unix Makefiles" -DCMAKE_LEGACY_CYGWIN_WIN32=1 -DLIBUSB_INCLUDE_DIR=/usr/local/include/libusb-1.0/
make
make install

Windows: Installing HackRF Software via MinGW

mkdir host/build
cd host/build
cmake ../ -G "MSYS Makefiles" -DLIBUSB_INCLUDE_DIR=/usr/local/include/libusb-1.0/
make
make install

Windows: Installing HackRF Software via Visual Studio 2015 x64

Create library definition for MSVC to link to C:\fftw-3.3.5-dll64> lib /machine:x64 /def:libfftw3f-3.def

c:\hackrf\host\build> cmake ../ -G "Visual Studio 14 2015 Win64" \
-DLIBUSB_INCLUDE_DIR=c:\libusb-1.0.21\libusb \
-DLIBUSB_LIBRARIES=c:\libusb-1.0.21\MS64\dll\lib\libusb-1.0.lib \
-DTHREADS_PTHREADS_INCLUDE_DIR=c:\pthreads-w32-2-9-1-release\Pre-built.2\include \
-DTHREADS_PTHREADS_WIN32_LIBRARY=c:\pthreads-w32-2-9-1-release\Pre-built.2\lib\x64\pthreadVC2.lib \
-DFFTW_INCLUDES=C:\fftw-3.3.5-dll64 \
-DFFTW_LIBRARIES=C:\fftw-3.3.5-dll64\libfftw3f-3.lib

CMake will produce a solution file named HackRF.sln and a series of project files which can be built with msbuild as follows: c:\hackrf\host\build> msbuild HackRF.sln