uzh-rpg/rpg_svo

catkin_make fails on ubuntu 16.04 LTS running ROS Kinetic

ktiwari9 opened this issue · 1 comments

Hi there,
Trying to compile rpg_svo on Ubuntu 16.04 LTS with ROS Kinetic. Keep getting undefined reference errors from opencv_highgui as follows (There are over 3000 undefined reference errors but only showing some for lack of space):

[ 86%] Building CXX object visual_odom/rpg_svo/svo/CMakeFiles/test_matcher.dir/test/test_matcher.cpp.o
[ 87%] Building CXX object visual_odom/rpg_svo/svo/CMakeFiles/test_feature_detection.dir/test/test_feature_detection.cpp.o
Scanning dependencies of target svo_visualizer
[ 89%] Building CXX object visual_odom/rpg_svo/svo_ros/CMakeFiles/svo_visualizer.dir/src/visualizer.cpp.o
[ 90%] Linking CXX executable /home/kshitij/catkin_whiskeye/devel/lib/svo/test_feature_align
/usr/local/lib/libopencv_highgui.so.2.4.13: undefined reference to `QWidget::isFullScreen() const@Qt_5'
/usr/local/lib/libopencv_highgui.so.2.4.13: undefined reference to `QAbstractSlider::setMinimum(int)@Qt_5'
/usr/local/lib/libopencv_highgui.so.2.4.13: undefined reference to `non-virtual thunk to QBoxLayout::minimumSize() const@Qt_5'
/usr/local/lib/libopencv_highgui.so.2.4.13: undefined reference to `QWidget::hasHeightForWidth() const@Qt_5'
/usr/local/lib/libopencv_highgui.so.2.4.13: undefined reference to `QFrame::changeEvent(QEvent*)@Qt_5'
/usr/local/lib/libopencv_highgui.so.2.4.13: undefined reference to `QObject::QObject(QObject*)@Qt_5'
/usr/local/lib/libopencv_highgui.so.2.4.13: undefined reference to `QFutureInterfaceBase::setThreadPool(QThreadPool*)@Qt_5'
/usr/local/lib/libopencv_highgui.so.2.4.13: undefined reference to `QWidget::closeEvent(QCloseEvent*)@Qt_5'
/usr/local/lib/libopencv_highgui.so.2.4.13: undefined reference to `QWidget::hideEvent(QHideEvent*)@Qt_5'
/usr/local/lib/libopencv_highgui.so.2.4.13: undefined reference to `QAbstractSlider::value() const@Qt_5'
/usr/local/lib/libopencv_highgui.so.2.4.13: undefined reference to `QObject::connectNotify(QMetaMethod const&)@Qt_5'
/usr/local/lib/libopencv_highgui.so.2.4.13: undefined reference to `QPen::QPen(QBrush const&, double, Qt::PenStyle, Qt::PenCapStyle, Qt::PenJoinStyle)@Qt_5'
/usr/local/lib/libopencv_highgui.so.2.4.13: undefined reference to `QWaitCondition::wait(QMutex*, unsigned long)@Qt_5'
/usr/local/lib/libopencv_highgui.so.2.4.13: undefined reference to `QObject::customEvent(QEvent*)@Qt_5'
/usr/local/lib/libopencv_highgui.so.2.4.13: undefined reference to `QWidget::showNormal()@Qt_5'
/usr/local/lib/libopencv_highgui.so.2.4.13: undefined reference to `QBoxLayout::minimumSize() const@Qt_5'
.......................
/usr/local/lib/libopencv_highgui.so.2.4.13: undefined reference to `QFutureInterfaceBase::QFutureInterfaceBase(QFutureInterfaceBase const&)@Qt_5'
collect2: error: ld returned 1 exit status
visual_odom/rpg_svo/svo/CMakeFiles/test_depth_filter.dir/build.make:223: recipe for target '/home/kshitij/catkin_whiskeye/devel/lib/svo/test_depth_filter' failed
make[2]: *** [/home/kshitij/catkin_whiskeye/devel/lib/svo/test_depth_filter] Error 1
CMakeFiles/Makefile2:4171: recipe for target 'visual_odom/rpg_svo/svo/CMakeFiles/test_depth_filter.dir/all' failed
make[1]: *** [visual_odom/rpg_svo/svo/CMakeFiles/test_depth_filter.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2
Base path: /home/kshitij/catkin_whiskeye
Source space: /home/kshitij/catkin_whiskeye/src
Build space: /home/kshitij/catkin_whiskeye/build
Devel space: /home/kshitij/catkin_whiskeye/devel
Install space: /home/kshitij/catkin_whiskeye/install
####
#### Running command: "make cmake_check_build_system" in "/home/kshitij/catkin_whiskeye/build"
####
####
#### Running command: "make -j8 -l8" in "/home/kshitij/catkin_whiskeye/build"
####
Invoking "make -j8 -l8" failed

Already tested my Qt verion as follows:

kshitij@kshitij-XPS:~/catkin_whiskeye$ qmake --version
QMake version 3.0
Using Qt version 5.5.1 in /usr/lib/x86_64-linux-gnu

Am I missing something or perhaps using a wrong version of something? Would appreciate any kind of help.

use opencv3.2 instead