【问题标题】:Redhawk 1.9 installation problems on Ubuntu 13.10Redhawk 1.9 在 Ubuntu 13.10 上的安装问题
【发布时间】:2013-11-01 23:27:47
【问题描述】:

我正在为如何在 Ubuntu 13.10 上运行最新的 Redhawk SDR 1.9 安装说明而苦苦挣扎(我也尝试过 Mint 15,但无济于事)。具体来说,我注意到两件事:

  1. 对于 framework-GPP/python,它说要运行 make,但这样做时它说“所有”都无事可做。如果它什么都不做,我不确定运行它有什么意义。这使我相信当我 ./reconf 和 ./configure 时出现问题,但我没有看到这些错误。

  2. 对于 framework-bulkioInterfaces,make 在 bulkio_out_port.cpp 上失败:error: 'pushSRI' was not declared in this scope and no declarations were found by argument-dependent lookup at the point of instantiation[-fpermissive]

我已经到处搜索了,但看起来其他人没有遇到这些问题。

有没有人有一套不同的/修改过的安装说明,用于在 Ubuntu(或只是基于 Debian 的发行版)上编译和安装 1.9?

【问题讨论】:

    标签: ubuntu linux-mint debian-based redhawksdr


    【解决方案1】:

    遇到了同样的问题。降级到 GCC-4.6 和 libboost1.49

    【讨论】:

    • 那么通过这两个更改,您可以使用 RH 1.9 的 IDE 生成新代码,并且它将使用 12.04 提供的指令进行编译?这就是我的全部麻烦——从发行版的基本安装开始并安装 RH 1.9。它可以编译 1.8 的项目,但不能生成和编译 1.9。
    【解决方案2】:

    目前 REDHAWK 支持 Ubuntu 12.04 LTS。安装说明可以在这里找到:http://redhawksdr.github.io/Documentation/mainap5.html

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

    回答您的具体问题:

    1. 为 GPP 项目运行 make 时不会发生任何事情。您可以选择跳过该步骤并直接转到“sudo make install”。

    2. 这是 Ubuntu 13.10 特有的问题,特别是因为它具有较新版本的 GCC,该版本比 Ubuntu 12.04 和 CentOS 5 和 6 中的版本更严格。要解决此问题,请尝试定义调用 configure 时的 CXXFLAGS 变量包含“-fpermissive”标志,该标志告诉编译器“将一些关于不合格代码的诊断从错误降级为警告。”您可以像这样在一行中执行此操作:

    CPPFLAGS="-fpermissive" ./configure

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

    【讨论】:

    • 我在使用 12.04 LTS 和 CentOS 6.4 时遇到了问题。当我尽可能接近字母时,我还没有找到与它们各自的发行版兼容的任何一组指令。在这两种情况下,我最终都会得到一个无法编译的组件或设备,因为没有定义“bulkio”——就好像内置项目模板在实际安装位​​置时是错误的。如果我引入一个 1.8 的项目,并且不重新生成它,我可以毫无问题地重新编译。
    • 听起来您的环境中的某些内容设置不正确。如果您再次遇到该问题,请在新的堆栈溢出帖子中发布详细信息
    • 原来环境很好,但是项目需要我加个端口。此时包含了适当的标头,并且项目可以编译。
    【解决方案3】:

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

    为了解决 Ubuntu 13.10 问题,特别是 gcc 4.7+ 和 boost1.50+,必须对 framework-core 和 framework-bulkioInterfaces 应用一系列补丁。这些补丁已应用于https://github.com/VenturaSolutionsInc/framework-bulkioInterfaces https://github.com/VenturaSolutionsInc/framework-core

    已提出一组拉取请求以将这些更改推回基线。

    bulkioInterfaces 需要 -fpermissive 的错误是由于 GCC 不再执行过去执行的基类范围的额外不合格查找或不合格模板函数查找的更改。见http://gcc.gnu.org/gcc-4.7/porting_to.html

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

    boost 和框架的问题是由于 boost::filesystem v3 的 boost::filesystem v2 的弃用和删除。两者之间的变化可以在这里找到:http://www.boost.org/doc/libs/1_49_0/libs/filesystem/v2/doc/index.htm。补丁框架下载地址:https://github.com/VenturaSolutionsInc/framework-core.git

    最后,在 Ubuntu 13.X 中 boost 1.5+ 的默认安装位置已经改变,默认 configure 不会找到它。如果你在上面引用的 git 项目中阅读了 Ubuntu.md,你会看到我包含了 --with-boost-libdir=/usr/lib/x86_64-linux-gnu 的标志来配置。这告诉自动工具在哪里可以找到 boost 1.5 库。

    【讨论】:

      猜你喜欢
      • 2014-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-16
      • 2013-11-24
      • 2014-07-11
      相关资源
      最近更新 更多