ros编译catkin_make报错“string no output variable specified”

问题陈述:

编译pkg包时遇到以下报错:

CMake Error at /opt/ros/melodic/share/catkin/cmake/platform/lsb.cmake:8 (string):
  string no output variable specified
Call Stack (most recent call first):
  /opt/ros/melodic/share/catkin/cmake/all.cmake:164 (include)
  /opt/ros/melodic/share/catkin/cmake/catkinConfig.cmake:20 (include)
  CMakeLists.txt:58 (find_package)

解决方法:

出现该问题是由于下载python版本过多,软连接出错,识别不到lsb这个文件。首先,查看目前python默认版本,输入以下命令:

update-alternatives --config python

显示:

有 3 个候选项可用于替换 python (提供 /usr/bin/python)。

  选择       路径              优先级  状态
------------------------------------------------------------
  0            /usr/bin/python3.6   2         自动模式
* 1            /usr/bin/python2.7   1         手动模式
  2            /usr/bin/python3.6   2         手动模式
  3            /usr/bin/python3.8   2         手动模式

要维持当前值[*]请按<回车键>,或者键入选择的编号:

如果没有任何显示,输入以下命令导入:

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.6 2

然后重新选择默认版本。

然后查看lsb文件位置,输入:

lsb_release -a

显示:bash: /usr/bin/lsb_release: /usr/bin/python3: 解释器错误: 没有那个文件或目录。

输入命令重新下载:

sudo apt install --reinstall lsb-release

再次输入lsb_release -a,显示:

No LSB modules are available.
Distributor ID:    Ubuntu
Description:    Ubuntu 18.04.6 LTS
Release:    18.04
Codename:    bionic

到这里就可以了,重新去编译catkin_make试试。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值