Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stellarium 1.0 fails to build with openGL ES and Qt6 #2753

Closed
ggardet opened this issue Oct 17, 2022 · 15 comments · Fixed by #2970
Closed

Stellarium 1.0 fails to build with openGL ES and Qt6 #2753

ggardet opened this issue Oct 17, 2022 · 15 comments · Fixed by #2970
Assignees
Labels
infrastructure Infrastructure related issues qt Issues, related to Qt framework
Milestone

Comments

@ggardet
Copy link

ggardet commented Oct 17, 2022

Expected Behaviour

Stellarium 1.0 should build with openGL ES and Qt6.

Actual Behaviour

Build fails on openSUSE Tubmleweed aarch64 with openGL ES and Qt6.

[  585s] In file included from /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:22:
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/GLFuncs.hpp:32:1: error: expected class-name before '{' token
[  585s]    32 | {
[  585s]       | ^
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/GLFuncs.hpp: In member function 'void GLExtFuncs::init(QOpenGLContext*)':
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/GLFuncs.hpp:42:25: error: 'initializeOpenGLFunctions' was not declared in this scope
[  585s]    42 |                         initializeOpenGLFunctions();
[  585s]       |                         ^~~~~~~~~~~~~~~~~~~~~~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp: In member function 'void Frustum::drawFrustum() const':
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:184:21: error: 'class GLExtFuncs' has no member named 'glColor3f'
[  585s]   184 |         glExtFuncs->glColor3f(0.0f, 0.0f, 1.0f);
[  585s]       |                     ^~~~~~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:186:21: error: 'class GLExtFuncs' has no member named 'glBegin'
[  585s]   186 |         glExtFuncs->glBegin(GL_LINE_LOOP);
[  585s]       |                     ^~~~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:188:29: error: 'class GLExtFuncs' has no member named 'glVertex3f'
[  585s]   188 |                 glExtFuncs->glVertex3f(ntl.v[0],ntl.v[1],ntl.v[2]);
[  585s]       |                             ^~~~~~~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:189:29: error: 'class GLExtFuncs' has no member named 'glVertex3f'
[  585s]   189 |                 glExtFuncs->glVertex3f(ntr.v[0],ntr.v[1],ntr.v[2]);
[  585s]       |                             ^~~~~~~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:190:29: error: 'class GLExtFuncs' has no member named 'glVertex3f'
[  585s]   190 |                 glExtFuncs->glVertex3f(nbr.v[0],nbr.v[1],nbr.v[2]);
[  585s]       |                             ^~~~~~~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:191:29: error: 'class GLExtFuncs' has no member named 'glVertex3f'
[  585s]   191 |                 glExtFuncs->glVertex3f(nbl.v[0],nbl.v[1],nbl.v[2]);
[  585s]       |                             ^~~~~~~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:192:21: error: 'class GLExtFuncs' has no member named 'glEnd'
[  585s]   192 |         glExtFuncs->glEnd();
[  585s]       |                     ^~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:194:21: error: 'class GLExtFuncs' has no member named 'glBegin'
[  585s]   194 |         glExtFuncs->glBegin(GL_LINE_LOOP);
[  585s]       |                     ^~~~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:196:29: error: 'class GLExtFuncs' has no member named 'glVertex3f'
[  585s]   196 |                 glExtFuncs->glVertex3f(ftr.v[0],ftr.v[1],ftr.v[2]);
[  585s]       |                             ^~~~~~~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:197:29: error: 'class GLExtFuncs' has no member named 'glVertex3f'
[  585s]   197 |                 glExtFuncs->glVertex3f(ftl.v[0],ftl.v[1],ftl.v[2]);
[  585s]       |                             ^~~~~~~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:198:29: error: 'class GLExtFuncs' has no member named 'glVertex3f'
[  585s]   198 |                 glExtFuncs->glVertex3f(fbl.v[0],fbl.v[1],fbl.v[2]);
[  585s]       |                             ^~~~~~~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:199:29: error: 'class GLExtFuncs' has no member named 'glVertex3f'
[  585s]   199 |                 glExtFuncs->glVertex3f(fbr.v[0],fbr.v[1],fbr.v[2]);
[  585s]       |                             ^~~~~~~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:200:21: error: 'class GLExtFuncs' has no member named 'glEnd'
[  585s]   200 |         glExtFuncs->glEnd();
[  585s]       |                     ^~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:202:21: error: 'class GLExtFuncs' has no member named 'glBegin'
[  585s]   202 |         glExtFuncs->glBegin(GL_LINE_LOOP);
[  585s]       |                     ^~~~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:204:29: error: 'class GLExtFuncs' has no member named 'glVertex3f'
[  585s]   204 |                 glExtFuncs->glVertex3f(nbl.v[0],nbl.v[1],nbl.v[2]);
[  585s]       |                             ^~~~~~~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:205:29: error: 'class GLExtFuncs' has no member named 'glVertex3f'
[  585s]   205 |                 glExtFuncs->glVertex3f(nbr.v[0],nbr.v[1],nbr.v[2]);
[  585s]       |                             ^~~~~~~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:206:29: error: 'class GLExtFuncs' has no member named 'glVertex3f'
[  585s]   206 |                 glExtFuncs->glVertex3f(fbr.v[0],fbr.v[1],fbr.v[2]);
[  585s]       |                             ^~~~~~~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:207:29: error: 'class GLExtFuncs' has no member named 'glVertex3f'
[  585s]   207 |                 glExtFuncs->glVertex3f(fbl.v[0],fbl.v[1],fbl.v[2]);
[  585s]       |                             ^~~~~~~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:208:21: error: 'class GLExtFuncs' has no member named 'glEnd'
[  585s]   208 |         glExtFuncs->glEnd();
[  585s]       |                     ^~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:210:21: error: 'class GLExtFuncs' has no member named 'glBegin'
[  585s]   210 |         glExtFuncs->glBegin(GL_LINE_LOOP);
[  585s]       |                     ^~~~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:212:29: error: 'class GLExtFuncs' has no member named 'glVertex3f'
[  585s]   212 |                 glExtFuncs->glVertex3f(ntr.v[0],ntr.v[1],ntr.v[2]);
[  585s]       |                             ^~~~~~~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:213:29: error: 'class GLExtFuncs' has no member named 'glVertex3f'
[  585s]   213 |                 glExtFuncs->glVertex3f(ntl.v[0],ntl.v[1],ntl.v[2]);
[  585s]       |                             ^~~~~~~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:214:29: error: 'class GLExtFuncs' has no member named 'glVertex3f'
[  585s]   214 |                 glExtFuncs->glVertex3f(ftl.v[0],ftl.v[1],ftl.v[2]);
[  585s]       |                             ^~~~~~~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:215:29: error: 'class GLExtFuncs' has no member named 'glVertex3f'
[  585s]   215 |                 glExtFuncs->glVertex3f(ftr.v[0],ftr.v[1],ftr.v[2]);
[  585s]       |                             ^~~~~~~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:216:21: error: 'class GLExtFuncs' has no member named 'glEnd'
[  585s]   216 |         glExtFuncs->glEnd();
[  585s]       |                     ^~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:218:21: error: 'class GLExtFuncs' has no member named 'glBegin'
[  585s]   218 |         glExtFuncs->glBegin(GL_LINE_LOOP);
[  585s]       |                     ^~~~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:220:29: error: 'class GLExtFuncs' has no member named 'glVertex3f'
[  585s]   220 |                 glExtFuncs->glVertex3f(ntl.v[0],ntl.v[1],ntl.v[2]);
[  585s]       |                             ^~~~~~~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:221:29: error: 'class GLExtFuncs' has no member named 'glVertex3f'
[  585s]   221 |                 glExtFuncs->glVertex3f(nbl.v[0],nbl.v[1],nbl.v[2]);
[  585s]       |                             ^~~~~~~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:222:29: error: 'class GLExtFuncs' has no member named 'glVertex3f'
[  585s]   222 |                 glExtFuncs->glVertex3f(fbl.v[0],fbl.v[1],fbl.v[2]);
[  585s]       |                             ^~~~~~~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:223:29: error: 'class GLExtFuncs' has no member named 'glVertex3f'
[  585s]   223 |                 glExtFuncs->glVertex3f(ftl.v[0],ftl.v[1],ftl.v[2]);
[  585s]       |                             ^~~~~~~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:224:21: error: 'class GLExtFuncs' has no member named 'glEnd'
[  585s]   224 |         glExtFuncs->glEnd();
[  585s]       |                     ^~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:226:21: error: 'class GLExtFuncs' has no member named 'glBegin'
[  585s]   226 |         glExtFuncs->glBegin(GL_LINE_LOOP);
[  585s]       |                     ^~~~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:228:29: error: 'class GLExtFuncs' has no member named 'glVertex3f'
[  585s]   228 |                 glExtFuncs->glVertex3f(nbr.v[0],nbr.v[1],nbr.v[2]);
[  585s]       |                             ^~~~~~~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:229:29: error: 'class GLExtFuncs' has no member named 'glVertex3f'
[  585s]   229 |                 glExtFuncs->glVertex3f(ntr.v[0],ntr.v[1],ntr.v[2]);
[  585s]       |                             ^~~~~~~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:230:29: error: 'class GLExtFuncs' has no member named 'glVertex3f'
[  585s]   230 |                 glExtFuncs->glVertex3f(ftr.v[0],ftr.v[1],ftr.v[2]);
[  585s]       |                             ^~~~~~~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:231:29: error: 'class GLExtFuncs' has no member named 'glVertex3f'
[  585s]   231 |                 glExtFuncs->glVertex3f(fbr.v[0],fbr.v[1],fbr.v[2]);
[  585s]       |                             ^~~~~~~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:232:21: error: 'class GLExtFuncs' has no member named 'glEnd'
[  585s]   232 |         glExtFuncs->glEnd();
[  585s]       |                     ^~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:235:21: error: 'class GLExtFuncs' has no member named 'glBegin'
[  585s]   235 |         glExtFuncs->glBegin(GL_LINES);
[  585s]       |                     ^~~~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:239:29: error: 'class GLExtFuncs' has no member named 'glVertex3f'
[  585s]   239 |                 glExtFuncs->glVertex3f(a.v[0],a.v[1],a.v[2]);
[  585s]       |                             ^~~~~~~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:240:29: error: 'class GLExtFuncs' has no member named 'glVertex3f'
[  585s]   240 |                 glExtFuncs->glVertex3f(b.v[0],b.v[1],b.v[2]);
[  585s]       |                             ^~~~~~~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:245:29: error: 'class GLExtFuncs' has no member named 'glVertex3f'
[  585s]   245 |                 glExtFuncs->glVertex3f(a.v[0],a.v[1],a.v[2]);
[  585s]       |                             ^~~~~~~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:246:29: error: 'class GLExtFuncs' has no member named 'glVertex3f'
[  585s]   246 |                 glExtFuncs->glVertex3f(b.v[0],b.v[1],b.v[2]);
[  585s]       |                             ^~~~~~~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:251:29: error: 'class GLExtFuncs' has no member named 'glVertex3f'
[  585s]   251 |                 glExtFuncs->glVertex3f(a.v[0],a.v[1],a.v[2]);
[  585s]       |                             ^~~~~~~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:252:29: error: 'class GLExtFuncs' has no member named 'glVertex3f'
[  585s]   252 |                 glExtFuncs->glVertex3f(b.v[0],b.v[1],b.v[2]);
[  585s]       |                             ^~~~~~~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:257:29: error: 'class GLExtFuncs' has no member named 'glVertex3f'
[  585s]   257 |                 glExtFuncs->glVertex3f(a.v[0],a.v[1],a.v[2]);
[  585s]       |                             ^~~~~~~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:258:29: error: 'class GLExtFuncs' has no member named 'glVertex3f'
[  585s]   258 |                 glExtFuncs->glVertex3f(b.v[0],b.v[1],b.v[2]);
[  585s]       |                             ^~~~~~~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:263:29: error: 'class GLExtFuncs' has no member named 'glVertex3f'
[  585s]   263 |                 glExtFuncs->glVertex3f(a.v[0],a.v[1],a.v[2]);
[  585s]       |                             ^~~~~~~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:264:29: error: 'class GLExtFuncs' has no member named 'glVertex3f'
[  585s]   264 |                 glExtFuncs->glVertex3f(b.v[0],b.v[1],b.v[2]);
[  585s]       |                             ^~~~~~~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:269:29: error: 'class GLExtFuncs' has no member named 'glVertex3f'
[  585s]   269 |                 glExtFuncs->glVertex3f(a.v[0],a.v[1],a.v[2]);
[  585s]       |                             ^~~~~~~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:270:29: error: 'class GLExtFuncs' has no member named 'glVertex3f'
[  585s]   270 |                 glExtFuncs->glVertex3f(b.v[0],b.v[1],b.v[2]);
[  585s]       |                             ^~~~~~~~~~
[  585s] /home/abuild/rpmbuild/BUILD/stellarium-1.0/plugins/Scenery3d/src/Frustum.cpp:271:21: error: 'class GLExtFuncs' has no member named 'glEnd'
[  585s]   271 |         glExtFuncs->glEnd();
[  585s]       |                     ^~~~~
[  585s] make[2]: *** [plugins/Scenery3d/src/CMakeFiles/Scenery3d-static.dir/build.make:115: plugins/Scenery3d/src/CMakeFiles/Scenery3d-static.dir/Frustum.cpp.o] Error 1

Steps to reproduce

Try to build with openGL ES and Qt6.

System

  • Stellarium version: 1.0
  • Operating system: openSUSE Tumbleweed aarch64
  • Graphics Card: N/A
  • Screen type (if applicable): N/A

Logfile

Log provided above.

@github-actions
Copy link

Thanks for adding your first issue to Stellarium. If you have questions, please do not hesitate to contact us.

@gzotti
Copy link
Member

gzotti commented Oct 17, 2022

Simply use Qt5 for pure GL ES2.0 systems. Functionality is the same.

@alex-w
Copy link
Member

alex-w commented Oct 22, 2022

@ggardet please share cmake configure options

@alex-w alex-w added the infrastructure Infrastructure related issues label Oct 22, 2022
@10110111
Copy link
Contributor

I think it's not Stellarium configuration that leads to this, but rather Qt's: when QT_OPENGL_ES_2 is defined, Qt6 no longer provides functions specific to desktop OpenGL. And the ones mentioned above are not even present in Core profiles of desktop GL.

@alex-w alex-w added the qt Issues, related to Qt framework label Oct 22, 2022
@alex-w
Copy link
Member

alex-w commented Oct 22, 2022

I don’t want to guess, I want to see the facts :)

