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== ==2592== ==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/libQtXmlPatterns.so.4.8.7) ==2592== by 0x5903CFE8: ??? (in /usr/lib64/libQtXmlPatterns.so.4.8.7) ==2592== by 0x40109C9: call_init.part.0 (in /usr/lib64/ld-2.24.so) ==2592== by 0x4010ADA: _dl_init (in /usr/lib64/ld-2.24.so) ==2592== by 0x4000D09: ??? (in /usr/lib64/ld-2.24.so) ==2592== ==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== ==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== ==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
ON and then
And now it all works 🙂