git clone https://github.com/FutureSDR/FutureSDR.git
sudo apt install -y libsoapysdr-dev soapysdr-module-all soapysdr-tools
These instructions assume that you use Homebrew as package manager.
brew install soapysdr
Apple Silicon: While rust works very well with aarch64-apple-darwin
(Apple Silicon, i.e., M1, M1 Pro, M1 Max, etc.),
the rust compiler is not yet (as of May 2022) fully guaranteed to work, and cargo will by default compile to
x86_64-apple-darwin
and rely on Rosetta 2. However, if you have a x86_64-apple-darwin
machine, the packages installed
using Homebrew will by default be compiled for aarch64-apple-darwin
, and therefore you need to compile FutureSDR for
aarch64-apple-darwin
as well. This can be done by specifying the --target aarch64-apple-darwin
flag to cargo,
e.g., cargo run --target aarch64-apple-darwin
.
Visual Studio does not add its binaries and libraries to the PATH. Instead, it offers various pre-configured terminals that have a given toolchain available. Use the native toolchain for your system to build FutureSDR, e.g., x64 Native Tools Command Prompt for VS 2022.
For SoapySDR-based hardware drivers:
PATH
. Please do this.volk_profile
on the command line.PothosSDR comes with many SoapySDR modules. Some of them require further software and services, which can cause issues when scanning for available devices.
If you run into this issue, either (1) use a filter to specify the driver manually or (2) move the problematic library to a backup folder outside the search path.
The libraries are, by default, at C:\Program Files\PothosSDR\lib\SoapySDR\modules0.8
.
If, for example, SDRplay or UHD causes issues, move sdrPlaySupport.dll
or uhdSupport.dll
to a backup folder.
To build the frontend:
rustup target add wasm32-unknown-unknown
.cargo install wasm-pack
.cd frontend && npm install && make
.