@10110111
Copy link
Contributor

Well the OP says for itself:

openSUSE Tubmleweed aarch64 with openGL ES and Qt6

@alex-w
Copy link
Member

alex-w commented Oct 22, 2022

Well the OP says for itself:

openSUSE Tubmleweed aarch64 with openGL ES and Qt6

Well, we got few years ago the situation, when user try compile Stellarium and Qt in OpenGL ES mode on Gentoo Linux with full OpenGL environment…

@ggardet
Copy link
Author

ggardet commented Oct 24, 2022

@ggardet please share cmake configure options

Cmake command line:

[  119s] + /usr/bin/cmake /home/abuild/rpmbuild/BUILD/stellarium-1.0/. '-GUnix Makefiles' -DCMAKE_INSTALL_PREFIX:PATH=/usr -DINCLUDE_INSTALL_DIR:PATH=/usr/include -DLIB_INSTALL_DIR:PATH=/usr/lib64 -DSYSCONF_INSTALL_DIR:PATH=/etc -DSHARE_INSTALL_PREFIX:PATH=/usr/share -DCMAKE_INSTALL_LIBDIR:PATH=lib64 -DCMAKE_INSTALL_LIBEXECDIR=/usr/libexec -DCMAKE_BUILD_TYPE=RelWithDebInfo '-DCMAKE_C_FLAGS=-mbranch-protection=standard -O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -g' '-DCMAKE_CXX_FLAGS=-mbranch-protection=standard -O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -g' '-DCMAKE_Fortran_FLAGS=-mbranch-protection=standard -O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -g' '-DCMAKE_EXE_LINKER_FLAGS=-flto=auto -Wl,--as-needed -Wl,--no-undefined -Wl,-z,now' '-DCMAKE_MODULE_LINKER_FLAGS=-flto=auto -Wl,--as-needed' '-DCMAKE_SHARED_LINKER_FLAGS=-flto=auto -Wl,--as-needed -Wl,--no-undefined -Wl,-z,now' -DLIB_SUFFIX=64 -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DBUILD_SHARED_LIBS:BOOL=ON -DBUILD_STATIC_LIBS:BOOL=OFF -DCMAKE_COLOR_MAKEFILE:BOOL=OFF -DCMAKE_INSTALL_DO_STRIP:BOOL=OFF -DCMAKE_MODULES_INSTALL_DIR=/usr/lib64/cmake/stellarium -DCMAKE_BUILD_TYPE=Release -DCPM_USE_LOCAL_PACKAGES=yes -DBUILD_SHARED_LIBS=OFF -DENABLE_SHOWMYSKY=OFF -DENABLE_XLSX=OFF

