Unsolved QOpenGLFunctions_3_2_Core problems on ARM Platforms
-
Hi everyone.
I've trying to compile COLMAP (a photogrammetry application) over a Jetson Nano development Kit (ARM based SOC).
It gives me the next error:
Scanning dependencies of target colmap
[ 54%] Building CXX object src/CMakeFiles/colmap.dir/ui/automatic_reconstruction_widget.cc.o
In file included from /home/dani/colmap/src/ui/main_window.h:51:0,
from /home/dani/colmap/src/ui/automatic_reconstruction_widget.cc:33:
/home/dani/colmap/src/ui/model_viewer_widget.h:55:63: error: expected class-name before ‘{’ token
protected QOpenGLFunctions_3_2_Core {
^
src/CMakeFiles/colmap.dir/build.make:1718: recipe for target 'src/CMakeFiles/colmap.dir/ui/automatic_reconstruction_widget.cc.o' failed
make[2]: *** [src/CMakeFiles/colmap.dir/ui/automatic_reconstruction_widget.cc.o] Error 1
CMakeFiles/Makefile2:1000: recipe for target 'src/CMakeFiles/colmap.dir/all' failed
make[1]: *** [src/CMakeFiles/colmap.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2I thought that it could be an error from the source code, although it compiles without problems on a linux 18.04 x64 arch.
So I tried with other programs using QOpenGLFunctions_3_2_Core for example https://github.com/dalboris/minimal-qt-opengl-sketch-app.git, and I get similar errors:
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -fPIC -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -isystem /usr/include/arm-linux-gnueabihf/qt5 -isystem /usr/include/arm-linux-gnueabihf/qt5/QtOpenGL -isystem /usr/include/arm-linux-gnueabihf/qt5/QtWidgets -isystem /usr/include/arm-linux-gnueabihf/qt5/QtGui -isystem /usr/include/arm-linux-gnueabihf/qt5/QtCore -I. -I/usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++ -o main.o main.cpp
In file included from main.cpp:1:0:
OpenGLWidget.h:13:9: error: ‘QOpenGLFunctions_3_2_Core’ does not name a type
typedef QOpenGLFunctions_3_2_Core OpenGLFunctions;
^~~~~~~~~~~~~~~~~~~~~~~~~
OpenGLWidget.h:31:5: error: ‘OpenGLFunctions’ does not name a type
OpenGLFunctions * openGLFunctions() const;
^~~~~~~~~~~~~~~
Makefile:334: recipe for target 'main.o' failed
make: *** [main.o] Error 1
At last, for being sure that it was not a problem with the Jetson Nano image (a modified ubuntu 18.04 linux) I tried to compile on a Raspberry Pi 3, running Raspbian stretch, with the same results.So, my questions are:
Does anybody know if there is any problem/bug/ limitation using QOpenGLFunctions_3_2_Core on ARM platforms?
Does anybody know how to solve it?Thanks in advance,
Dani -
@dxpolo Maybe the device you're building for does not support OpenGL 3.2?
-
@dxpolo were you able to find a solution to this problem? I am facing the exact same issue.
-
@jsulm the Jetson Nano has OpenGL 4.6:
khaled@jetson-nano:~/Repositories/colmap/build$ glxinfo | grep "OpenGL version" OpenGL version string: 4.6.0 NVIDIA 32.2.3