-
Notifications
You must be signed in to change notification settings - Fork 48
BuildGuide
Build guide table of contents
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
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
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
- CMake - http://www.cmake.org/cmake/resources/software.html
- Visual studio 2013 or later
Optional dependencies based on your needs:
- Python (2.7 and up) - https://www.python.org/downloads/windows/
- Numpy (must match python version) - http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy
- JDK - http://www.oracle.com/technetwork/java/javase/downloads/index.html
- QT5 (must match MSVC version) - http://qt-project.org/downloads
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
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
mkdir build cd build cmake .. make -j4 sudo make install sudo ldconfig #needed on debian systems PothosUtil --self-tests PothosFlow #launches GUI designer
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
- Project overview
- Getting started
- FAQ
- Video screencasts
- Demo applications
- Features summary
- Versioned releases
- Miscellaneous links
- Help and support
- Pothos users' group
- Twitter @pothosware
- IRC chat #pothos
- Slack workspace
- Contract services
- Developer blog
- Contributing
- Donate
- Build guide
- GUI Tutorial
- SDR Tutorial
- Filter Tutorial
- Doxygen docs
- PothosUtil Guide
- Blocks coding guide
- Scheduler explained
- Remote control guide
- Extending serialization