Skip to content
Adam Sampson edited this page Jan 16, 2023 · 60 revisions

Supported operating system

ld-decode and the various included tools are designed for (and tested on) Ubuntu 22.04 LTS (20.04 LTS support also works for rev7, but is now deprecated). It is possible to compile and run ld-decode in other Linux environments however this is not supported nor tested by the project. For first-time users it is highly recommended that you install the recommended environment; if a bare-metal installation is not available, you can use tools such as virtualbox to install ld-decode in a virtual machine or container.

System requirements

ld-decode performs complex mathematics on huge datasets and therefore requires a fairly high-end PC for any serious use, with AVX2 support notably helpful. A Haswell (or newer) i9/i7 or Ryzen with 16Gb of RAM and 8 Tbytes of hard-drive is recommended, however the minimum requirements are a Sandy Bridge i5 with 8Gb RAM and 512Gb of hard-drive.

Pre-installation

Before attempting to install ld-decode ensure you have a sane (preferably fresh) Ubuntu installation that is up to date. Use the following commands to ensure you have the latest software packages:

sudo apt update; sudo apt upgrade

Installation

Ubuntu 22.04 LTS

To install ld-decode and the associated tools enter the following commands into a command terminal in the order shown (you will need root access to the machine via the sudo command to perform the installation):

sudo apt install python3-setuptools python3-numpy python3-scipy python3-matplotlib git qt5-qmake qtbase5-dev libqwt-qt5-dev libfftw3-dev python3-tk python3-numba libavformat-dev libavcodec-dev libavutil-dev ffmpeg openssl pv python3-distutils pkg-config cmake make

mkdir ~/github

cd ~/github

git clone https://github.com/happycube/ld-decode

cd ~/github/ld-decode

cmake .

make

sudo make install

The make stage will take the most time. You can speed this up considerably by giving a -j argument to parallelise the build (e.g. make -j8 to use 8 CPU cores).

Post-installation

For basic use instructions please see the basic usage instructions on this wiki. For more advanced topics please browse the wiki contents using the navigation pane on the right of this page.

Upgrading the existing installation

In order to upgrade your source tree to the latest code from the 'master' branch, issue the following commands:

cd ~/github/ld-decode

git pull

You can then compile and install using the same commands as above:

cmake .

make

sudo make install

There is usually no need to explicitly delete any existing files when upgrading - make will work out what needs to be rebuilt automatically. If you find that ld-decode does fail to compile after an upgrade, though, you should first try the command:

make clean

to remove the compiled files, then repeat the compilation commands above.

Development branches

The installation above will install the 'master' github branch. This reflects the latest version of the code that's being actively worked on with new features and bug fixes. While the development version of ld-decode usually works well for most purposes, you should be aware that it may contain new bugs as well - if you find problems with it, please let us know!

If you'd like a version of ld-decode that should definitely work - and especially if you're packaging ld-decode for a distribution - then you should use one of the numbered releases instead. We provide a new major release (with new features) about once a year, with occasional minor releases (with just bug fixes).

New features are often developed on separate development branches. If you wish to use a development branch (and you know what it is for and how to handle active software development), you can clone it with a command such as the following:

git clone --single-branch --branch great-fix-dev https://github.com/happycube/ld-decode

This example command will clone the great-fix-dev branch onto your local machine.

Clone this wiki locally