ubuntu15.04 + ROS Jade

Source: Internet
Author: User
Tags git clone

As we all know, a radish a pit, an Ubuntu a Ros. Ubuntu15.04 should have stopped maintenance, like the previous kind of brain remnants of the installation of Ros is generally impossible, no way to compile their own!! Although can not find the great God on this aspect of the post (╯﹏╰), but the man can't easily give up!!!

Beginning of the beginning, to account for some very important things, because this ghost has been stopped maintenance, so need to modify the source, or you can not be apt to anything (change to Ali source also useless ╮(╯▽╰)╭)

Edit the original source file/etc/apt/sources.list, replace the original http://ports.ubuntu.com/ubuntu-ports all with http://old-releases.ubuntu.com/ ubuntu/, then save and sudo apt-get update

Our approach is to download the ROS package and compile it on our own board. Nonsense not much to say, on the platform:

Hardware: Firefly RK3128 (have to spray!!!!) Official online unexpectedly only 15.04 a version, think all come to gas, after-sales technical support I will not say.

Software: ROS Jade

First give the ROS website address, although the error a lot, but still want to see (especially to engage in other people did not do things).

Lazy crossing the net or see the English giddy friend, look directly below ↓

Detailed installation steps (blood vomiting process, and the line and cherish):

1. Install boost

My board is new, so first to install boost, version 1 5 4. Reference Web page.

Install dependencies First:

sudo apt-get install Mpi-default-dev
sudo apt-get install Libicu-dev
sudo apt-get install Python-dev
sudo apt-get install Libbz2-dev

Then copy the Boost_1_54_0.tar to/home and enter, unzip:

TAR-ZXVF boost_1_54_0.tar.gz

Enter BOOST_1_54_0

sudo./bootstrap.sh

sudo./b2

sudo./b2 Install

Test:

New file Test.cpp, content:
#include <iostream>
#include <boost/lexical_cast.hpp>
int main ()
{
int a = boost::lexical_cast<int> ("123456");
Std::cout << a <<std::endl;
return 0;
}

Compile:
g++ Test.cpp-o Test
Run test and the output "123456" indicates a successful installation.

2. ROS Jade Source Package download

ROS download and installation is not through git what download package, nor through the CMake instructions installed, although not understand, but it's OK to do it.

First this way (why?) Don't ask me, I don't know. ):

sudo update-locale lang=c language=c lc_all=c lc_messages=posix

Add source (official source doesn't seem to work, this is mirror):
sudo sh-c ' echo ' deb Http://ros.exbot.net/rospackage/ros/ubuntu/vivid main ">/etc/apt/sources.list.d/ Ros-latest.list '

To configure the secret key:

sudo apt-key adv--keyserver hkp://ha.pool.sks-keyservers.net:80--recv-key 421c365bd9ff1f717815a3895523baeeb01fa116

Installation dependencies:

Apt-get Install PYTHON-ROSDEP python-rosinstall-generator python-wstool python-rosinstall python-empy python-nose

And then:

sudo rosdep init

ROSDEP Update

Then to download the ROS package, we download it to ROS_CATKIN_WS (where it should be):

mkdir ~/ros_catkin_ws
CD ~/ROS_CATKIN_WS

Download the download tool First:

Rosinstall_generator desktop_full--rosdistro Jade--deps--wet-only--tar > Jade-desktop-full-wet.rosinstall

A Jade-desktop-full-wet.rosinstall script will then appear. We are downloading the ROS Deluxe version (family bucket. ):

Wstool init-j8 src Jade-desktop-full-wet.rosinstall

Time has a moment, after the emergence of a src folder, which is the download good source code. Then install dependencies:

ROSDEP Install--from-paths src--ignore-src--rosdistro jade-y

3. ROS Jade Compilation

The real compilation process that is a terrible, in order to kiss not repeat, we first install something.

First install a simple little thing, Poco library:

sudo apt-get install Libpoco-dev Libgtest-dev

And then compile boost, does anyone say that the previous one has been compiled and installed? No problem, the previous is compiled, and the default installation under/usr/local, but into/usr/local/lib, you will find no libboost_thread the beginning of a few packages.

Rest assured, this compilation we only compile Libboost_thread this part, with the front also does not conflict, enters the BOOST_1_54_0:

sudo./b2--with-thread stage cxxflags= "-std=c++11"

Then copy the Stage/lib under Libboost_thread to/usr/local/lib.

If you do not do this well, there will be no problem with the Libboost_thread library after compiling.

Next, or boost, this time need to change the source:

Edit/usr/local/include/boost/atomic/atomic.hpp, add #include <stdint.h>

Otherwise the error may be:
"/usr/local/include/boost/atomic/atomic.hpp:202:43:error:invalid type in declaration before '; ' token typedef atomic& Lt;uintptr_t> atomic_uintptr_t; "

Then, download Console_bridge, the compilation process needs to enter/usr/local download:

git clone https://github.com/ros/console_bridge.git

Then compile:

CD Console_bridge
sudo mkdir build
CD Build
sudo cmake.
sudo make
sudo make install

will be installed under/usr/lcoal, however, we install this thing also need to modify one ha:

Edit/usr/local/include/console_bridge/console.h

Replace the inside of the Console_bridge_log with log (the Match case must be marked with a check mark, meaning case-sensitive), as if altogether replaced 5, 6, 7, 8 bar, not many.

This is the Console_bridge_logwarn and other functions into the Logwarn, and the ROS source code corresponding. Otherwise compile class-loader will be reported that function Logwarn and other functions are undefined.

Finally, you can compile the following:

CD ~/ROS_CATKIN_WS

./src/catkin/bin/catkin_make_isolated--install-dcmake_build_type=release

After the compilation succeeds, set the environment variable:
SOURCE ~/ros_catkin_ws/install_isolated/setup.bash

Isn't that a few questions?! library not installed, the library version is not correct, the installation location is wrong, at most is to change a few lines of the source, what ╮(╯▽╰)╭ (i,, I will blow a NB ....) Compile this scrap did not know how long time) hard work hard again haha

ubuntu15.04 + ROS Jade

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.