Project Overview

GNU Radio is a free software development toolkit that provides the signal processing runtime and processing blocks to implement software radios using readily-available, low-cost external RF hardware and commodity processors. It is widely used in hobbyist, academic and commercial environments to support wireless communications research as well as to implement real-world radio systems.

Friday
Apr012011

New library linking in Linux

It seems like Linux is changing its build policies and forcing us to be more explicit in our linkage. This does not seem to have affected any of the current stable releases of the main Linux distros, but apparently, the next versions of the big ones are going to start enforcing this. This includes  Ubuntu 11.04, Debian 7, and the next releases of Fedora. Others too, probably, if I went and looked.

In the end, I think this is probably a good thing since it forces us to be more explicit about what we link against.

I am currently going through and figuring out the various places that require this fix and trying to think if there is an elegent way to handle this in our build structure. But honestly, and this might just be in light of it being late, I think we just need to make sure that when we create a target program to build, we make sure to iinclude the necessary libraries in LDADD.

For instance, in Gruel we build the program test_gruel, so we set it up as:

   noinst_PROGRAMS = test_gruel

   test_gruel_LDADD = pmt/libpmt-qa.lib libgruel.la

Now, the trick was that libgruel already knew their linkage to the necessary libraries, so we didn't pass these on to test_gruel. Under the new way, we have to specify all of the libraries, and so the LDADD line looks like:

    test_gruel_LDADD = $(BOOST_THREAD_LIB) $(BOOST_SYSTEM_LIB) $(BOOST_FILESYSTEM_LIB) pmt/libpmt-qa.lib libgruel.la

Which allows it to build against these specific Boost libraries (the variables having been set during the configuration process).

This is an overly simplistic explination of what's really happening, but it's the basics of how it is affectig GNU Radio. Here's some more info on the change: http://wiki.debian.org/ToolChain/DSOLinking

Thursday
Jan062011

State of the Project, 2011

I wanted to update everyone on the current state of GNU Radio in the new year. While we haven't had a new release out for quite a while, we are due for one soon. Over the past many months, a number of bug fixes and enhancements have been finding their way into the source code. These additions will be released shortly in version 3.3.1. 

Aside from these fixes and improvements, we have been working hard on many new features of GNU Radio. Among the latest contributions to the project are:

 

  • UHD: the Ettus Research Universal Hardware Drive that unifies the interface to the Ettus USRP hardware.
  • VOLK: a set of Vector-Optimized Library of Kernels to make use of GPP SIMD instructions that should give a significant boost to the speed and efficiency of GNU Radio.
  • Stream tags: a in-band signalling method for passing information through the flowgraph.

Each of these is a pretty drastic piece of work that will take time to explore and explain. I hope to publish more information in the coming months to help people make use of these features.

But we are still moving forward with a lot of new ideas for the new year. Soon, we will be moving on, which means, first, a release of GNU Radio v3.3.1. We will then be able to focus on the next release of 3.4 to include the components discussed above.

So keep an eye out for announcements as we roll out these features and releases. If you want to keep abreast of everything as it comes out, follow along with the source code in the Git repository.

 

Thursday
Jan062011

New Format

To help manage the information about the GNU Radio project, we are updating the webpage interface. The new Home will be mainly for major project announcements and updates. The Blog will be dedicated to the more daily activities and work that's going on. If you follow using RSS, please update your feed. 

Page 1 ... 6 7 8 9 10