Skip to content
Josh Blum edited this page Sep 27, 2016 · 42 revisions

The main Pothos project really only requires CMake and a compiler. Additional components require additional dependencies. If those dependencies are not available, the component does not build.

  • CMake
  • C++11 compiler
  • python development files for python bindings
    • and numpy as a runtime requirement
  • jdk for java bindings
  • qt5 development files for pothos-gui
  • portaudio for audio support
  • graphviz for topology debug view
  • SoapySDR for SDR device support
http://i.imgur.com/rzuCBUr.png

Recommended apt-get install instructions for Ubuntu:

sudo apt-get install \
    libnuma-dev cmake g++ \
    libpython-dev python-numpy \
    qtbase5-dev libqt5svg5-dev libqt5opengl5-dev libqwt-qt5-dev \
    portaudio19-dev libjack-jackd2-dev \
    graphviz

Save some time: Even if you are building Pothos from source, you may still want to install some of the build dependencies from our PPA:

sudo add-apt-repository -y ppa:pothosware/support
sudo add-apt-repository -y ppa:pothosware/framework
sudo apt-get update
sudo apt-get install \
    libpoco-dev \
    libmuparserx-dev \
    libpothos-serialization-dev

#pre-packaged Soapy SDR development files
sudo add-apt-repository -y ppa:myriadrf/drivers
sudo apt-get update
sudo apt-get install libsoapysdr-dev

#spuce filter design library (also from myriadrf)
sudo apt-get install libspuce-dev
http://i.imgur.com/YAu30uL.png

Optional dependencies based on your needs:

http://i.imgur.com/gLxShgE.jpg

Step 1) Install Xcode Command Line Tools: https://railsapps.github.io/xcode-command-line-tools.html

Step 2) Install Pothos, various toolkits, and dependencies with a few simple commands using the Pothos Homebrew tap.


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

First time repository clone from git

#git clone with recursive submodule checkout
git clone --recursive https://github.com/pothosware/pothos.git

Update from an existing checkout

cd pothos

#update to latest master branch
git pull origin master

#update submodules to latest tracking branch
git submodule update --init --recursive --remote

http://i.imgur.com/n7WReFx.png
mkdir build
cd build
cmake ..
make -j4
sudo make install
sudo ldconfig #needed on debian systems
PothosUtil --self-tests
PothosGui
https://developer.valvesoftware.com/w/images/6/6a/Visual_studio_logo.png

After configuring with CMake open a Visual studio development terminal and run:

cmake --build my_build_dir --config Release
cmake --build my_build_dir --config Release --target install
  • add C:\Program Files\Pothos to the %PATH%
  • open cmd and run PothosUtil.exe --self-tests
  • open cmd and run PothosGui.exe

The Pothos library needs to know its installation path. The library is compiled with the CMAKE_INSTALL_PREFIX as the default search path for modules and library resources. However, if the library is installed to a different location other than the one it was configured with, the POTHOS_ROOT environment variable can be set to reflect the new installation path.

cmake .. -DCMAKE_BUILD_TYPE=Debug
cmake .. -DCMAKE_INSTALL_PREFIX=/opt/Pothos