Ros1 源码下载及编译
准备工作
Setup your sources.list
Setup your computer to accept software from packages.ros.org.
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
Set up your keys
sudo apt install curl # if you haven't already installed curl
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
sudo apt update
Installing bootstrap dependencies
sudo apt-get install python-rosdep python-rosinstall-generator python-vcstool python-rosinstall build-essential
Initializing rosdep
sudo rosdep init
rosdep update
下载
Create a catkin Workspace
mkdir -p ~/ros_catkin_ws/src
cd ~/ros_catkin_ws
Desktop-Full Install:
rosinstall_generator desktop_full --rosdistro melodic --deps --tar > melodic-desktop-full.rosinstall
vcs import src < melodic-desktop-full.rosinstall
Resolving Dependencies
rosdep install --from-paths src --ignore-src --rosdistro melodic -y
Building the catkin Workspace
./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release
导入ros环境
source ~/ros_catkin_ws/install_isolated/setup.bash
一些问题及解决方案
-
cn.archive.ubuntu.com:80 (91.189.91.39), connection timed out问题解决
更换ubuntu源至163
sudo cp -rfv /etc/apt/sources.list /etc/apt/sources.list.back
sudo vi /etc/apt/sources.list
将sources.list内容替换为如下内容
deb http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse -
Cant install python3-pyqt5 on ubuntu 18问题
执行如下命令sudo add-apt-repository universe sudo apt-get update
一键下载和编译代码脚本:
1、bash download_and_compile.sh workspace_source_dir
2、source workspace_source_dir/devel_isolated/setup.bash
download_and_compile.sh源码
#!/bin/bash
if (($# != 1));then
echo "Please input one args, ex: bash download_and_compile.sh absolute_workspacr_source_dir"
exit
fi
echo "the workspace_source_dir:"$1
# Prepare the environment
# Setup your computer to accept software from packages.ros.org.
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
# Set up your keys
sudo apt install curl
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
sudo apt update
# Installing bootstrap dependencies
sudo apt-get install python-rosdep python-rosinstall-generator python-vcstool python-rosinstall build-essential
# Initializing rosdep
sudo rosdep init
rosdep update
# Download the source and build it
# Create a catkin Workspace
mkdir -p $1"/src"
cd $1
rosinstall_generator desktop_full --rosdistro melodic --deps --tar > melodic-desktop-full.rosinstall
vcs import src < melodic-desktop-full.rosinstall
rosdep install --from-paths src --ignore-src --rosdistro melodic -y
# compile and build
./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release
# source the ros env
source ~/ros_catkin_ws/install_isolated/setup.bash