from: https://files.ettus.com/manual/page_build_guide.html#autotoc_md85 ***Setting up the dependencies on Ubuntu *** $ sudo apt-get install autoconf automake build-essential ccache cmake cpufrequtils doxygen ethtool \ g++ git inetutils-tools libboost-all-dev libncurses5 libncurses5-dev libusb-1.0-0 libusb-1.0-0-dev \ libusb-dev python3-dev python3-mako python3-numpy python3-requests python3-scipy python3-setuptools \ python3-ruamel.yaml *** Getting the source code *** The UHD source is stored in a git repository. To download it, follow these instructions: $ git clone https://github.com/EttusResearch/uhd.git Our source code repository contains of the following branches: master: This is the main development branch, with updated new features and bug fixes. UHD-*: These branches are created from master upon a release or release candidate. They are used to create releases within a stable release cycle, and usually only receive bugfixes. For example, all 3.14.* releases are taken from the same branch (UHD-3.14). These branches usually no longer receive updates once the following major release branch is created (for example, when the UHD-3.14 branch was created, the UHD-3.13 branch would only receive updates under special circumstances). UHD-*.LTS: These are long-term support branches. They serve the same purpose as the other UHD-* branches, but generally receive bugfixes for much longer. We might also be publishing experimental feature branches which can then be found in the same repository. All of our versioned releases are associated with tags in the repository.