Good news - with Ryan's help a few days ago I was able to create a recipe and a 
conda package for the gr-sdrplay3 OOT module for Windows.

For those not familiar with it, the gr-sdrplay3 OOT module adds support for the 
SDRplay RSP devices as native GNU Radio sources, using directly the SDRplay 
APIs (i.e. without going through SoapySDR).
Up to now it was only available on Linux (and probably Mac), but with this 
conda package it is possible to run it on Windows (it requires the most current 
GNU Radio installation using conda - see here: 
https://wiki.gnuradio.org/index.php/CondaInstall).

For those interested in trying it out, this is the link to the conda package on 
my Google Drive: 
https://drive.google.com/file/d/1ZTUeYyOpms0rx7yU2Q5fOqElKIKgyJwK/view?usp=sharing
 (the conda recipe is in the package).

One important notice - conda's Python on Windows loads any dependent DLL from a 
limited set of folders (i.e. it does not use the %PATH% environment variable to 
search for dependent DLLs, as I think most of the other Windows applications 
do).
This means that the proprietary DLL for the SDRplay API 'sdrplay_api.dll' 
(which is typically installed under 'C:\Program Files\SDRplay\API\x64\') needs 
to be copied to one of these folders for things to work:

- %CONDA_PREFIX%\Lib\site-packages\gnuradio\sdrplay3
- %CONDA_PREFIX%
- %CONDA_PREFIX%\Library\mingw-w64\bin
- %CONDA_PREFIX%\Library\bin
- %CONDA_PREFIX%\Scripts
- C:\Windows\System32

Alternatively setting the environment variable 
CONDA_DLL_SEARCH_MODIFICATION_ENABLE to '1' makes conda Python look into all 
the folders listed in %PATH%, and it should work too.

If conda Python is not able to find the 'sdrplay_api.dll' file, it will throw 
an 'ImportError' exception for the line 'from gnuradio import sdrplay3'.

I am not sure of the best way to distribute this package after this initial 
'beta' version, since it is not straightforward to build it automatically on 
conda-forge because of its dependence on SDRplay proprietary DLL and include 
files.
I am open to ideas and suggestions on how to find a good long-term solution 
(also, if this is not the best forum to discuss this specific conda related 
topic, please let me know, and we can continue this conversation elsewhere).

Franco

Reply via email to