0

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:

  1. 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.

  2. 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)?

Thomas
  • 439
  • 4
  • 21

3 Answers3

0

Had the same problem. Downgrade to GCC-4.6 and libboost1.49

  • So with those two changes, you can generate new code using RH 1.9's IDE, and it will compile using the provided instructions for 12.04? That's been my whole trouble -- going from a base installation of a distro and installing RH 1.9. It can compile 1.8 projects but not generate and compile 1.9. – Thomas Oct 29 '13 at 10:46
0

Currently REDHAWK supports Ubuntu 12.04 LTS. Installation instructions can be found here: http://redhawksdr.github.io/Documentation/mainap5.html

There may or may not be additional steps required, or conflicts when installing on an untested OS such as Mint 15 or Ubuntu 13.10.

To answer your specific questions:

  1. Nothing should happen when running make for the GPP project. You can optionally skip that step and go directly to "sudo make install".

  2. This is an issue specific to Ubuntu 13.10, particularly it occurs because it has a newer version of GCC which is stricter than the version found in Ubuntu 12.04 and CentOS 5 & 6. To get around this issue, try defining the CXXFLAGS variable when you call configure to include the "-fpermissive" flag which tells the compiler to "Downgrade some diagnostics about nonconformant code from errors to warnings." You can do this in one line like this:

CPPFLAGS="-fpermissive" ./configure

That should do the trick for you however, keep in mind that running REDHAWK on 13.10 is untested and unsupported. If you need a debian based install I would recommend using 12.04 LTS.

Youssef Bagoulla
  • 1,229
  • 1
  • 7
  • 16
  • I've had trouble with 12.04 LTS as well as CentOS 6.4. I have yet to find either set of instructions compatible with their respective distributions when I followed them as closely to the letter as possible. In both of those cases I end up with a Component or Device that cannot be compiled because "bulkio" isn't defined -- it's as if the built-in project templates are wrong for where things actually get installed. If I bring in a 1.8 project, and do not regenerate it, I can recompile without a problem. – Thomas Oct 25 '13 at 17:58
  • Sounds like something in your environment isn't being set up properly. If you run into that issue again please post the details in a new stack overflow post – Youssef Bagoulla Oct 30 '13 at 15:19
  • It turned out the environment is fine, but the project required I add a port. At that point the appropriate headers were included and the project could compile. – Thomas Oct 31 '13 at 14:09
0

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.

cshea
  • 82
  • 1
  • 7