Which outputs:

[  119s] -- Found CMake 3.24.2
[  120s] -- The C compiler identification is GNU 12.2.1
[  121s] -- The CXX compiler identification is GNU 12.2.1
[  121s] -- Detecting C compiler ABI info
[  122s] -- Detecting C compiler ABI info - done
[  122s] -- Check for working C compiler: /usr/bin/cc - skipped
[  122s] -- Detecting C compile features
[  122s] -- Detecting C compile features - done
[  122s] -- Detecting CXX compiler ABI info
[  123s] -- Detecting CXX compiler ABI info - done
[  123s] -- Check for working CXX compiler: /usr/bin/c++ - skipped
[  123s] -- Detecting CXX compile features
[  123s] -- Detecting CXX compile features - done
[  124s] -- Performing Test HAVE_STDATOMIC
[  126s] -- Performing Test HAVE_STDATOMIC - Success
[  126s] -- Platform: Linux-6.0.2-1-default (aarch64)
[  126s] -- Building Stellarium 1.0 (v1.22.3; Mode: Release)
[  126s] -- Found Threads: TRUE  
[  126s] -- Found Qt6: /usr/lib64/qt6/bin/qmake (found suitable version 6.4.0)
[  126s] -- Performing Test HAVE_EGL
[  128s] -- Performing Test HAVE_EGL - Success
[  128s] -- Found EGL: /usr/include (found version "1.5") 
[  128s] -- Performing Test HAVE_GLESv2
[  129s] -- Performing Test HAVE_GLESv2 - Success
[  129s] -- Found GLESv2: /usr/include  
[  129s] -- Found XKB: /usr/lib64/libxkbcommon.so (found suitable version "1.4.1", minimum required is "0.5.0") 
[  129s] -- Found WrapVulkanHeaders: /usr/include  
[  129s] -- Building an OpenGL build
[  129s] -- GPS: support by Qt's NMEA handling enabled.
[  129s] -- GPS: using GPS library at /usr/lib64/libgps.so (found suitable GPSD API version: 14.0)
[  129s] -- Unit tests support: disabled
[  129s] -- Using system-provided zlib at /usr/lib64/libz.so
[  129s] -- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) 
[  130s] -- Using system-provided indiclient at /usr/lib64/libindiclient.a
[  130s] CMake Warning at plugins/OnlineQueries/src/CMakeLists.txt:48 (MESSAGE):
[  130s]   Qt6::WebEngineWidgets or its dependencies (Positioning, WebChannel,
[  130s]   WebEngineCore) not found.  If these packages exist for your platform,
[  130s]   install and rerun.  Else the program will call the system web browser where
[  130s]   required.
[  130s] 
[  130s] 
[  131s] -- Found Python3: /usr/bin/python3.10 (found version "3.10.7") found components: Interpreter 
[  131s] -- Found Gettext: /usr/bin/msgmerge (found version "0.21") 
[  131s] -- Found xgettext: /usr/bin/xgettext
[  131s] -- Found lupdate: /usr/lib64/qt6/bin/lupdate
[  131s] -- Found lconvert: /usr/lib64/qt6/bin/lconvert
[  131s] -- Configuring done
[  133s] -- Generating done

