ROS篇——Debian12通过源码安装ros-noetic

本文详细描述了如何在Debian12系统上配置sources.list,安装必要的开发工具,并逐步解决安装过程中遇到的各种库缺失、网络连接问题和编译错误,以成功编译ROSNoetic源码包。
摘要由CSDN通过智能技术生成

一、先配置sources.list

Debian篇——Debian12的sources.list文件配置

二、基本环境部署安装(安装时提示找不到的库,需要修改一下版本 ,安装你能找得到的版本)

sudo apt-get install git
sudo apt-get install cmake
sudo apt-get install python3-pip

#---pip3 install报错参考文章:https://blog.csdn.net/u011391361/article/details/136470825?spm=1001.2014.3001.5501

sudo pip3 install defusedxml
sudo pip3 install rospkg
sudo pip3 install netifaces
sudo pip3 install empy==3.3.2
sudo pip3 install pycrypto
sudo pip3 install pycryptodomex
sudo pip3 install wheel
sudo pip3 install sip
sudo pip3 install gnupg   
#---安装时提示...ReadTimeoutError: HTTPSConnectionPool...重试即可
#---安装gnupg时如果在安装setuptools的时候报错,按如下方法解决
wget https://pypi.python.org/packages/source/s/setuptools/setuptools-69.1.1.tar.gz
tar -zxvf setuptools-69.1.1.tar.gz
cd setuptools-69.1.1/
python3 setup.py build
python3 setup.py install
然后再重试sudo pip3 install gnupg,第一次可能还会报错,再试一次即可

sudo apt-get install zip
sudo apt-get install libboost1.74-all-dev
sudo apt-get install liblog4cxx15
sudo apt-get install liblog4cxx-dev
sudo apt-get install liblog4cxx-doc
sudo apt-get install libtinyxml2-9
sudo apt-get install libtinyxml2-dev
sudo apt-get install libtinyxml-dev libtinyxml-doc
sudo apt-get install ogre-1.12-tools
sudo apt-get install assimp-utils
sudo apt-get install libyaml-cpp0.7
sudo apt-get install libyaml-dev
sudo apt-get install libyaml-cpp-dev
sudo apt-get install libpoco-dev
sudo apt-get install libpocofoundation80
sudo apt-get install liburdfdom-tools
sudo apt-get install liburdfdom-headers-dev
sudo apt-get install liburdfdom-dev
sudo apt-get install python3-pyassimp libassimp-dev
sudo apt-get install libcollada-dom2.4-dp-dev
sudo apt-get install python3-sip python3-sip-dev
sudo apt-get install liblz4-dev
sudo apt-get install libogre-1.12-dev
sudo apt-get install python3-netifaces python3-defusedxml
sudo apt-get install libconsole-bridge1.0 libconsole-bridge-dev -y
sudo apt-get install libcurl4-openssl-dev
sudo apt-get install liborocos-kdl-dev
sudo apt-get install qtcreator
sudo apt-get install libbullet-dev
sudo apt-get install libopencv-dev

#---安装pyqt(能装多少装多少,部分实在无法安装就跳过,一般也不在debian上直接跑图形界面)
sudo apt-get install python3-pyqt5 pyqt5-dev python3-sip-dev pyqt5-dev-tools
sudo apt-get install pyqt5*
sudo apt-get install qttools5-dev-tools
sudo pip3 install -v pyqt5==5.15.2 -i https://mirror.baidu.com/pypi/simple (存疑,安装可能失败)


sudo pip3 install pybind11 -i https://mirror.baidu.com/pypi/simple
sudo apt-get install libopencv-dev
sudo apt-get install libgtest-dev -y
sudo apt-get install libuvc-dev
sudo apt-get install libeigen3-dev
sudo apt-get install libbz2-dev
sudo apt-get install liblzma-dev
sudo apt-get install libgpgme-dev
sudo apt-get install libpcl-dev
sudo apt-get install jskeus-dev
sudo apt-get install python3-gpg
sudo apt-get install libgpgme-dev
sudo apt-get install libturbojpeg0
sudo apt-get install libglfw3-dev
sudo apt-get install libturbojpeg0-dev
sudo apt-get install libroscpp-dev
sudo apt-get install librosconsole-bridge-dev
sudo apt-get install aptitude
sudo apt-get install cppcheck python3-nose 
sudo apt-get install clang-format pydocstyle pyflakes3 
sudo apt-get install python3-funcsigs python3-mock 
sudo apt-get install python3-pbr python3-pep8 
sudo apt-get install uncrustify
sudo apt-get install libcg3-dev cg3
sudo apt-get install libsdl2-dev
sudo apt-get install doxygen
sudo apt-get install rviz

