I'm struggling with the latest Redhawk SDR 1.9 installation instructions for how to get it running on Ubuntu 13.10 (I've also tried Mint 15 to no avail). Specifically I noticed two things:
For framework-GPP/python it says to run make but when doing so it says there is nothing to do for 'all'. I'm not sure what the point of running it is if it's not doing anything; this leads me to believe something is wrong when I ./reconf and ./configure but I see no errors in those.
For framework-bulkioInterfaces, make fails on bulkio_out_port.cpp for: error: 'pushSRI' was not declared in this scope and no declarations were found by argument-dependent lookup at the point of instantiation[-fpermissive]
.
I've searched all over but it doesn't look like anyone else is having these issues.
Does anyone have a different/modified set of installation instructions for compiling and installing 1.9 on Ubuntu (or just a Debian-based distro)?
To your first question: Python, which the GPP is written in, automatically compiles your python script to a byte code file (.pyc), before running it. Since this done by the Python interpreter just before executing, the make stage does not produce anything.
In order to solve the Ubuntu 13.10 issues and specifically gcc 4.7+ and boost1.50+ there are a series of patches that must be applied to the framework-core and the framework-bulkioInterfaces. These patches have been applied to https://github.com/VenturaSolutionsInc/framework-bulkioInterfaces https://github.com/VenturaSolutionsInc/framework-core
A set of pull requests have been made to push these changes back into the baseline.
The error requiring -fpermissive for the bulkioInterfaces is due to a change in which GCC no longer performs the extra unqualified lookups for base class scope or unqualified template function lookups preformed in the past. See http://gcc.gnu.org/gcc-4.7/porting_to.html
In libsrc/cpp/bulkio_out_port.cpp all references to pushSRI(currentSRIs[streamID].first) must be changed to explicitly call "this", resulting in this->pushSRI(currentSRIs[streamID].first);
The problem with boost and the framework is due to the deprecation and removal of the boost::filesystem v2 for boost::filesystem v3. What changed between the two can be found here: http://www.boost.org/doc/libs/1_49_0/libs/filesystem/v2/doc/index.htm. The patched framework can be downloaded from:https://github.com/VenturaSolutionsInc/framework-core.git
Finally the default installation location for boost 1.5+ in Ubuntu 13.X has changed and by default configure will not find it. If you read the Ubuntu.md in the above referenced git project you will see I included the flag --with-boost-libdir=/usr/lib/x86_64-linux-gnu to configure. This tells the autotools where to find the boost 1.5 libraries.