【问题标题】:make: cannot find -lthriftmake: 找不到 -lthrift
【发布时间】:2020-05-11 09:18:41
【问题描述】:

场景:我正在编译 GnuRadio(我正在对 GnuRadio 模块 qtgui 进行非常简单的修改),其中“sudo make install”的内容是“/prefix/default/src/gnuradio/build”。当我尝试编译时,我收到此错误。

我以为我没有安装thrift,但我有。

有什么建议吗?

/usr/bin/ld: cannot find -lthrift
collect2: error: ld returned 1 exit status
make[2]: *** [gr-qtgui/lib/CMakeFiles/gnuradio-qtgui.dir/build.make:1182: gr-qtgui/lib/libgnuradio-qtgui-3.7.13.5.so.0.0.0] Error 1
make[1]: *** [CMakeFiles/Makefile2:12843: gr-qtgui/lib/CMakeFiles/gnuradio-qtgui.dir/all] Error 2
make: *** [Makefile:163: all] Error 2 ```

【问题讨论】:

  • 您是否安装了libthrift
  • 我不这么认为。由于我使用的是 Ubuntu 18.10,我需要 libthrift-0.10.0,但我找不到它。我通过添加最后一个存储库尝试使用 0.11,但它不起作用。
  • 如果你没有安装它,它不应该启用 thrift 链接。这很奇怪。您是否在 CMake 中强制启用节俭?
  • 确实,我同意 MarcusMüller 的说法,这很奇怪,即使我安装正确并且所有依赖项都得到了满足。顺便说一句,我并没有强制编译而不节俭,但我认为您的方法和@Vasil 建议的方法有效。最后,我尝试手动下载所需的库(如我的答案中所指定)并使用 dpkg 安装它们。

标签: c++ gnuradio gnuradio-companion


【解决方案1】:

如果您不需要 gnuradio 的 ControlPort,您可以尝试在没有它的情况下重新编译,这样就不需要 thrift。进入 gnuradio 的 build 目录,删除 CMakeCache.txt,然后使用 -DENABLE_CTRLPORT_THRIFT=OFF 参数运行 cmake。

如果您需要 ControlPort,请将 grep "^THRIFT" CMakeCache.txt(从构建目录执行)的完整输出添加到您的问题中。

【讨论】:

  • 谢谢@Vasil,但是我发布了另一个解决方案来解决问题,以防其他人需要它。
【解决方案2】:

@Vasil 的答案是有效的,但我想分享一下我是如何解决问题的,以防其他人需要该库来编译 gnuradio。我发现我们需要
libthrift-0.10.0 库。由于它在 Ubuntu 存储库中不可用,我从这里 (https://mirror.genesisadaptive.com/deepin/pool/main/t/thrift/) 安装了以下数据包:

  • libthrift-dev_0.10.0-1deepin_amd64
  • libthrift-c-glib0_0.10.0-1deepin_amd64
  • libthrift-c-glib-dev_0.10.0-1deepin_amd64
  • libthrift-0.10.0_0.10.0-1deepin_amd64

【讨论】:

  • 你可以不使用 thrift 构建 GNU Radio,而不是通过强制启用 ctrlport-thrift。我们正在 CI 中对此进行测试。
  • 我同意@MarcusMüller 的观点,但我不知道该库是否对其他东西有用(GnuRadio 除外)。
  • 有数以千计的库可用于其他用途 - 您无需安装它们即可使 GNU Radio 工作,因此这对任何人都没有帮助。
  • 我同意,但是如果我安装了 GnuRadio 并且它可以工作,并且过了一会儿我想修改 gr-qtgui 来做某事,但由于某种原因它无法编译,我发现问题与图书馆有关,在我的生活中我有两种方法:1)忽略并继续,2)尝试理解并解决问题:)。
猜你喜欢
  • 2013-08-19
  • 1970-01-01
  • 2015-05-31
  • 2019-01-13
  • 2014-05-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多