我不是唯一对Cosmic(与Wayland结合)和Melodic结合感兴趣的人。
我会提前:我似乎已经在我的XPS 13(9370)上成功地管理了此操作,或者至少成功地完成了安装脚本。但是,有一个真正的解决方法。无论结果如何,我都会很乐意投票给其他尝试安装的人。
基本上,我在http://wiki.ros.org/Installation/Source上运行了“桌面”安装的说明,以下是我如何处理各种麻烦的方法:
使用仿生而不是宇宙覆盖发行版:
rosdep install --from-paths src --ignore-src --os=ubuntu:bionic --rosdistro melodic -y
增强库错误...
(请参阅下面的Michal Fapso的解决方案。它更快,更轻松,更不会出现错误……)
安装aptitude之后,在Boost 1.65和Boost 1.67之间来回切换,每次切换后重试安装。说真的 执行此操作的两个命令是:
和:
交替执行大约十二次,以确保每次获得的包装编号都更高。[我认为下一代ROS将需要Boost的date_time函数以不同的方式调用。]
sudo aptitude install libboost1.65-all-dev
sudo apt install libboost1.67-all-dev
随机库--- OGRE,libyaml:
可以使用apt(libogre-1.9-dev)
libyaml 轻松轻松地安装OGRE ...也可以安装...,但在此卡死之前我尝试过三个或四个版本(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
Run Code Online (Sandbox Code Playgroud)
现在,在我们运行构建过程之前,存在Q. Wright提到的boost库错误。它们是由“ boost :: posix_time :: milliseconds”函数引起的,该函数在较新的boost版本中仅接受整数参数,但是ROS中的actionlib程序包在多个位置上对其进行了浮动处理。您可以使用该功能列出所有文件:
find -type f -print0 | xargs -0 grep 'boost::posix_time::milliseconds' | cut -d: -f1 | sort -u
Run Code Online (Sandbox Code Playgroud)
在文本编辑器中将其打开,然后搜索“ boost :: posix_time :: milliseconds”函数调用。浮点参数在以下文件中传递:
./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
Run Code Online (Sandbox Code Playgroud)
并替换如下调用:
boost::posix_time::milliseconds(loop_duration.toSec() * 1000.0f));
Run Code Online (Sandbox Code Playgroud)
至:
boost::posix_time::milliseconds(int(loop_duration.toSec() * 1000.0f)));
Run Code Online (Sandbox Code Playgroud)
还有这些:
boost::posix_time::milliseconds(1000.0f)
Run Code Online (Sandbox Code Playgroud)
至:
boost::posix_time::milliseconds(1000)
Run Code Online (Sandbox Code Playgroud)
现在我们终于可以构建ROS,希望不会出现任何错误:
./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5196 次 |
| 最近记录: |