Robotics StackExchange | Archived questions

Qt4 errors when compiling rgbdslam_v2 on the Jetson TK1

I am trying to make RGBDSLAM_v2 running on my Jetson Tk1. My problems are related to QT4:

After setting up my new Jetson Tk1 board, rgbdslam was able to find the preinstalled Qt4 version. Unfortunately I run in problems since certain typedefs in the QT4 package compile as 'float' in ARM and RGBDSLAM_V2 depends on these typedefs being 'double'. This leads to my first question:

1. How to correctly compile QT4 from source in order to avoid the conflict between the OpenGL type definitions errors (see below).

In my proceeding so far I have been considering all the solution approaches given in different existing threads. However, with the suggested options it has not been possible to make rgbdslam running.
This is what I have done until now:

  1. Installed rgbdslam following: (https://github.com/felixendres/rgbdslam_v2)
  2. After trying catkinmake I encounted the already known OpenGL type definitions error as stated here: http://answers.ros.org/question/232225/errors-while-installing-rgbdslam-on-nvidia-jetson-tk1/ and here http://answers.ros.org/question/234008/compiler-errors-while-making-rgbdslam-on-nvidia-jetson-tk1/ and here: https://github.com/felixendres/rgbdslamv2/issues/17

  3. I tried to recompile QT4 for ARM with the typedef 'qreal' set to 'double' using the following instructions. https://github.com/kbalisciano/qt and https://simplifyrobotics.wordpress.com/2016/04/03/rgbdslam-tut/
    When trying to recompile QT4 as described (using configure with -DQTCOORDTYPE=double) I got this error:
    https://bugreports.qt.io/browse/QTBUG-33781
    and fixed it by changing source code in qtbase/src/gui/paining/qdrawhelper_p.h (explicit cast to float) as mentioned under the same link.

  4. After successful recompilation of QT4 I tried to make rgbdslam again resulting in the same type defintion error as before.

  5. I cleaned my system by first deleting QT4 and then reinstalling it via the apt-get command:

    sudo apt-get install libqt4-*

This in turn causes another problem to occur, which brings me to my second question:

2. Which exact version of QT4 works for rgbdslam_v2?

Now when trying to catkinmake rgbdslamv2 I get this compilation error:

COULD NOT find Qt4 (missing: QTMOCEXECUTABLE QTRCCEXECUTABLE QTUICEXECUTABLE) (found version ''4.8.7'')

So at the moment it seems that I am using the wrong QT4 version.

3. Assuming I have installed the correct version of Qt4, what is the correct way to link RGBDSLAM to the new Qt.

System Configuration:
Ubuntu 14.04
ROS Indigo
2GB swap enabled

I am struggling with these issues for a while now and really running out of options ... so any help is highly appreciated.

Asked by Gru on 2016-09-09 06:56:01 UTC

Comments

Answers