UbuntuInstall: Difference between revisions

From GNU Radio
Jump to navigation Jump to search
Tag: Reverted
(revise for Noble Numbat (24.04))
 
(7 intermediate revisions by 2 users not shown)
Line 13: Line 13:
The rest of this page describes dependencies for building GNU Radio from source code.
The rest of this page describes dependencies for building GNU Radio from source code.


==Update and Install dependencies==
== Install Dependencies ==
 
Before building UHD and GNU Radio, you need to make sure that all the dependencies are installed.


The following commands will install all the required dependencies. Before running them, you should [https://help.ubuntu.com/community/Repositories/Ubuntu ensure that the "Main" and "Universe" repositories are enabled in "Software Sources"].
The following commands will install all the required dependencies. Before running them, you should [https://help.ubuntu.com/community/Repositories/Ubuntu ensure that the "Main" and "Universe" repositories are enabled in "Software Sources"].


Next, on a terminal screen, run:
After installing dependencies you can continue with [[LinuxInstall#From_Source|installing GR from source]].
 
    sudo apt-get update
 
Once the system has been updated, then install the required dependencies below.


=== Focal Fossa (20.04) through Kinetic Kudu (22.10) ===
=== Focal Fossa (20.04) through Noble Numbat (24.04) ===


GNU Radio version 3.8.x with Python 3 support:
GNU Radio version 3.8.x with Python 3 support:
Line 35: Line 29:
liblog4cpp5-dev libzmq3-dev python3-yaml python3-click python3-click-plugins \
liblog4cpp5-dev libzmq3-dev python3-yaml python3-click python3-click-plugins \
python3-zmq python3-scipy python3-gi python3-gi-cairo gir1.2-gtk-3.0 \
python3-zmq python3-scipy python3-gi python3-gi-cairo gir1.2-gtk-3.0 \
libcodec2-dev libgsm1-dev
libcodec2-dev libgsm1-dev libusb-1.0-0 libusb-1.0-0-dev libudev-dev python3-setuptools
</pre>
</pre>


Line 42: Line 36:
<pre>
<pre>
sudo apt install pybind11-dev python3-matplotlib libsndfile1-dev \
sudo apt install pybind11-dev python3-matplotlib libsndfile1-dev \
python3-pip libsoapysdr-dev soapysdr-tools
libsoapysdr-dev soapysdr-tools python3-pygccxml python3-pyqtgraph
</pre>
 
GNU Radio version 3.10.x and the 'main' branch <b>in addition to above</b> require:
 
<pre>
sudo apt install libiio-dev libad9361-dev libspdlog-dev python3-packaging python3-jsonschema python3-qtpy
</pre>
 
<b>Note:</b> Since GNU Radio 3.9.x, swig has been replaced with pybind11 and can be removed:
<pre>
sudo apt remove swig
</pre>
 
=== Bionic Beaver (18.04) through Eoan Ermine (19.10) ===
 
GNU Radio version 3.8.x with Python 3 support:


pip install pygccxml
<pre>
pip install pyqtgraph
sudo apt install git cmake g++ libboost-all-dev libgmp-dev swig python3-numpy \
python3-mako python3-sphinx python3-lxml doxygen libfftw3-dev \
libsdl1.2-dev libgsl-dev libqwt-qt5-dev libqt5opengl5-dev python3-pyqt5 \
liblog4cpp5-dev libzmq3-dev python3-yaml python3-click python3-click-plugins \
python3-zmq python3-scipy
</pre>
</pre>


GNU Radio version 3.10.x and the 'main' branch <b>in addition to above</b> require:
GNU Radio version 3.7.x:
 
<pre>sudo apt install cmake git g++ libboost-all-dev python-dev python-mako \
python-numpy python-wxgtk3.0 python-sphinx python-cheetah swig libzmq3-dev \
libfftw3-dev libgsl-dev libcppunit-dev doxygen libcomedi-dev libqt4-opengl-dev \
python-qt4 libqwt-dev libsdl1.2-dev libusb-1.0-0-dev python-gtk2 python-lxml \
pkg-config python-sip-dev </pre>
 
<b>Note:</b> GNU Radio 3.9 and up will build from source on Ubuntu 18 only if pybind11 is installed from source as well.  Also, pybind11 packages are on the gnuradio-master PPA, so another option is to install pybind from the GR PPA then build gnuradio from source. GNU Radio 3.9 additionally requires:


<pre>
<pre>
sudo apt install libiio-dev libad9361-dev libspdlog-dev python3-packaging python3-jsonschema
sudo apt install python3-matplotlib libsndfile1-dev
</pre>
</pre>


If the installation of the dependencies completes without any errors, then you can proceed to build and install UHD and GNU Radio.
=== Older Ubuntu Distros ===
 
For older versions of Ubuntu see [[Old Ubuntu Deps]]
 
=== Ubuntu Derivative Distros ===
 
* Mint 19.2 is based on Ubuntu 18.04.  Mint 19.2 Cinnamon desktop installs gnome-terminal which may have to be uninstalled for non-gui flowgraphs to run properly.  Mint 19.2 Mate does not install gnome-terminal by default.

Latest revision as of 12:20, 2 May 2024

There's generally no need to build GNU Radio from source code unless you want to modify GNU Radio rather than just using it. The recommended way to install GNU Radio on most platforms is using already compiled binary packages. Binary installation should be sufficient for most users, and certainly for anyone who is new to GNU Radio. However, if you have special requirements, or a binary package is not available for your system, you may need to install GNU Radio from source.

In short: on all modern Ubuntu versions use:

sudo add-apt-repository ppa:gnuradio/gnuradio-releases
sudo apt-get update
sudo apt-get install gnuradio

See our PPA page for more details.

The rest of this page describes dependencies for building GNU Radio from source code.

Install Dependencies

The following commands will install all the required dependencies. Before running them, you should ensure that the "Main" and "Universe" repositories are enabled in "Software Sources".

After installing dependencies you can continue with installing GR from source.

Focal Fossa (20.04) through Noble Numbat (24.04)

GNU Radio version 3.8.x with Python 3 support:

sudo apt install git cmake g++ libboost-all-dev libgmp-dev swig python3-numpy \
python3-mako python3-sphinx python3-lxml doxygen libfftw3-dev \
libsdl1.2-dev libgsl-dev libqwt-qt5-dev libqt5opengl5-dev python3-pyqt5 \
liblog4cpp5-dev libzmq3-dev python3-yaml python3-click python3-click-plugins \
python3-zmq python3-scipy python3-gi python3-gi-cairo gir1.2-gtk-3.0 \
libcodec2-dev libgsm1-dev libusb-1.0-0 libusb-1.0-0-dev libudev-dev python3-setuptools

GNU Radio version 3.9.x in addition to above requires:

sudo apt install pybind11-dev python3-matplotlib libsndfile1-dev \
libsoapysdr-dev soapysdr-tools python3-pygccxml python3-pyqtgraph

GNU Radio version 3.10.x and the 'main' branch in addition to above require:

sudo apt install libiio-dev libad9361-dev libspdlog-dev python3-packaging python3-jsonschema python3-qtpy

Note: Since GNU Radio 3.9.x, swig has been replaced with pybind11 and can be removed:

sudo apt remove swig

Bionic Beaver (18.04) through Eoan Ermine (19.10)

GNU Radio version 3.8.x with Python 3 support:

sudo apt install git cmake g++ libboost-all-dev libgmp-dev swig python3-numpy \
python3-mako python3-sphinx python3-lxml doxygen libfftw3-dev \
libsdl1.2-dev libgsl-dev libqwt-qt5-dev libqt5opengl5-dev python3-pyqt5 \
liblog4cpp5-dev libzmq3-dev python3-yaml python3-click python3-click-plugins \
python3-zmq python3-scipy

GNU Radio version 3.7.x:

sudo apt install cmake git g++ libboost-all-dev python-dev python-mako \
python-numpy python-wxgtk3.0 python-sphinx python-cheetah swig libzmq3-dev \
libfftw3-dev libgsl-dev libcppunit-dev doxygen libcomedi-dev libqt4-opengl-dev \
python-qt4 libqwt-dev libsdl1.2-dev libusb-1.0-0-dev python-gtk2 python-lxml \
pkg-config python-sip-dev 

Note: GNU Radio 3.9 and up will build from source on Ubuntu 18 only if pybind11 is installed from source as well. Also, pybind11 packages are on the gnuradio-master PPA, so another option is to install pybind from the GR PPA then build gnuradio from source. GNU Radio 3.9 additionally requires:

sudo apt install python3-matplotlib libsndfile1-dev

Older Ubuntu Distros

For older versions of Ubuntu see Old Ubuntu Deps

Ubuntu Derivative Distros

  • Mint 19.2 is based on Ubuntu 18.04. Mint 19.2 Cinnamon desktop installs gnome-terminal which may have to be uninstalled for non-gui flowgraphs to run properly. Mint 19.2 Mate does not install gnome-terminal by default.