Build

Josh Blum edited this page Aug 27, 2013 · 8 revisions

GRAS is packaged along with a compatible version of GNU Radio, GREX, and several sub-projects needed as build dependencies. Checking out the source will automatically checkout, build, and install these sub-projects.

http://i.imgur.com/EqJctlk.png

Get the dependencies

GRAS itself only requires CMake, C++, and libboost. The vast majority of the dependencies are GNU Radio requirements. All GNU Radio dependencies can be found in your OS's package manager or through the download-able installers. See:

Outside of these dependencies, if you have a linux system, you may want to (optionally) install libnuma. When built with libnuma support, GRAS will gain API control for things like thread and processor node affinity. Also, to use the JIT factory, GRAS will need to be built with Clang and LLVM development files installed.

On a Debian style system, the following will install the extra dependencies:

sudo apt-get install libnuma-dev libclang-dev llvm-dev

Get the source code

git clone http://github.com/guruofquality/gras.git
cd gras
git submodule init
git submodule update

-- UPDATING FROM EXISTING CHECKOUT --

cd gras
git pull origin master
git submodule update

Build and Install instructions (unix makefiles)

mkdir <build-dir>
cd <build-dir>
cmake <gras-source-dir>
make
sudo make install
sudo ldconfig

Build and Install instructions (MSVC)