stellarium fails to build against Qt 5.4.0 on armhf

Bug #1395655 reported by Timo Jyrinki
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Stellarium
Fix Released
Medium
Łukasz Zemczak
stellarium (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Stellarium is one of the packages using private Qt symbols that needs a rebuild for each new Qt version. It seems Stellarium fails to build on armhf when built against Qt 5.4.0 beta, which would block the future Qt 5.4 landing: https://launchpadlibrarian.net/191070923/buildlog_ubuntu-vivid-armhf.stellarium_0.13.1-1build2_FAILEDTOBUILD.txt.gz

---
/build/buildd/stellarium-0.13.1/plugins/Oculars/src/Oculars.cpp: In member function 'void Oculars::paintCrosshairs()':
/build/buildd/stellarium-0.13.1/plugins/Oculars/src/Oculars.cpp:1439:2: error: 'GLdouble' was not declared in this scope
  GLdouble length = 0.5 * params.viewportFovDiameter;
---

More information about Qt testing at https://wiki.ubuntu.com/Touch/QtTesting

Tags: qt5.4

Related branches

Revision history for this message
Alexander Wolf (alexwolf) wrote :

Please try build trunk

Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :

I cherry-picked the arm fix from trunk instead. The next problem points would be:

---
/build/buildd/stellarium-0.13.1/src/core/StelPainter.cpp: In member function 'void StelPainter::drawStelVertexArray(const StelVertexArray&, bool)':
/build/buildd/stellarium-0.13.1/src/core/StelPainter.cpp:1151:22: error: 'GL_DOUBLE' was not declared in this scope
  setVertexPointer(3, GL_DOUBLE, arr.vertex.constData());
                      ^
/build/buildd/stellarium-0.13.1/src/core/StelPainter.cpp: In member function 'void StelPainter::setArrays(const Vec3d*, const Vec2f*, const Vec3f*, const Vec3f*)':
/build/buildd/stellarium-0.13.1/src/core/StelPainter.cpp:1717:22: error: 'GL_DOUBLE' was not declared in this scope
  setVertexPointer(3, GL_DOUBLE, vertices);
                      ^
---

(https://launchpadlibrarian.net/191231642/buildlog_ubuntu-vivid-armhf.stellarium_0.13.1-1ubuntu1~beta1~test1_FAILEDTOBUILD.txt.gz)

Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :

5.4.0 RC should be out this week still, I will retry this once I've built enough of it in the PPA.

Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :

Confirming same problem with 5.4.0 RC.

Changed in stellarium (Ubuntu):
status: New → Confirmed
summary: - stellarium fails to build against Qt 5.4.0 beta on armhf
+ stellarium fails to build against Qt 5.4.0 on armhf
Revision history for this message
Łukasz Zemczak (sil2100) wrote :

Yeah, so the problem is related to this change:
https://codereview.qt-project.org/#/c/93984/

The rationale for the change is that GLES does not support doubles and in fact for GLES GLdouble was nothing more than a typedef for GLfloat.

The quickest way of resolving this right now would be simply to re-introduce the same 'hack' just locally for the stellarium source tree. Not much harm will be done as the situation won't change. I will propose a patch and forward it upstream.

Changed in stellarium (Ubuntu):
assignee: nobody → Łukasz Zemczak (sil2100)
Revision history for this message
Łukasz Zemczak (sil2100) wrote :

https://launchpad.net/~ci-train-ppa-service/+archive/ubuntu/landing-005/+build/6723146

After introducing my patch, the project builds successfully on Qt 5.4. Upstream stopped using GLdouble and switched to float instead, but there are still many places where GL_DOUBLE is used. So for now I applied the same Qt-operation of re-defining both GLdouble and GL_DOUBLE to their GLES float counterparts as it was before.

Revision history for this message
Alexander Wolf (alexwolf) wrote :

A fix has been committed as revision 7323 of the trunk branch of Stellarium's Bazaar repository at Launchpad: http://bazaar.launchpad.net/~stellarium/stellarium/trunk/revision/7323

affects: stellarium (Ubuntu) → stellarium
Changed in stellarium (Ubuntu):
status: New → Confirmed
Changed in stellarium:
milestone: none → 0.13.2
importance: Undecided → Medium
status: Confirmed → Fix Committed
Changed in stellarium:
status: Fix Committed → Fix Released
Changed in stellarium (Ubuntu):
status: Confirmed → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package stellarium - 0.13.1-1ubuntu1

---------------
stellarium (0.13.1-1ubuntu1) vivid; urgency=medium

  * debian/patches/fix_ftbfs_armhf_qt5.4.diff:
    - Re-include the removed in Qt GL_DOUBLE and GLdouble typedefs to enable
      properly building on GLES platforms against Qt 5.4 (LP: #1395655)
 -- Lukasz 'sil2100' Zemczak <email address hidden> Fri, 16 Jan 2015 12:06:48 +0100

Changed in stellarium (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.