三、下载ros noetic源码并编译

#---源码下载途径:
#---1.csdn下载:https://download.csdn.net/download/TJXUNwu/87522092?spm=1001.2014.3001.5501

#---2.或者百度网盘下载:https://pan.baidu.com/s/1zKFcee2G-dydpk7qY_t8UA?pwd=5555
其中ros_noetic_src.zip和ros_catkin_ws.zip选一个下载即可。
ros_noetic_src.zip是比较完整的包, 根据实际需要或者编译情况可以删掉一些包。
ros_caktin_ws.zip是我自己debian12的单片机上面用的,由于系统兼容性和cpu架构问题,删掉了一些包(qt_gui_core、rosconsole、visualization_tutorials这4个,编不过,且我用不到),只保留了能够编译通过和必须使用到的包。

#---3.或者使用python3-rosinstall-generator下载源码(这个会很长时间,且有可能下载不完整)
sudo apt-get install python3-rosinstall-generator
sudo apt-get install python3-vcstools
sudo apt-get install vcstools
sudo apt-get install python3-rosdep   (找不到rosdep就rosdep2)
sudo rosdep init
rosdep update
(提示ERROR: unable to process source [https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-h的话,就在/etc/hosts的末尾另起一行添加151.101.84.133 raw.githubusercontent.com)
rosinstall_generator desktop --rosdistro noetic --deps --tar > noetic-desktop.rosinstall
mkdir ~/ros_catkin_ws/src -p
cd ~/ros_catkin_ws/
vcs import --input noetic-desktop.rosinstall src
这里如果进入下载了会提示...,如果出错的,就提示E


#---开始编译
#---进入debian12系统
cd
mkdir ros_noetic

#---将下载好的压缩包放到ros_noetic目录下解压,会生成src文件夹
#---防止从Windows下载后文件权限变化,可以给整个解压后的src文件夹所有文件777权限。
cd ros_noetic
sudo chmod 777 src -R

#---然后开始编译,根据你的debian的cpu核数决定用多少个核编译,不要用全部的核编译,系统会卡住
#---如果只有2个核,那么就用-j1
./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release -j2

#---不带界面debian系统可能会在编译qt_gui_core包的时候报错,直接将qt_gui_core删除后重新编译
#---编译rosconsole包的时候报log4cxx相关的错误时,从https://github.com/lucasw/rosconsole拉取rosconsole的源码,切到concise_output_roso分支,替换掉rosconsole包。如果编译还报错,把报错的地方注释掉。

#---编译如果报错error: using typedef-name ‘Ogre::Vector3’,安装ogre的v1.11.2版本, 链接https://github.com/OGRECave/ogre/tree/v1.11.2,然后编译安装
进入下载的文件夹下
mkdir build && cd build
cmake ..
make
sudo make install
这个办法可能无法安装ogre.
这个办法在性能不好的设备上可以放弃了, 可以把上面报错的地方用到ogre的相关包删掉, 再重新编译

#---编译过程中还有可能提示g++: internal compiler error: Killed (program cc1plus)的报错
#---这个是因为你的设备性能不够,编译时系统资源不够了
#---解决方案:https://blog.csdn.net/u011391361/article/details/136631461?spm=1001.2014.3001.5502

#---实际上可能还有其他报错, 根据经验或网上的方法一一解决

#---完全编译通过后将source ~/ros_noetic/install_isolated/setup.bash添加到~/.bashrc文件的末尾,然后source ~/.bashrc即可使用ros啦。

后语:经过重重艰辛,终于编译通过,运行roscore一直卡住,ctrl+c停止roscore的进程时提示python3下面的rosgraph相关的错误,这个时候卸载重装python3下的rosgraph

pip3 uninstall rosgraph
sudo apt-get install python3-rosgraph python3-rosgraph-msgs
  • 28
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值