# Installing GNU Radio blocks as a regular user

**URL:** <https://www.ruby-forum.com/t/installing-gnu-radio-blocks-as-a-regular-user/241468>\
**Category:** GNU Radio\
**Created:** [April 8, 2015, 11:54am UTC](https://www.ruby-forum.com/t/installing-gnu-radio-blocks-as-a-regular-user/241468 "2015-04-08T11:54:28Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![musicdenotation](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/ea666f/32.png) [@musicdenotation](https://www.ruby-forum.com/u/musicdenotation)\
**Post date:** [April 8, 2015, 11:54am UTC](https://www.ruby-forum.com/t/installing-gnu-radio-blocks-as-a-regular-user/241468/1 "2015-04-08T11:54:28Z")

</div>

Hi everyone,

We’re trying to implement a GNU Radio course here in Lyon (France) where  
we take the students step-by-step into coding GR modules. At some point  
we’d like them to follow the out-of-tree modules tutorial but we’ve  
stumbled upon an unfortunate limitation: the IT guys of our university  
wont allow root access on any computer, meaning that we can compile but  
cannot install the blocks…

I come to you guys, to ask for advices on how to implement this. I have  
some ideas already but I’d like to see if there is any “best practice”  
ways to do this.

Best regards,

Leonardo Cardoso

---

<div class="post-metadata">

**Author:** ![Leonardo\_SSCardoso](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/858c86/32.png) [@Leonardo\_SSCardoso](https://www.ruby-forum.com/u/Leonardo_SSCardoso)\
**Post date:** [April 8, 2015, 3:56pm UTC](https://www.ruby-forum.com/t/installing-gnu-radio-blocks-as-a-regular-user/241468/2 "2015-04-08T15:56:51Z")

</div>

Well, it’s a great way to install popular OOTs 🙂

---

<div class="post-metadata">

**Author:** ![Leonardo\_SSCardoso](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/858c86/32.png) [@Leonardo\_SSCardoso](https://www.ruby-forum.com/u/Leonardo_SSCardoso)\
**Post date:** [April 8, 2015, 12:20pm UTC](https://www.ruby-forum.com/t/installing-gnu-radio-blocks-as-a-regular-user/241468/3 "2015-04-08T12:20:10Z")

</div>

Hi Leonardo,

So this depends on your situation: If you’re allowed to get arbitrary  
software installed by asking IT, I’d ask them to install a recent  
version of GNU Radio (at _least_ 3.7.2, the newer, the better).  
Possibly, only outdated versions are in your IT’s software package  
repositories, so you might need them to build and install from source;  
they might refuse.

If that’s the case, or you can’t ask for arbitrary software:  
use pyBombs[1]! It allows installation in a directory prefix of your  
choice. Choose “src” as only viable method of software installation.  
After pybombs has finished doing its thing, you get a shell script that  
you can use to modify the environment variables, so that if you just use  
that script in your ~/.bashrc, you will have a system that has a working  
GNU Radio, completely without leaving the boundaries of your non-root  
user. Downside is that everything that’s not on your system (or in an  
outdated version) has to be built from source, which will take quite  
some time and storage. Afterwards, if all these PCs are the same, you  
can just copy the prefix folder to every user’s home directory.

Either way, you’ll (hopefully) have a working GNU Radio installation  
afterwards.  
Now, if you used pybombs, you’ll already have a prefix directory in your  
user’s home where your OS will look for when loading libraries etc.  
Otherwise, use pybombs now (./pybombs config; ./pybombs env; echo  
“source $prefix/setup\_env.sh” \>\> ~/.bashrc) to generate the empty  
directory and generate a path-bending script.

When building your student’s OOT’s, you’d go the normal “cd gr-mymodule;  
mkdir build; cd build; cmake …; make; make install;” route, only that  
you’d replace “cmake …” with “cmake  
-DCMAKE\_INSTALL\_PREFIX=/home/userXYZ/prefixdirectory …”; afterwards,  
“make install” will install the things into prefixdirectory; awesome!

Best regards,  
Marcus

[1][http://gnuradio.org/redmine/projects/pybombs/wiki/QuickStart](http://gnuradio.org/redmine/projects/pybombs/wiki/QuickStart)

---

<div class="post-metadata">

**Author:** ![Leonardo\_SSCardoso](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/858c86/32.png) [@Leonardo\_SSCardoso](https://www.ruby-forum.com/u/Leonardo_SSCardoso)\
**Post date:** [April 8, 2015, 3:25pm UTC](https://www.ruby-forum.com/t/installing-gnu-radio-blocks-as-a-regular-user/241468/4 "2015-04-08T15:25:00Z")

</div>

Hi Marcus,

Thanks for the quick reply. The IT dept. can install any version of GNU  
Radio so no problem there 🙂

The pybombs solution looks a lot like what I was cooking up from my  
side. It boils down to changing the paths (PYTHONPATH, LD\_LIBRARY\_PATH,  
PKG\_CONFIG\_PATH, etc…) and installing OOT modules in a prefix in the  
users’s home.

Is there anything else to pybombs that I’m missing? I there any other  
advantage in using the pybombs framework that I might have missed?

Thanks again

BR,

Leonardo

---

<div class="post-metadata">

**Author:** ![Leonardo\_SSCardoso](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/858c86/32.png) [@Leonardo\_SSCardoso](https://www.ruby-forum.com/u/Leonardo_SSCardoso)\
**Post date:** [April 8, 2015, 5:55pm UTC](https://www.ruby-forum.com/t/installing-gnu-radio-blocks-as-a-regular-user/241468/5 "2015-04-08T17:55:19Z")

</div>

Pybombs also makes updating to newer versions as they come out easy.

./pybombs update

Rich

On Wed, Apr 8, 2015 at 6:54 AM, Marcus Müller [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

---

<div class="post-metadata">

**Author:** ![Leonardo\_SSCardoso](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/858c86/32.png) [@Leonardo\_SSCardoso](https://www.ruby-forum.com/u/Leonardo_SSCardoso)\
**Post date:** [April 8, 2015, 6:32pm UTC](https://www.ruby-forum.com/t/installing-gnu-radio-blocks-as-a-regular-user/241468/6 "2015-04-08T18:32:38Z")

</div>

On 08.04.2015 06:23, Leonardo S. Cardoso wrote:

> The pybombs solution looks a lot like what I was cooking up from my  
> side. It boils down to changing the paths (PYTHONPATH, LD\_LIBRARY\_PATH,  
> PKG\_CONFIG\_PATH, etc..) and installing OOT modules in a prefix in the  
> userss home.
> 
> Is there anything else to pybombs that Im missing? I there any other  
> advantage in using the pybombs framework that I might have missed?

Leonardo,

you might even want to install even GNU Radio yourself (i.e., your IT  
department installs nothing except for the build tools; gcc, cmake,  
boost…). With PyBOMBS, that’s really easy to do. It also allows you to  
update GNU Radio versions at any time, and, more importantly, on a  
user-by-user basis. This is nice when one user needs new features from  
latest GNU Radio, but others don’t want to update in order to not having  
to change their own stuff.

Cheers,  
Martin
