# Latest (Aug 2017) LimeSDR and GnuRadio

**URL:** <https://discourse.myriadrf.org/t/latest-aug-2017-limesdr-and-gnuradio/1563>\
**Category:** LimeSDR\
**Created:** [4 August 2017 00:04 UTC](https://discourse.myriadrf.org/t/latest-aug-2017-limesdr-and-gnuradio/1563 "2017-08-04T00:04:43Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![ChuckM](https://avatars.discourse-cdn.com/v4/letter/c/5f9b8f/32.png) [@ChuckM](https://discourse.myriadrf.org/u/ChuckM)\
**Post date:** [4 August 2017 00:04 UTC](https://discourse.myriadrf.org/t/latest-aug-2017-limesdr-and-gnuradio/1563/1 "2017-08-04T00:04:43Z")

</div>

I thought I would start a separate thread here so that folks who were new to the platform would find it without getting lost.

If you want to use your fancy LimeSDR with gnuradio you can but to do that you need the latest sources rather than the ones that might be run by the package maintainers. I’ve just re-rerun these steps on a fresh Ubuntu install to verify they work as I expect them to.

First, this assumes you have **no** SDR packages installed (no Soapy, no LimeSuite, no UHD, no gnuradio. Nada zip)

Second it is important to realize that there are _two_ abstraction layers, one called **Osmosdr** and one called **Soapysdr**. At present there is a SoapySDR driver that works with OsmoSDR so the linkage is:

```auto
            LimeSuiteAPI -> Soapy -> Osmocom -> gnuradio

```

Start this process by installing the python installation tool `pip` and `python-apt`

`$ sudo apt install pip python-apt`

Then upgrade pip to the latest:

`$ sudo pip install --upgrade pip`

Then use `pip` to install the gnuradio package manager `pybombs`.

`$ sudo pip install pybombs`

Then use pybombs to install the current default recipes

`$ pybombs recipes add gr-recipes git+https:://github.com/gnuradio/gr-recipes.git`

At this point you can create a directory for your version of gnuradio with this:

```auto
$ mkdir prefix
$ pybombs prefix init -a default prefix/default/ -R gnuradio-default 

```

This will download, and build from source, all of the things you need for gnuradio. It may stop if it finds a problem it can’t overcome, for example on my system I had forgotten to remove the `uhd-host` package and that version was interfering with the one pybombs wanted to build. But if you have to restart just type

`$ pybombs install gnuradio`

And it will pick up where it left off. Once it is done and gnuradio is installed you need to add three more things to complete the puzzle

`$ pybombs install soapysdr limesuite gr-osmosdr`

Now you should be good to go but before you run things you should try some things.

First, there will be a directory called `~/prefix/default` in your home directory at this point with gnuradio in it and a bunch of libraries and some python code. There is also a bit of bash shell script called `setup_env.sh`. Before you start you should use the command:

`$ source ~/prefix/default/setup-env.sh`

This will set the environment variables **LD\_LIBRARY\_PATH** , **PATH** , and **PYTHON\_PATH** so that you will get the version of the commands that were built together.

You can confirm this with the command `which LimeUtil` which should return the directory `prefix/default/bin` off of your home directory. And `LimeUtil --info` should show your LimeSDR connected, and `SoapyUtil --find` should find your LimeSDR as well.

If all that works then you can start up `gnuradio-companion` or run your gnuradio python code and it should find all of the libraries it needs to run. You won’t need any special PPAs or extra packages installed usually, `pybombs` should do all the work for you.

---

<div class="post-metadata">

**Author:** ![martywittrock](https://yyz2.discourse-cdn.com/flex034/user_avatar/discourse.myriadrf.org/martywittrock/32/66_2.png) [@martywittrock](https://discourse.myriadrf.org/u/martywittrock)\
**Post date:** [4 August 2017 13:19 UTC](https://discourse.myriadrf.org/t/latest-aug-2017-limesdr-and-gnuradio/1563/2 "2017-08-04T13:19:36Z")

</div>

@ChuckM

THIS is what we need more of on the forum, this kind of tutorials to make the Lime work with other apps. GREAT detail, too. Thanks for posting this…!

73 de Marty, KN0CK

---

<div class="post-metadata">

**Author:** ![Axeman](https://yyz2.discourse-cdn.com/flex034/user_avatar/discourse.myriadrf.org/axeman/32/728_2.png) [@Axeman](https://discourse.myriadrf.org/u/Axeman)\
**Post date:** [4 August 2017 15:49 UTC](https://discourse.myriadrf.org/t/latest-aug-2017-limesdr-and-gnuradio/1563/3 "2017-08-04T15:49:51Z")

</div>

For some reason ‘pip install pybombs’ did not create an executable ‘pybombs’.  
I have to use ‘python /usr/local/lib/python2.7/dist-packages/pybombs/main.py …’ as the executable. I could make an alias or a symlink.  
There seems to be a ‘setup.py’ that did not get run automatically. This may be a Debian thing.

---

<div class="post-metadata">

**Author:** ![ChuckM](https://avatars.discourse-cdn.com/v4/letter/c/5f9b8f/32.png) [@ChuckM](https://discourse.myriadrf.org/u/ChuckM)\
**Post date:** [4 August 2017 15:57 UTC](https://discourse.myriadrf.org/t/latest-aug-2017-limesdr-and-gnuradio/1563/4 "2017-08-04T15:57:13Z")

</div>

Hi @Axeman,

Did you run the command `pip install pybombs` as root? (ie `sudo pip install pybombs`) ? It doesn’t create an “executable” in the sense of a binary, it is a python script. On my system that was installed in `/usr/local/bin/pybombs` it does presume you have `/usr/local/bin` in your path. Can you check to see if that is where it landed?

Another person I talked with had issues with it interfering with `Anaconda2` which they had used to install jupyter notebooks. I could not get it to work with Anaconda at all.

–Chuck

---

<div class="post-metadata">

**Author:** ![Axeman](https://yyz2.discourse-cdn.com/flex034/user_avatar/discourse.myriadrf.org/axeman/32/728_2.png) [@Axeman](https://discourse.myriadrf.org/u/Axeman)\
**Post date:** [4 August 2017 16:13 UTC](https://discourse.myriadrf.org/t/latest-aug-2017-limesdr-and-gnuradio/1563/5 "2017-08-04T16:13:50Z")

</div>

Yes, as root. It seems like all it did was install the files. I ran updatedb and locate pybombs and found the location of the main script. I read online about several ways to overcome this and I just used the most direct way.

---

<div class="post-metadata">

**Author:** ![opie](https://yyz2.discourse-cdn.com/flex034/user_avatar/discourse.myriadrf.org/opie/32/1146_2.png) [@opie](https://discourse.myriadrf.org/u/opie)\
**Post date:** [20 August 2017 16:57 UTC](https://discourse.myriadrf.org/t/latest-aug-2017-limesdr-and-gnuradio/1563/6 "2017-08-20T16:57:20Z")

</div>

Great tutorial. I wish there were more like this…trying to piece together all the steps is excruciating.

One nit and one problem:

nit: slight typo in $ pybombs prefix init -a default prefix/default/ -R \*\*gunradio-\*\*default

s/b “gnuradio” but I think no one will really be confused by this.

Now, the problem I’m having.  
SoapyUtil --find

returns: SoapyUtil: command not found

The install completed successfully, but seems the executable didn’t make it where it was supposed to go. Any tips?

---

<div class="post-metadata">

**Author:** ![M0GLO](https://yyz2.discourse-cdn.com/flex034/user_avatar/discourse.myriadrf.org/m0glo/32/999_2.png) [@M0GLO](https://discourse.myriadrf.org/u/M0GLO)\
**Post date:** [20 August 2017 18:47 UTC](https://discourse.myriadrf.org/t/latest-aug-2017-limesdr-and-gnuradio/1563/7 "2017-08-20T18:47:04Z")

</div>

Anyone got anything similar for CentOS or Fedora?  
I hate using Ubuntu.

---

<div class="post-metadata">

**Author:** ![gerryk](https://yyz2.discourse-cdn.com/flex034/user_avatar/discourse.myriadrf.org/gerryk/32/138_2.png) [@gerryk](https://discourse.myriadrf.org/u/gerryk)\
**Post date:** [20 August 2017 20:00 UTC](https://discourse.myriadrf.org/t/latest-aug-2017-limesdr-and-gnuradio/1563/8 "2017-08-20T20:00:02Z")

</div>

This just uses Python tools, so shouldn’t be distro-specific. Give it a try and let us know how it goes.

---

<div class="post-metadata">

**Author:** ![M0GLO](https://yyz2.discourse-cdn.com/flex034/user_avatar/discourse.myriadrf.org/m0glo/32/999_2.png) [@M0GLO](https://discourse.myriadrf.org/u/M0GLO)\
**Post date:** [21 August 2017 10:28 UTC](https://discourse.myriadrf.org/t/latest-aug-2017-limesdr-and-gnuradio/1563/9 "2017-08-21T10:28:00Z")

</div>

> [@ChuckM](#):
>
> $ pybombs install soapysdr limesuite gr-osmosdr

It went pretty well until the above part where it failed out on sqlite having no install method.

Sqlite is already on the system.

---

<div class="post-metadata">

**Author:** ![ChuckM](https://avatars.discourse-cdn.com/v4/letter/c/5f9b8f/32.png) [@ChuckM](https://discourse.myriadrf.org/u/ChuckM)\
**Post date:** [28 August 2017 20:14 UTC](https://discourse.myriadrf.org/t/latest-aug-2017-limesdr-and-gnuradio/1563/10 "2017-08-28T20:14:21Z")

</div>

Thanks @opie I fixed the typo. Once you’ve run it you need to source ‘setupenv.sh’ into your environment and it will add the prefix/default/bin directory to your path and the libraries to your LD\_LIBRARY path as well.

–Chuck

---

<div class="post-metadata">

**Author:** ![ChuckM](https://avatars.discourse-cdn.com/v4/letter/c/5f9b8f/32.png) [@ChuckM](https://discourse.myriadrf.org/u/ChuckM)\
**Post date:** [28 August 2017 20:15 UTC](https://discourse.myriadrf.org/t/latest-aug-2017-limesdr-and-gnuradio/1563/11 "2017-08-28T20:15:39Z")

</div>

Hi @M0GLO

For CentOS or Fedora you just need to install the rpm with Python and pip first. Then you can use pip to install Pybombs and go from there.

---

<div class="post-metadata">

**Author:** ![M0GLO](https://yyz2.discourse-cdn.com/flex034/user_avatar/discourse.myriadrf.org/m0glo/32/999_2.png) [@M0GLO](https://discourse.myriadrf.org/u/M0GLO)\
**Post date:** [28 August 2017 20:18 UTC](https://discourse.myriadrf.org/t/latest-aug-2017-limesdr-and-gnuradio/1563/12 "2017-08-28T20:18:40Z")

</div>

Got that far, it is just bombing out on the Sqlite thing where it is already installed.  
I take I have to uninstall Sqlite then and give it another go eh?

Been too busy with Ansible and building some Openstacks to get back at it again.  
I’ll give it another run as soon as I have my main work done so I can play again.

---

<div class="post-metadata">

**Author:** ![Psynosaur](https://yyz2.discourse-cdn.com/flex034/user_avatar/discourse.myriadrf.org/psynosaur/32/1014_2.png) [@Psynosaur](https://discourse.myriadrf.org/u/Psynosaur)\
**Post date:** [19 September 2017 17:16 UTC](https://discourse.myriadrf.org/t/latest-aug-2017-limesdr-and-gnuradio/1563/13 "2017-09-19T17:16:31Z")

</div>

Thanks, it got my limesdr working on GNU Radio using the prefix directory 🙂

---

<div class="post-metadata">

**Author:** ![mr0w1](https://avatars.discourse-cdn.com/v4/letter/m/3ec8ea/32.png) [@mr0w1](https://discourse.myriadrf.org/u/mr0w1)\
**Post date:** [25 September 2017 06:25 UTC](https://discourse.myriadrf.org/t/latest-aug-2017-limesdr-and-gnuradio/1563/14 "2017-09-25T06:25:12Z")

</div>

First off, thanks for taking the time to do this.

Second, I’m having a similar issue as M0GLO – when I type:

$ pybombs install soapysdr limesuite gr-osmosdr

I get the following:

> jason@jason-N56VM:~$ pybombs install soapysdr limesuite gr-osmosdr  
> PyBOMBS - INFO - PyBOMBS Version 2.3.2  
> PyBOMBS.install\_manager - INFO - Phase 1: Creating install tree and installing binary packages:  
> PyBOMBS.install\_manager - ERROR - Package has no install method: soapysdr

If I try to install the programs separately I get the same for limesuite:

> jason@jason-N56VM:~$ pybombs install limesuite  
> PyBOMBS - INFO - PyBOMBS Version 2.3.2  
> PyBOMBS.install\_manager - INFO - Phase 1: Creating install tree and installing binary packages:  
> PyBOMBS.install\_manager - ERROR - Package has no install method: limesuite

And for gr-osmosdr, I get something completely different:

> jason@jason-N56VM:~$ pybombs install gr-osmosdr  
> PyBOMBS - INFO - PyBOMBS Version 2.3.2  
> PyBOMBS.install\_manager - INFO - Phase 1: Creating install tree and installing binary packages:  
> Traceback (most recent call last):  
> File “/usr/local/bin/pybombs”, line 11, in   
> load\_entry\_point(‘PyBOMBS==2.3.2’, ‘console\_scripts’, ‘pybombs’)()  
> File “/usr/local/lib/python2.7/dist-packages/pybombs/main.py”, line 32, in main  
> return dispatch() or 0  
> File “/usr/local/lib/python2.7/dist-packages/pybombs/commands/base.py”, line 194, in dispatch  
> return get\_cmd\_dict(cmd\_list)[args.command](cmd=args.command, args=args).run()  
> File “/usr/local/lib/python2.7/dist-packages/pybombs/commands/install.py”, line 122, in run  
> static=getattr(self.args, ‘static’, False),  
> File “/usr/local/lib/python2.7/dist-packages/pybombs/install\_manager.py”, line 112, in install  
> lambda pkg: \_cached\_check\_if\_pkg\_goes\_into\_tree(pkg, \_check\_if\_pkg\_goes\_into\_tree)  
> File “/usr/local/lib/python2.7/dist-packages/pybombs/dep\_manager.py”, line 53, in make\_dep\_tree  
> pkg\_set = set([pkg for pkg in pkg\_list if filter\_callback(pkg)])  
> File “/usr/local/lib/python2.7/dist-packages/pybombs/install\_manager.py”, line 112, in   
> lambda pkg: \_cached\_check\_if\_pkg\_goes\_into\_tree(pkg, \_check\_if\_pkg\_goes\_into\_tree)  
> File “/usr/local/lib/python2.7/dist-packages/pybombs/install\_manager.py”, line 97, in \_cached\_check\_if\_pkg\_goes\_into\_tree  
> ret\_val = check\_callback(pkg)  
> File “/usr/local/lib/python2.7/dist-packages/pybombs/install\_manager.py”, line 63, in \_check\_if\_pkg\_goes\_into\_tree  
> if not self.pm.exists(pkg):  
> File “/usr/local/lib/python2.7/dist-packages/pybombs/package\_manager.py”, line 134, in exists  
> pkg\_version = pkgr.exists(r)  
> AttributeError: ‘NoneType’ object has no attribute ‘exists’

I’m running a fresh install of Xubuntu 17.04 AMD64.

Thanks!

---

<div class="post-metadata">

**Author:** ![ChuckM](https://avatars.discourse-cdn.com/v4/letter/c/5f9b8f/32.png) [@ChuckM](https://discourse.myriadrf.org/u/ChuckM)\
**Post date:** [25 September 2017 18:34 UTC](https://discourse.myriadrf.org/t/latest-aug-2017-limesdr-and-gnuradio/1563/15 "2017-09-25T18:34:33Z")

</div>

This suggests that you have an out of date recipes file. The current repository is here: [https://github.com/gnuradio/gr-recipes](https://github.com/gnuradio/gr-recipes).

You can update to the latest recipes by doing:  
`pybombs recipes add gr-recipes git+https:://github.com/gnuradio/gr-recipes.git`

–Chuck

---

<div class="post-metadata">

**Author:** ![mr0w1](https://avatars.discourse-cdn.com/v4/letter/m/3ec8ea/32.png) [@mr0w1](https://discourse.myriadrf.org/u/mr0w1)\
**Post date:** [25 September 2017 23:38 UTC](https://discourse.myriadrf.org/t/latest-aug-2017-limesdr-and-gnuradio/1563/16 "2017-09-25T23:38:09Z")

</div>

When I enter that I get the following:

> jason@jason-N56VM:~$ sudo pybombs recipes add gr-recipes git+https:://github.com/gnuradio/gr-recipes.git  
> [sudo] password for jason:  
> PyBOMBS - INFO - PyBOMBS Version 2.3.2  
> Alias `gr-recipes’ already exists, overwrite Y/[N]? Y  
> PyBOMBS.recipes - WARNING - Cache dir /home/jason/.pybombs/recipes/gr-recipes for remote recipe location gr-recipes already exists! Deleting.  
> Cloning: (100%) [=========================================================]  
> PyBOMBS.recipes - ERROR - Could not fetch recipes: Process returned value: 128

If I try it with a single colon instead of two colons between “https” and “//github…”, it gives me this:

> jason@jason-N56VM:~$ sudo pybombs recipes add gr-recipes git+https://github.com/gnuradio/gr-recipes.git  
> PyBOMBS - INFO - PyBOMBS Version 2.3.2  
> PyBOMBS.RecipeListManager - ERROR - ‘/home/jason/.pybombs/recipes/gr-recipes’ is not a directory.  
> Alias `gr-recipes’ already exists, overwrite Y/[N]? Y  
> Cloning: (100%) [=========================================================]

And then still gives me the “no install method” error.

Again, thanks for the help!

Jason

---

<div class="post-metadata">

**Author:** ![ChuckM](https://avatars.discourse-cdn.com/v4/letter/c/5f9b8f/32.png) [@ChuckM](https://discourse.myriadrf.org/u/ChuckM)\
**Post date:** [25 September 2017 23:51 UTC](https://discourse.myriadrf.org/t/latest-aug-2017-limesdr-and-gnuradio/1563/17 "2017-09-25T23:51:03Z")

</div>

Odd, a couple of things though.

Once you have installed pybombs, you don’t need to run it as root (no sudo required) what pybombs is doing is installing a full set of binaries and libraries under the path `../prefix/default` so that you can run the code without forcing the system to change. This has the advantage that you can run two difference versions of gnuradio (for example) by making a different prefix like `prefix/gnuradio-newdev`. The file `setup-env.sh` that is created in the top level directory sets up paths (library and executable) to make this magic work. If your home directory is mounted via NFS you can have issues that root can’t write to it but I don’t think that is the case here.

The recipes are pretty simple for example this is the limesuite one:

```bash
#

category: baseline
depends:
- soapysdr
- libusb
- sqlite
description: Lime suite device drivers, GUI, and SDR support
gitbranch: master
inherit: cmake
# Let's always build this from source, not binaries
source: git+git://github.com/myriadrf/LimeSuite.git
vars:
  config_opt: " -DENABLE_GUI=OFF -DENABLE_SOAPY_LMS7=ON -DENABLE_STREAM=ON "

```

What is strange is that the recipes tell pybombs to build from source, but your transcript suggests that it is trying to install from binary packages. That is a deeper problem in pybombs getting confused about what it is supposed to do.

–Chuck

---

<div class="post-metadata">

**Author:** ![mr0w1](https://avatars.discourse-cdn.com/v4/letter/m/3ec8ea/32.png) [@mr0w1](https://discourse.myriadrf.org/u/mr0w1)\
**Post date:** [26 September 2017 00:08 UTC](https://discourse.myriadrf.org/t/latest-aug-2017-limesdr-and-gnuradio/1563/18 "2017-09-26T00:08:57Z")

</div>

This is the contents of my setup\_env.sh if it helps:

> # WARNING: This file is auto-generated by pybombs, any manual changes to it may be overwritten!
> 
> export PATH=“/home/jason/prefix/default/bin:$PATH”  
> export PYTHONPATH=“/home/jason/prefix/default/python:/home/jason/prefix/default/lib/python2.6/site-packages:/home/jason/prefix/default/lib64/python2.6/site-packages:/home/jason/prefix/default/lib/python2.6/dist-packages:/home/jason/prefix/default/lib64/python2.6/dist-packages:/home/jason/prefix/default/lib/python2.7/site-packages:/home/jason/prefix/default/lib64/python2.7/site-packages:/home/jason/prefix/default/lib/python2.7/dist-packages:/home/jason/prefix/default/lib64/python2.7/dist-packages:$PYTHONPATH”  
> export LD\_LIBRARY\_PATH=“/home/jason/prefix/default/lib:/home/jason/prefix/default/lib64/:$LD\_LIBRARY\_PATH”  
> export LIBRARY\_PATH=“/home/jason/prefix/default/lib:/home/jason/prefix/default/lib64/:$LIBRARY\_PATH”  
> export PKG\_CONFIG\_PATH=“/home/jason/prefix/default/lib/pkgconfig:/home/jason/prefix/default/lib64/pkgconfig:$PKG\_CONFIG\_PATH”  
> export PYBOMBS\_PREFIX=“/home/jason/prefix/default”
> 
> # If we’re in a Python virtualenv, activate that
> 
> if [-r /home/jason/prefix/default/bin/activate]; then  
> source /home/jason/prefix/default/bin/activate  
> fi

---

<div class="post-metadata">

**Author:** ![mr0w1](https://avatars.discourse-cdn.com/v4/letter/m/3ec8ea/32.png) [@mr0w1](https://discourse.myriadrf.org/u/mr0w1)\
**Post date:** [26 September 2017 06:51 UTC](https://discourse.myriadrf.org/t/latest-aug-2017-limesdr-and-gnuradio/1563/19 "2017-09-26T06:51:58Z")

</div>

Tried something I found while searching

> sudo pybombs -vv recipes add gr-recipes git+https://github.com/gnuradio/gr-recipes.git

I know you said I don’t need to sudo, but it would terminate with a permissions error when I didn’t.

This was the output:

> jason@jason-N56VM:~$ sudo pybombs -vv recipes add gr-recipes git+https://github.com/gnuradio/gr-recipes.git  
> PyBOMBS.ConfigManager - DEBUG - Reading config info from file: /etc/pybombs/config.yml  
> PyBOMBS.ConfigManager - DEBUG - New config items: {}  
> PyBOMBS.ConfigManager - DEBUG - Reading config info from file: /home/jason/.pybombs/config.yml  
> PyBOMBS.ConfigManager - DEBUG - New config items: {}  
> PyBOMBS.ConfigManager - DEBUG - Template directory: /usr/local/lib/python2.7/dist-packages/pybombs/templates  
> PyBOMBS.ConfigManager.PrefixInfo - DEBUG - Inspecting config file: /etc/pybombs/config.yml  
> PyBOMBS.ConfigManager.PrefixInfo - DEBUG - Inspecting config file: /home/jason/.pybombs/config.yml  
> PyBOMBS.ConfigManager.PrefixInfo - DEBUG - Cannot establish a prefix directory. This may cause issues down the line.  
> PyBOMBS.ConfigManager - DEBUG - Full list of recipe locations: [‘/home/jason/.pybombs/recipes/gr-recipes’, ‘/usr/local/lib/python2.7/dist-packages/pybombs/recipes’]  
> PyBOMBS.ConfigManager - DEBUG - Named recipe locations: {‘gr-recipes’: ‘git+https://github.com/gnuradio/gr-recipes.git’}  
> PyBOMBS - INFO - PyBOMBS Version 2.3.2  
> PyBOMBS.RecipeListManager - DEBUG - Adding recipe location: /home/jason/.pybombs/recipes/gr-recipes  
> PyBOMBS.RecipeListManager - ERROR - ‘/home/jason/.pybombs/recipes/gr-recipes’ is not a directory.  
> PyBOMBS.RecipeListManager - DEBUG - Adding recipe location: /usr/local/lib/python2.7/dist-packages/pybombs/recipes  
> PyBOMBS.RecipeListManager - DEBUG - Scanning directory ‘/usr/local/lib/python2.7/dist-packages/pybombs/recipes’ for recipes…  
> PyBOMBS.RecipeListManager - DEBUG - Found 11 new recipes.  
> PyBOMBS.RecipeListManager - DEBUG - Loading templates.  
> PyBOMBS.RecipeListManager - OBNOXIOUS - Adding template /usr/local/lib/python2.7/dist-packages/pybombs/templates/boostflags.lwt  
> PyBOMBS.RecipeListManager - OBNOXIOUS - Adding template /usr/local/lib/python2.7/dist-packages/pybombs/templates/empty.lwt  
> PyBOMBS.RecipeListManager - OBNOXIOUS - Adding template /usr/local/lib/python2.7/dist-packages/pybombs/templates/prefix.lwt  
> PyBOMBS.RecipeListManager - OBNOXIOUS - Adding template /usr/local/lib/python2.7/dist-packages/pybombs/templates/setuptools.lwt  
> PyBOMBS.RecipeListManager - OBNOXIOUS - Adding template /usr/local/lib/python2.7/dist-packages/pybombs/templates/sdk.lwt  
> PyBOMBS.RecipeListManager - OBNOXIOUS - Adding template /usr/local/lib/python2.7/dist-packages/pybombs/templates/distutils.lwt  
> PyBOMBS.RecipeListManager - OBNOXIOUS - Adding template /usr/local/lib/python2.7/dist-packages/pybombs/templates/bjam.lwt  
> PyBOMBS.RecipeListManager - OBNOXIOUS - Adding template /usr/local/lib/python2.7/dist-packages/pybombs/templates/cmake.lwt  
> PyBOMBS.RecipeListManager - OBNOXIOUS - Adding template /usr/local/lib/python2.7/dist-packages/pybombs/templates/autoconf.lwt  
> PyBOMBS.RecipeListManager - OBNOXIOUS - Adding template /usr/local/lib/python2.7/dist-packages/pybombs/templates/bootstrapautoconf.lwt  
> PyBOMBS.recipes - DEBUG - Initializing command class for command recipes  
> PyBOMBS.recipes - DEBUG - Preparing to add recipe location gr-recipes → git+https://github.com/gnuradio/gr-recipes.git  
> Alias `gr-recipes' already exists, overwrite Y/[N]? Y PyBOMBS.recipes - DEBUG - Storing new recipe location to /home/jason/.pybombs/config.yml PyBOMBS.recipes - DEBUG - Fetching into directory: /home/jason/.pybombs/recipes/gr-recipes PyBOMBS.Fetcher - DEBUG - Getting fetcher for https://github.com/gnuradio/gr-recipes.git, type git PyBOMBS.Fetcher - DEBUG - Using fetcher <pybombs.fetchers.git.Git object at 0x7f025fc814d0> PyBOMBS.Fetcher.git - DEBUG - Requiring packages on host system: ['git'] PyBOMBS.PackageManager - DEBUG - No prefix specified. Skipping source package manager. PyBOMBS.PackageManager - DEBUG - Attempting to add binary package manager pip PyBOMBS.PackageManager - DEBUG - pip is supported! PyBOMBS.PackageManager - DEBUG - Attempting to add binary package manager apt PyBOMBS.PackageManager - DEBUG - apt is supported! PyBOMBS.PackageManager - DEBUG - Attempting to add binary package manager yumdnf PyBOMBS.PackageManager - DEBUG - Attempting to add binary package manager port PyBOMBS.PackageManager - DEBUG - Attempting to add binary package manager brew PyBOMBS.PackageManager - DEBUG - Attempting to add binary package manager zypper PyBOMBS.PackageManager - DEBUG - Attempting to add binary package manager pacman PyBOMBS.PackageManager - DEBUG - Attempting to add binary package manager portage PyBOMBS.PackageManager - DEBUG - Attempting to add binary package manager pymod PyBOMBS.PackageManager - DEBUG - pymod is supported! PyBOMBS.PackageManager - DEBUG - Attempting to add binary package manager pkgconfig PyBOMBS.PackageManager - DEBUG - pkgconfig is supported! PyBOMBS.PackageManager - DEBUG - Attempting to add binary package manager cmd PyBOMBS.PackageManager - DEBUG - cmd is supported! PyBOMBS.PackageManager - DEBUG - Using binary packagers: ['pip', 'apt', 'pymod', 'pkgconfig', 'cmd'] PyBOMBS.install_manager - DEBUG - Phase 1: Creating install tree and installing binary packages: PyBOMBS.install_manager - OBNOXIOUS - Checking if package `git’ goes into tree…  
> PyBOMBS.PackageManager - DEBUG - Checking if package git is installable…  
> PyBOMBS.Recipe[git] - OBNOXIOUS - Loading recipe file: /usr/local/lib/python2.7/dist-packages/pybombs/recipes/git.lwr  
> PyBOMBS.Recipe[git] - OBNOXIOUS - Loading template file: /usr/local/lib/python2.7/dist-packages/pybombs/templates/autoconf.lwt  
> PyBOMBS.Recipe[git] - OBNOXIOUS - Inheriting from file /usr/local/lib/python2.7/dist-packages/pybombs/templates/autoconf.lwt  
> PyBOMBS.Recipe[git] - OBNOXIOUS - Loading template file: /usr/local/lib/python2.7/dist-packages/pybombs/templates/empty.lwt  
> PyBOMBS.Recipe[git] - OBNOXIOUS - Inheriting from file /usr/local/lib/python2.7/dist-packages/pybombs/templates/empty.lwt  
> PyBOMBS.Recipe[git] - OBNOXIOUS - Loaded recipe - git  
> PyBOMBS.get\_recipe - OBNOXIOUS - Woohoo, this one’s already cached (git)  
> PyBOMBS.get\_recipe - OBNOXIOUS - Woohoo, this one’s already cached (git)  
> PyBOMBS.Packager.pip - OBNOXIOUS - exists(git)  
> PyBOMBS.ReqScanner - OBNOXIOUS - Empty requirements string.  
> PyBOMBS.Packager.apt - OBNOXIOUS - exists(git)  
> PyBOMBS.ReqScanner - OBNOXIOUS - Adding package with name git-core  
> PyBOMBS.ReqScanner - OBNOXIOUS - Found package combiner ||  
> PyBOMBS.ReqScanner - OBNOXIOUS - Adding package with name git  
> PyBOMBS.ReqScanner - OBNOXIOUS - End of requirements list  
> PyBOMBS.ReqScanner - OBNOXIOUS - Done parsing requirements string `git-core || git`  
> PyBOMBS.Packager.apt - OBNOXIOUS - Calling ev for recursive satisfier rule evaluation  
> PyBOMBS.Packager.apt - OBNOXIOUS - Checking apt for `git-core' PyBOMBS.Packager.apt - DEBUG - Package git-core has version 2.11.0 in repositories PyBOMBS.PackageManager - DEBUG - Checking if package git is installed... PyBOMBS.get_recipe - OBNOXIOUS - Woohoo, this one's already cached (git) PyBOMBS.get_recipe - OBNOXIOUS - Woohoo, this one's already cached (git) PyBOMBS.get_recipe - OBNOXIOUS - Woohoo, this one's already cached (git) PyBOMBS.Packager.pip - OBNOXIOUS - Checking if recipe git is installed PyBOMBS.ReqScanner - OBNOXIOUS - Empty requirements string. PyBOMBS.Packager.apt - OBNOXIOUS - Checking if recipe git is installed PyBOMBS.ReqScanner - OBNOXIOUS - Adding package with name git-core PyBOMBS.ReqScanner - OBNOXIOUS - Found package combiner || PyBOMBS.ReqScanner - OBNOXIOUS - Adding package with name git PyBOMBS.ReqScanner - OBNOXIOUS - End of requirements list PyBOMBS.ReqScanner - OBNOXIOUS - Done parsing requirements string `git-core || git`PyBOMBS.Packager.apt - OBNOXIOUS - Calling ev for recursive satisfier rule evaluation PyBOMBS.Packager.apt - DEBUG - Package git-core has version 2.11.0 installed PyBOMBS.install_manager - OBNOXIOUS - Installed, but no update requested. Does not go into tree. PyBOMBS.install_manager - DEBUG - Phase 2: Recursively installing source packages to prefix: PyBOMBS.Fetcher.git - DEBUG - Requirements met. PyBOMBS.Fetcher.git - DEBUG - Using url - https://github.com/gnuradio/gr-recipes.git PyBOMBS._process_thread() - DEBUG - Executing command`git clone [GitHub - gnuradio/gr-recipes: Main GNU Radio recipe repository for use with PyBOMBS](https://github.com/gnuradio/gr-recipes.git) gr-recipes’  
> Cloning into ‘gr-recipes’…  
> remote: Counting objects: 1369, done.  
> remote: Total 1369 (delta 0), reused 0 (delta 0), pack-reused 1369  
> Receiving objects: 100% (1369/1369), 248.01 KiB | 0 bytes/s, done.  
> Resolving deltas: 100% (1163/1163), done.  
> PyBOMBS.monitor\_process() - DEBUG - Thread signaled termination or returned  
> PyBOMBS.monitor\_process() - DEBUG - Return value: 0  
> PyBOMBS.ConfigManager - OBNOXIOUS - Updating file /home/jason/.pybombs/config.yml with new data: {‘recipes’: {‘gr-recipes’: ‘git+https://github.com/gnuradio/gr-recipes.git’}}

Followed by more:

> jason@jason-N56VM:~$ pybombs install soapysdr  
> PyBOMBS - INFO - PyBOMBS Version 2.3.2  
> PyBOMBS.install\_manager - INFO - Phase 1: Creating install tree and installing binary packages:  
> PyBOMBS.install\_manager - ERROR - Package has no install method: soapysdr

That said, there’s a bunch of .lwr files in my home/jason/.pybombs/recipes/gr-recipes/ folder that weren’t there before, including “soapysdr.lwr”, “limesuite.lwr”, and “gr-osmosdr.lwr”, so I think I might be on the right path.

Thanks for the patience and the help.

Edit to add – this is different:

> jason@jason-N56VM:~$ pybombs install gr-osmosdr  
> PyBOMBS - INFO - PyBOMBS Version 2.3.2  
> PyBOMBS.install\_manager - INFO - Phase 1: Creating install tree and installing binary packages:  
> Traceback (most recent call last):  
> File “/usr/local/bin/pybombs”, line 11, in   
> load\_entry\_point(‘PyBOMBS==2.3.2’, ‘console\_scripts’, ‘pybombs’)()  
> File “/usr/local/lib/python2.7/dist-packages/pybombs/main.py”, line 32, in main  
> return dispatch() or 0  
> File “/usr/local/lib/python2.7/dist-packages/pybombs/commands/base.py”, line 194, in dispatch  
> return get\_cmd\_dict(cmd\_list)[args.command](cmd=args.command, args=args).run()  
> File “/usr/local/lib/python2.7/dist-packages/pybombs/commands/install.py”, line 122, in run  
> static=getattr(self.args, ‘static’, False),  
> File “/usr/local/lib/python2.7/dist-packages/pybombs/install\_manager.py”, line 112, in install  
> lambda pkg: \_cached\_check\_if\_pkg\_goes\_into\_tree(pkg, \_check\_if\_pkg\_goes\_into\_tree)  
> File “/usr/local/lib/python2.7/dist-packages/pybombs/dep\_manager.py”, line 53, in make\_dep\_tree  
> pkg\_set = set([pkg for pkg in pkg\_list if filter\_callback(pkg)])  
> File “/usr/local/lib/python2.7/dist-packages/pybombs/install\_manager.py”, line 112, in   
> lambda pkg: \_cached\_check\_if\_pkg\_goes\_into\_tree(pkg, \_check\_if\_pkg\_goes\_into\_tree)  
> File “/usr/local/lib/python2.7/dist-packages/pybombs/install\_manager.py”, line 97, in \_cached\_check\_if\_pkg\_goes\_into\_tree  
> ret\_val = check\_callback(pkg)  
> File “/usr/local/lib/python2.7/dist-packages/pybombs/install\_manager.py”, line 63, in \_check\_if\_pkg\_goes\_into\_tree  
> if not self.pm.exists(pkg):  
> File “/usr/local/lib/python2.7/dist-packages/pybombs/package\_manager.py”, line 134, in exists  
> pkg\_version = pkgr.exists(r)  
> AttributeError: ‘NoneType’ object has no attribute ‘exists’

---

<div class="post-metadata">

**Author:** ![ChuckM](https://avatars.discourse-cdn.com/v4/letter/c/5f9b8f/32.png) [@ChuckM](https://discourse.myriadrf.org/u/ChuckM)\
**Post date:** [26 September 2017 22:45 UTC](https://discourse.myriadrf.org/t/latest-aug-2017-limesdr-and-gnuradio/1563/20 "2017-09-26T22:45:58Z")

</div>

Hi @mr0w1 can you remind me what OS and version of that OS you are using ?

[Next page](https://discourse.myriadrf.org/t/latest-aug-2017-limesdr-and-gnuradio/1563.md?page=2)
