Skip to content
Josh Blum edited this page Jul 3, 2021 · 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
  • 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 \
    libspuce-dev \
    nlohmann-json-dev \ #nlohmann-json3-dev on 20.04 lts
    libmuparserx-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
https://upload.wikimedia.org/wikipedia/commons/thumb/archive/3/3f/20091127225232!Fedora_logo.svg/120px-Fedora_logo.svg.png

Some packages are optional based on required features:

sudo dnf -y install cmake g++ numactl-devel \
    python3 python3-numpy \
    qt5-qtbase-devel qt5-qtsvg-devel qwt-qt5-devel \
    portaudio-devel-19 jack-audio-connection-kit-devel graphviz
http://i.imgur.com/YAu30uL.png

Optional dependencies based on your needs:

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

Install with Homebrew

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.

Install with Macports

sudo port install Pothos

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/PothosCore.git

Update from an existing checkout

cd PothosCore

#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
PothosFlow #launches GUI designer
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 PothosFlow.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
Clone this wiki locally