@gzotti
Copy link
Member

gzotti commented Oct 24, 2022

Does it build and run when you set USE_PLUGIN_SCENERY3D=false?

@10110111
Copy link
Contributor

10110111 commented Nov 12, 2022

Just tried to build with Qt6 configured with -opengl es2, and can confirm this issue. The problem here is that QT_OPENGL_ES_2, which is used to guard the legacy-desktop-GL-related code, is no longer defined in Qt6.

Ideally, we should fix the code to remove calls to legacy functions. Or remove the caller code altogether. What is it used for, is it just debugging? If so, then finding a replacement for QT_OPENGL_ES_2 macro would be sufficient.

A temporary workaround for packagers is to pass -DCMAKE_CXX_FLAGS=-DQT_OPENGL_ES_2 to CMake.

@gzotti
Copy link
Member

gzotti commented Nov 12, 2022

With Qt5, OpenGL ES2 is used on most SBCs where full OpenGL is not available (Mesa provides OpenGL 2.1 on RPi4 meanwhile, but there are others e.g. with Mali GPUs), and also for Windows systems with insufficient native OpenGL where ANGLE is used to translate to DirectX. If Qt6 does not support OpenGL ES2 (not entirely sure, see https://doc.qt.io/qt-6/qopenglfunctions-es2.html), OP is simply requested to build with Qt5.
Likewise, you cannot request to build with Qt6 on 32-bit systems.

@10110111
Copy link
Contributor

Qt6 does support OpenGL ES2, it's the latter that doesn't support this ancient OpenGL 1.0-era API. Qt has just removed the declarations for this API starting from v6.0.

Likewise, Qt6 can easily be built on/for 32-bit systems (I'm writing this from one), and Stellarium works fine on them.

What Qt6 doesn't do is define the QT_OPENGL_ES_2 macro that Stellarium is currently using for detection of GLES2-based Qt installations.

@github-actions
Copy link

Hello @ggardet!

The bug or issue has been fixed! You may test it via building Stellarium from source code or wait the weekly development snapshot...

@alex-w alex-w added state: published The fix has been published for testing in weekly binary package and removed state: fixed labels Mar 13, 2023
@github-actions
Copy link

Hello @ggardet!

Please check the fresh version (development snapshot) of Stellarium:
https://github.com/Stellarium/stellarium-data/releases/tag/weekly-snapshot

@alex-w alex-w removed the state: published The fix has been published for testing in weekly binary package label Mar 27, 2023
@github-actions
Copy link

Hello @ggardet!

Please check the latest stable version of Stellarium:
https://github.com/Stellarium/stellarium/releases/latest

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
infrastructure Infrastructure related issues qt Issues, related to Qt framework
Development

Successfully merging a pull request may close this issue.

4 participants