ubuntu22源码安装ros-noetic

参考链接:

https://blog.csdn.net/zyh821351004/article/details/135523056

https://gist.github.com/Meltwin/fe2c15a5d7e6a8795911907f627255e0

瞎折腾才到这一步的,网络环境自己搞定

1、准备工作

  1. 这一步是为了下面顺利安装依赖包,修改/etc/apt/sources.list.d/ros-latest.list文件内容为(默认为jammy):
    deb http://packages.ros.org/ros/ubuntu focal main
  2.  安装依赖
    sudo apt-get install python3-rosdep python3-rosinstall-generator python3-vcstools python3-vcstool build-essential

  3.  更改rosdep存储库地址,修改/etc/ros/rosdep/sources.list.d/20-default.list如下:
    # os-specific listings first
    yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml osx
    
    # generic
    #yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml
    yaml https://gist.githubusercontent.com/Meltwin/0317ae7481c94da7fd66c3eea8d40740/raw/04f6404249b0430523671410891815e63eadb2fe/base.yaml
    yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml
    yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml
    gbpdistro https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml fuerte
    
    # newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead
    

  4.  执行rosdep update 即可

 2、安装

  1. 创建catkin Workspace,安装依赖
    mkdir ./noetic_ws
    cd ./noetic_ws
    rosinstall_generator desktop --rosdistro noetic --deps --tar > noetic-desktop.rosinstall
    mkdir ./src
    vcs import --input noetic-desktop.rosinstall ./src
    rosdep install --from-paths ./src --ignore-packages-from-source --rosdistro noetic -y
  2.  构建源码
    ./src/catkin/bin/catkin_make_isolated -DCMAKE_BUILD_TYPE=Release

 3、将会遇到的问题

1、可能会遇到的错误与 rosconsole 和 log4cxx 相关:

打开src/rosconsole/src/rosconsole/impl/rosconsole_log4cxx.cpp并将其内容替换为https://raw.githubusercontent.com/ros/rosconsole/9f930c007dd40aa7ede771b8859b529e024d7bfb/src/rosconsole/impl/rosconsole_log4cxx.cpp

 2、可能遇到的错误是 C++ 编译版本。当包想要使用 C++11 编译并使用 C++17 中的对象时,就会出现问题,从下方链接下载脚本后执行 python3 change_cpp.py即可(在noetic_ws目录下)

https://gist.githubusercontent.com/Meltwin/1ee35296d2bb86fee19d639580e3c91f/raw/13b8d626733981cdf58244708e5cba1ee5d87e1c/change_cpp.py

 3、期间编译中断基本都是缺少库的问题,按需下载即可,可以提前下载一些,分享一下我遇到的:

#参考链接里面的安装
sudo apt install  libopencv-dev
sudo apt install  libassimp-dev python3-pyassimp
sudo apt install  libogre-1.12-dev
sudo apt install  libogre1.12.10
sudo apt install  libqt5widgets5  qtcreator qtbase5-dev qt5-qmake cmake
sudo apt install  sip-dev python3-sip-dev python3-pyqt5.sip
sudo apt install  python3-pyqt5.sip python3-pyqt5 pyqt5-dev 
#我遇到的
sudo apt-get install libtinyxml-dev
sudo apt-get install liborocos-kdl-dev
sudo apt-get install liburdfdom-headers-dev
sudo apt-get install liburdfdom-dev
sudo apt-get install libyaml-cpp-dev
sudo apt-get install libturbojpeg-dev
sudo apt-get install libogg-dev
sudo apt-get install libtheora-dev
sudo apt-get install libpoco-dev
sudo apt-get install libtinyxml2-dev
sudo apt-get install liblog4cxx-dev
sudo apt-get install libbz2-dev
sudo apt-get install libgpgme-dev

编译完成提示:<== Finished processing package [188 of 188]: 'xacro',我这里显示188是因为加入了一些额外需要编译的ros包,至此,source一下,即可使用了,有什么问题可以留言

补充:rqt_bag 命令不可用,可参考下面链接修改src/rqt_bag/src/rqt_bag/timeline_frame.py,重新编译即可使用https://github.com/ros-visualization/rqt_bag/pull/109/commits/6ba817ed1c09c01ea25f4ce6131f5b88c8b9ace3

  • 21
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值