gpt4 book ai didi

boost - 在 Ubuntu 18.10 上安装 ROS Melodic

转载 作者:行者123 更新时间:2023-12-02 23:16:02 25 4
gpt4 key购买 nike

不可能是唯一对 Cosmic(与 Wayland)和 Melodic 的组合感兴趣的人。

我会坦白说:我似乎已经在 XPS 13 (9370) 上成功管理了此操作,或者至少安装脚本[最终]成功完成。然而,有一个非常棘手的解决方法。无论结果如何,我都会很乐意投票支持其他尝试安装的人的回复。

基本上,我在 http://wiki.ros.org/Installation/Source 上运行了说明。对于“桌面”安装,以下是我处理过程中遇到的各种障碍的方法:

  • 覆盖发行版,使用bionic而不是cosmic:
    rosdep install --from-paths src --ignore-src --os=ubuntu:bionic --rosdistro melodic -y

  • Boost 库错误...
    (请参阅下面 Michal Fapso 的解决方案。它更快、更简单、错误更少......)
    安装 aptitude 后,在 Boost 1.65 和 Boost 1.67 之间来回切换,每次切换后重试安装。严重地。执行此操作的两个命令是:
    sudo aptitude install libboost1.65-all-dev
    以及:
    sudo apt install libboost1.67-all-dev
    交替大约十几次,确保每次获得更高的包裹编号。 [我认为下一代ROS将需要以不同方式调用的Boost date_time函数。]

  • 随机库---OGRE、libyaml:
    OGRE 可以使用 apt (libogre-1.9-dev) 轻松安装
    libyaml...也可以安装,只不过我在这个卡住之前尝试了三四个版本(libyaml-cpp0.3-dev)

<小时/>

roscore 运行,显示旋律版本 1.14.3。 Turtlesim 与turtle_tf2_demo(远程操作)、rviz 以及 rosgraph 和 Python (rospy) 模块一起运行。

请报告您的错误!

最佳答案

感谢您的提示,Q. Wright。这是针对像我这样的 ROS 初学者的更详细的指南:)

这部分来自http://wiki.ros.org/melodic/Installation/Source并包括 Q. Wright 指定较旧的 ubuntu 发行版的技巧:

sudo apt-get install python-rosdep python-rosinstall-generator python-wstool python-rosinstall build-essential
sudo rosdep init
rosdep update
mkdir ~/projects/ros_catkin_ws
cd ~/projects/ros_catkin_ws
rosinstall_generator desktop_full --rosdistro melodic --deps --tar > melodic-desktop-full.rosinstall
wstool init -j8 src melodic-desktop-full.rosinstall
rosdep install --from-paths src --ignore-src --os=ubuntu:bionic --rosdistro melodic -y

现在,在我们运行构建过程之前,存在 Q. Wright 提到的 boost 库错误。它们是由“boost::posix_time::milliseconds”函数引起的,该函数在较新的 boost 版本中仅接受整数参数,但 ROS 中的 actionlib 包在多个位置为其提供了 float 。您可以使用该函数列出所有文件:

find -type f -print0 | xargs -0 grep 'boost::posix_time::milliseconds' | cut -d: -f1 | sort -u

在文本编辑器中打开它们并搜索“boost::posix_time::milliseconds”函数调用。 float 参数在这些文件中传递:

./src/actionlib/include/actionlib/client/simple_action_client.h
./src/actionlib/include/actionlib/destruction_guard.h
./src/actionlib/include/actionlib/server/simple_action_server_imp.h
./src/actionlib/src/connection_monitor.cpp
./src/actionlib/test/destruction_guard_test.cpp

并替换这样的调用:

boost::posix_time::milliseconds(loop_duration.toSec() * 1000.0f));

至:

boost::posix_time::milliseconds(int(loop_duration.toSec() * 1000.0f)));

还有这些:

boost::posix_time::milliseconds(1000.0f)

至:

boost::posix_time::milliseconds(1000)

现在我们终于可以构建 ROS,希望不会出现任何错误:

./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release

关于boost - 在 Ubuntu 18.10 上安装 ROS Melodic,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53266574/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com