Ubuntu 13.10上的Redhawk 1.9安装问题

Ubuntu 13.10上的Redhawk 1.9安装问题,ubuntu,linux-mint,debian-based,redhawksdr,Ubuntu,Linux Mint,Debian Based,Redhawksdr,我正在为如何在Ubuntu 13.10上运行最新的Redhawk SDR 1.9安装说明而苦苦挣扎(我也尝试了Mint 15,但没有成功)。我特别注意到两件事: 对于frameworkgpp/python,它说要运行make,但在这样做时,它说对“all”没有什么可做的。如果它什么都没做,我不知道运行它的意义何在;这让我相信,当我./reconf和./configure时,出现了一些错误,但我没有看到这些错误 对于框架bulkioInterfaces,在bulkio_out_port.cpp上m

我正在为如何在Ubuntu 13.10上运行最新的Redhawk SDR 1.9安装说明而苦苦挣扎(我也尝试了Mint 15,但没有成功)。我特别注意到两件事:

  • 对于frameworkgpp/python,它说要运行make,但在这样做时,它说对“all”没有什么可做的。如果它什么都没做,我不知道运行它的意义何在;这让我相信,当我./reconf和./configure时,出现了一些错误,但我没有看到这些错误

  • 对于框架bulkioInterfaces,在bulkio_out_port.cpp上make失败,原因是:
    错误:“pushSRI”未在此范围内声明,并且在实例化点[-fppermissive]
    通过依赖参数的查找未找到任何声明

  • 我已经搜索了所有地方,但看起来没有其他人有这些问题


    在Ubuntu(或者仅仅是基于Debian的发行版)上编译和安装1.9,有没有人有不同的/修改过的安装说明。降级到GCC-4.6和libboost1.49,目前REDHAWK支持Ubuntu 12.04 LTS。安装说明可在此处找到:

    在未经测试的操作系统(如Mint 15或Ubuntu 13.10)上安装时,可能需要也可能不需要额外的步骤,或者冲突

    要回答您的具体问题:

  • 运行make for GPP项目时不应发生任何事情。您可以选择跳过该步骤,直接转到“sudo make install”

  • 这是Ubuntu13.10特有的问题,尤其是因为它有一个更新的GCC版本,比Ubuntu12.04和CentOS 5&6中的版本更严格。要解决此问题,请在调用configure时尝试定义CXXFLAGS变量,以包含“-fpermissive”标志,该标志告诉编译器“将有关不一致代码的某些诊断从错误降级为警告”。您可以在一行中执行此操作,如下所示:

  • CPPFLAGS=“-fppermissive”。/configure


    不过,请记住,在13.10上运行REDHAWK是未经测试且不受支持的。如果您需要基于debian的安装,我建议您使用12.04 LTS。

    对于您的第一个问题:编写GPP的Python会在运行之前自动将Python脚本编译为字节码文件(.pyc)。因为这是在执行之前由Python解释器完成的,所以make阶段不会产生任何结果

    为了解决Ubuntu13.10问题,特别是GCC4.7+和boost1.50+问题,必须在框架核心和框架接口上应用一系列补丁。这些修补程序已应用于

    已经发出了一组请求来将这些更改推回到基线中

    bulkioInterfaces需要-fpPermissive的错误是由于GCC不再对基类作用域执行额外的非限定查找,或者不再执行过去执行的非限定模板函数查找。看

    在libsrc/cpp/bulkio_out_port.cpp中,对pushSRI(currentSRIs[streamID].first)的所有引用必须更改为显式调用“this”,从而导致this->pushSRI(currentSRIs[streamID].first)

    boost和框架的问题是由于boost::filesystem v3对boost::filesystem v2的弃用和删除。可以在此处找到两者之间的变化:。已修补的框架可从以下网站下载:


    最后,Ubuntu 13.X中boost 1.5+的默认安装位置已经更改,默认情况下configure将找不到它。如果您阅读上面提到的git项目中的Ubuntu.md,您将看到我包含了这个标志——使用boostlibdir=/usr/lib/x86_64-linux-gnu进行配置。这会告诉自动工具在哪里可以找到boost 1.5库。

    我在12.04 LTS和CentOS 6.4上遇到了问题。我还没有找到任何一套指令与它们各自的发行版兼容,当我尽可能严格地遵循它们时。在这两种情况下,我最终得到的组件或设备都无法编译,因为“bulkio”没有定义——就好像内置项目模板在实际安装位置上是错误的。如果我引入了一个1.8项目,但没有重新生成它,我可以毫无问题地重新编译。听起来您的环境中有些东西设置不正确。如果您再次遇到该问题,请在新的堆栈溢出帖子中发布详细信息。结果表明,环境很好,但项目需要我添加一个端口。在这一点上,适当的头被包括在内,项目可以编译。因此,通过这两个更改,您可以使用RH1.9的IDE生成新代码,它将使用12.04提供的指令进行编译?这就是我的全部问题——从发行版的基本安装到安装Rh1.9。它可以编译1.8个项目,但不能生成和编译1.9。