boatbod / op25

Fork of osmocom OP25 by boatbod
311 stars 97 forks source link

Running OP25 using GNU Radio 3.8 on systems with GNU Radio 3.9 installed by default #134

Closed sdrjason closed 1 year ago

sdrjason commented 2 years ago

Until OP25 is ported to GNU Radio 3.9, it's possible to run GR 3.8 on systems where GR 3.9 is installed by default.

The first step is installing GR 3.8 in a virtual environment based on the instructions here

The only hiccups I ran into were specifying where to find the OP25 module (got a ModuleNotFound error, fixed with the my-paths.pth file), not installing all of the necessary GNU Radio modules at the same time as the initial install (trying to install them afterward resulted in conda upgrading GR 3.8.2 to GR 3.9), and getting audio to work (got a libasound_module_conf_pulse.so error, fixed by linking alsa-libs in the new environment).

Here's exactly what I did:

mamba create -n gr38
mamba activate gr38
echo "/home/jason/mambaforge/envs/gr38/lib/python3.9/dist-packages" /home/jason/mambaforge/envs/gr38/lib/python3.9/site-package/my-paths.pth
mamba install gnuradio=3.8.2 gnuradio-soapy limesuite rtl-sdr soapysdr-module-lms7 soapysdr-module-rtlsdr gnuradio-osmosdr
git clone https://github.com/boatbod/op25
cd op25
echo "/home/jason/mambaforge/envs/gr38/bin/python3" > op25/gr-op25_repeater/apps/op25_python
rm -rf build && mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/home/jason/mambaforge/envs/gr38 .. && make &&  make install
cd /home/jason/mambaforge/envs/gr38/lib
ln -s /usr/lib/x86_64-linux-gnu/alsa-lib/ alsa-lib

Hope this can help someone else run this great software.

boatbod commented 2 years ago

Thanks!

scresante commented 2 years ago

Another option is to run op25 in a docker container. I've implemented this and I have it working now.

https://github.com/scresante/op25-docker