ROS Kinetic on Fedora 25

Hello all,

installing ROS kinetic proves to be a hassle compared to indigo which was so straight forward and nice.

First step for installing kinetic on fedora 25 was to look at this link

We will need to use qt5 so let’s have qmake linked to qt5 instead of qt4 using this simlink : sudo ln -s /usr/bin/qmake-qt5 /usr/bin/qmake

now, opencv3 comes with kinetic but we don’t need it since it is in the repo now. Remove opencv3 and just install it from the repo -> rosinstall_generator-2.7 desktop --rosdistro kinetic --deps --wet-only --tar --exclude opencv3 > kinetic-desktop-wet.rosinstall

Now everything compiled fine once you have the deps. But I had a lot of problem with segfault for program that used QT4 and QT5 at the same time :(. So I’m hunting that.

This is valgrind during the segfault :

[malcolm@localhost perception_oru]$ rosrun --prefix valgrind ndt_map test_map_topic
==2592== Memcheck, a memory error detector
==2592== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.
==2592== Using Valgrind-3.12.0 and LibVEX; rerun with -h for copyright info
==2592== Command: /home/malcolm/ros_catkin_ws/kinetic_ws/devel/lib/ndt_map/test_map_topic
==2592== Process terminating with default action of signal 11 (SIGSEGV)
==2592== Bad permissions for mapped region at address 0x34E97B00
==2592== at 0x5908C138: ??? (in /usr/lib64/
==2592== by 0x5903CFE8: ??? (in /usr/lib64/
==2592== by 0x40109C9: call_init.part.0 (in /usr/lib64/
==2592== by 0x4010ADA: _dl_init (in /usr/lib64/
==2592== by 0x4000D09: ??? (in /usr/lib64/
==2592== HEAP SUMMARY:
==2592== in use at exit: 22,408 bytes in 24 blocks
==2592== total heap usage: 29 allocs, 5 frees, 103,252 bytes allocated
==2592== LEAK SUMMARY:
==2592== definitely lost: 0 bytes in 0 blocks
==2592== indirectly lost: 0 bytes in 0 blocks
==2592== possibly lost: 0 bytes in 0 blocks
==2592== still reachable: 22,408 bytes in 24 blocks
==2592== suppressed: 0 bytes in 0 blocks
==2592== Rerun with --leak-check=full to see details of leaked memory
==2592== For counts of detected and suppressed errors, rerun with: -v
==2592== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
Segmentation fault (core dumped)

According to the migration page, this can happen is a package link against qt4 and qt5. It’s given for Ubuntu but I wasn’t able to find against which qt lib VT and PCL where compiled. OpenCV3 is with qt5 and RVIZ also they wer enot the problem.

I thus compiled VTK and PCL from source while configurating them to compile against qt5.
use ccmake to toggle VTK_Group_Qt to ON and then VTK_QT_VERSION to 5.

And now it all works 🙂

How to update the workspace

Save the old config: mv -i kinetic-desktop-wet.rosinstall kinetic-desktop-wet.rosinstall.old

Get the new stuff: rosinstall_generator-2.7 desktop --rosdistro kinetic --deps --wet-only --tar --exclude opencv3 > kinetic-desktop-wet.rosinstall

Check the diff: diff -u kinetic-desktop-wet.rosinstall kinetic-desktop-full-wet.rosinstall.old

Merge: wstool merge -t src kinetic-desktop-full-wet.rosinstall

Update, I usually use delete and replace: wstool update -t src

Rebuild: ./src/catkin/bin/catkin_make_isolated --install

Side notes

Stage given by ros doesn’t compile with gcc6 but 17 days ago as of this post the repo accepted a 1 year old merge request that should solve the compile bug. Thus one can probably exclude stage from the install and the full should work. To be tested


3 thoughts on “ROS Kinetic on Fedora 25

  1. I’m trying to do the exact same thing today.
    I am not having nearly as much luck as you though. I am getting compile errors on qt_gui_cpp as well as some others after that.

    Would you mind posting your complete process for compiling ROS on Fedora 25?

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s