moveit setup assistant segfault on jessie
Hey guys,
I have recently tried to install and run moveit on my setup. I have a fresh ros install on updated Debian Jessie in chroot. I have installed ROS kinetic from packages and Moveit! from sources as per instructions here: http://moveit.ros.org/install/source/ . When i try to run moveit_setup_assistant it segfaults:
# rosrun moveit_setup_assistant moveit_setup_assistant
Segmentation fault (core dumped)
GDB:
Reading symbols from
/root/ws_moveit/devel/lib/moveit_setup_assistant/moveit_setup_assistant...(no
debugging symbols found)...done.
Starting program:
/root/ws_moveit/devel/lib/moveit_setup_assistant/moveit_setup_assistant
__name:=moveit_setup_assistant
__log:=/root/.ros/log/f3dc741a-bcc4-11e6-9836-a44e31cd9234/moveit_setup_assistant-1.log
[tcsetpgrp failed in terminal_inferior: Inappropriate ioctl for device]
[tcsetpgrp failed in terminal_inferior: Inappropriate ioctl for device]
[tcsetpgrp failed in terminal_inferior: Inappropriate ioctl for device]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[tcsetpgrp failed in terminal_inferior: Inappropriate ioctl for device]
Program received signal SIGSEGV, Segmentation fault.
0x00007fffcb12fdbc in ?? () from /usr/lib/x86_64-linux-gnu/libQtTest.so.4
(gdb) where
#0 0x00007fffcb12fdbc in ?? () from /usr/lib/x86_64-linux-gnu/libQtTest.so.4
#1 0x00007ffff7dea9ba in call_init (l=<optimized out>, argc=argc@entry=3,
argv=argv@entry=0x7fffffffdb98, env=env@entry=0x7fffffffdbb8) at
dl-init.c:78
#2 0x00007ffff7deaaa3 in call_init (env=0x7fffffffdbb8, argv=0x7fffffffdb98,
argc=3, l=<optimized out>) at dl-init.c:36
#3 _dl_init (main_map=0x7ffff7ffe1a8, argc=3, argv=0x7fffffffdb98,
env=0x7fffffffdbb8) at dl-init.c:126
#4 0x00007ffff7ddd1ca in _dl_start_user () from /lib64/ld-linux-x86-64.so.2
#5 0x0000000000000003 in ?? ()
#6 0x00007fffffffde2f in ?? ()
#7 0x00007fffffffde77 in ?? ()
#8 0x00007fffffffde96 in ?? ()
#9 0x0000000000000000 in ?? ()
(gdb)
I have found somewhere that someone with similar problem, but with rviz, had his rviz binary linked against Qt4 and managed to fix it somehow. It seems that it might also be a case here:
# ldd ./devel/.private/moveit_setup_assistant/lib/moveit_setup_assistant/moveit_setup_assistant | grep Qt
libQt5Widgets.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 (0x00007f35ffc4d000)
libQt5Gui.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 (0x00007f35f0675000)
libQt5Core.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 (0x00007f35eff38000)
libQtGui.so.4 => /usr/lib/x86_64-linux-gnu/libQtGui.so.4 (0x00007f35d3ee2000)
libQtTest.so.4 => /usr/lib/x86_64-linux-gnu/libQtTest.so.4 (0x00007f35d3cbb000)
libQtCore.so.4 => /usr/lib/x86_64-linux-gnu/libQtCore.so.4 (0x00007f35d37cc000)
Do you guys have any ideas how I can proceed with this information?
UPDATE
Unfortunately I have not been able to really solve the problem. I guess I am not a linux-ninja enough to get this done. For me it seems like most packages in moveit are not linked properly and I was not able to locate one that initiates this dependency.
In the meantime moveit
was released as a binary package. I decided to try it out, but it seems also not to be working:
# ldd /opt/ros/kinetic/lib/moveit_setup_assistant/moveit_setup_assistant | grep Qt
libQt5Widgets.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 (0x00007f9ba31f8000)
libQt5Gui.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 (0x00007f9b93d29000)
libQt5Core.so.5 => /usr/lib/x86_64-linux-gnu/
I ended up installing Xenial in the chroot. Jessie was also a chrooted system, so this is not such a big change for me. moveit_setup_assitant
from the binary package ...
Maybe it is not a MoveIt! bug. It seems
ros-kinetic-opencv3
in Jessie is compiled with Qt4 and MoveIt! depends on this library.