Hi!
I am running Ubuntu 18.04 with Gnuradio 3.8.1.0 and the latest version of gr-limesdr (compiled from the GR 3.8 branch).
When i run the FM_receiver example, or any other flowchart containing the limesdr module, i get this error:
<<< Welcome to GNU Radio Companion 3.8.1.0 >>>
Block paths:
/usr/share/gnuradio/grc/blocks
/usr/local/share/gnuradio/grc/blocks
Loading: "/home/pc/gr-limesdr/examples/FM_receiver.grc"
>>> Done
Generating: '/home/pc/gr-limesdr/examples/top_block.py'
Executing: /usr/bin/python3 -u /home/pc/gr-limesdr/examples/top_block.py
Traceback (most recent call last):
File "/home/pc/gr-limesdr/examples/top_block.py", line 40, in <module>
import limesdr
ModuleNotFoundError: No module named 'limesdr'
>>> Done (return code 1)
I’ve tried setting the $PYTHONPATH variable to the right directory but no difference.
I really don’t want to go back to GR 3.7, any idea?
I generally install everything from source and have had no problems at all. And I’ve always had problems when I tried to use packages and source. But @vvvelichkov’s post taught me that historically my issues was caused by not updating PYTHONPATH, something that I did not think about. Usually I just need to add something to my PATH and/or LD_LIBRARY_PATH to get things to work if something is not found.
It’s quite common problem with gnuradio 3.8 as the directory where the OOT modules gets installed when installed from source is not in the default python module search path (sys.path)
I also have problem with gr-limesdr module for gnuradio 3.8.2
I also build the module from source. Gnuradio find the module but it does not see the limesdr mini connected. The limesdr-mini is seen from LimeSuitGUI and from LimeUtil --find
The error i have launching a simple flowgraph (LimeRX source and frequency sync) is
Blockquote
File “/home/fabio/Documenti/limeSDR.py”, line 117, in init
self.limesdr_source_0 = limesdr.source(‘1D3ACA41C50D05’, 0, ‘’)
AttributeError: module ‘limesdr’ has no attribute ‘source’
Have you updated gnuradio or limesuite recently (after building and installing gr-limesdr)?
Most probably there are undefined symbols in _limesdr_swig.so so try rebuilding and reinstalling gr-limesdr again. If it still does not work provide the full output of
My Linux distribution is Manjaro (based on Arch linux) and i installed GnuRadio and LimeSuite via paceman manager. The gr-limesdr module was missing in paceman so i copied the git repository, checked out the gr-3.8 branch, compile and installed.
I’m not familiar with Arch/Manjaro but it looks that /usr/local/lib is not in the default library search paths on these distributions. First check that libgnuradio-limesdr.so.3.1.2 is actually installed there and add it to the search path.
sudo su -
echo '/usr/local/lib' > /etc/ld.so.conf.d/usrlocal.conf
ldconfig
Hi, tnx for you help. I solved the problem. First i found that the library is located here
/usr/local/lib/libgnuradio-limesdr.so.3.1.2
but all other system libraries are located in /usr/lib and this is the search path.
Since i do not want to alter default library search path because some other dependencies may probably rely on this path i simply added a symbolic link from /usr/lib to /usr/local/lib with the same library name.
So now the ldd -r listing found all dependencies and gr-limesdr module works.
Now we should understand why the configure, make, make install scripts does not recognised the right path to be used in the system. i did the compile with this command sequence from the source repos
git checkout gr-3.8
mkdir build
cd build
cmake …/
make
sudo make install
In my opinion the cmake configurator should detect the environment of the system and modify its installation path accordingly. May be something have to be checked in the CMakefile script.
Hope this will help others.
Tnx again for your valuable help !!!
The /usr/local hierarchy is for use by the system administrator when installing software locally. It needs to be safe from being overwritten when the system software is updated.
Locally installed software must be placed within /usr/local rather than /usr unless it is being installed to replace or upgrade software in /usr.
Software placed in / or /usr may be overwritten by system upgrades (though we recommend that distributions do not overwrite data in /etc under these circumstances). For this reason, local software must not be placed outside of /usr/local without good reason.