Building the GR Runtime

Prerequisites

The GR distribution contains a script (build_deps) which may help you to prepare your system for the installation of the GR framework:

% lib/build-deps

      OS name: Linux
 Distribution: Red Hat
  Description: Fedora 20 (Heisenbug)
      Release: 20
       Kernel: 3.19.8-100.fc20.x86_64
 Architecture: x86_64

The following pre-installation steps are required for a GR framework
software installation:

yum install gcc gcc-c++ gcc-gfortran PyQt4-devel ghostscript-devel \
texlive-collection-latex texlive-dvipng cmake patch

The following table shows which packages are required to support the different features:

  • Debian / Rasbian

  • Ubuntu

  • Fedora

  • RedHat

required:

  • make

  • gcc

  • g++

Development Tools

  • libx11-dev

  • libxft-dev

  • libxt-dev

Basic X Window System

Python support

  • python2.7-dev

  • python-numpy

  • python-devel

  • numpy

recommended:

LaTeX support

  • texlive-latex3

  • dvipng

  • texlive

  • dvipng

OpenGL

  • python-opengl

  • libgl1-mesa-dev

PyOpenGL

Qt embedding

  • qt4-dev-tools

  • pyqt4-dev-tools

  • qt4-devel

  • PyQt4

optional:

Image output

libgs-dev

ghostscript-devel

MOV export

ffmpeg-2.x (source build)

wxWidgets

  • libgtk2.0-dev

  • libwxgtk2.8-dev

  • python-wxgtk2.8

  • wxBase.x86_64

  • wxGTK-devel.x86_64

  • wxPython

GLFW

libglfw3-dev

glfw-devel

ØMQ

libzmq3-dev

zeromq3-devel

for the demos:

Audio demos

python-pyaudio

pyaudio

Source install from git

Clone the main source using:

git clone https://github.com/jheinen/gr

Installation into single directory using Makefile:

cd gr
make
make install
make clean
export PYTHONPATH=${PYTHONPATH}:/usr/local/gr/lib/python

This will install the GR framework into the directory /usr/local/gr. You can choose any other destination by specifying the GRDIR variable, e.g.:

make GRDIR=/opt/gr

To create a self-contained GR distribution you can use the self target:

make self

On slow systems, you can have a coffee now, as the system will download and build several static libraries.