qtubuntu fails to build against Qt 5.1.1 on i386/amd64

Bug #1215374 reported by Timo Jyrinki
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
qtubuntu (Ubuntu)
Fix Released
High
Robert Carr

Bug Description

qtubuntu fails to build against Qt 5.1.1 almost final snapshot, on amd64/i386:

../../../base/libubuntubase.a(screen.o): In function `QUbuntuBaseScreen::QUbuntuBaseScreen()':
/build/buildd/qtubuntu-0.52+13.10.20130820/src/platforms/base/screen.cc:98: undefined reference to `q_configFromGLFormat(void*,. QSurfaceFormat .const&/,. .bool/,. .int/)base'/
libubuntubase.a(screen.o): In function `QUbuntuBaseScreen::QUbuntuBaseScreen()':
/build/buildd/qtubuntu-0.52+13.10.20130820/src/platforms/base/screen.cc:98: undefined reference to `q_configFromGLFormat(void*, QSurfaceFormat const&, bool, int)'

Full log at https://launchpadlibrarian.net/148157658/buildlog_ubuntu-saucy-amd64.qtubuntu_1%3A0.52%2B13.10.20130820-0%2B201308211122~169~saucy1_FAILEDTOBUILD.txt.gz

armhf seems to work fine. Most of the 30+ packages tested build fine against Qt 5.1.1, so it seems it's more about packages that use some low-level OpenGL functions that may have small issues. To support both Qt 5.0.x and 5.1.x, see eg. https://code.launchpad.net/~aacid/unity8/supportqt51/+merge/177365 on how to #ifdef on the Qt version.

One can install Qt 5.1.1 snapshot with:
sudo apt-add-repository ppa:canonical-qt5-edgers/qt5-beta-proper
sudo apt-get update
sudo apt-get dist-upgrade

To revert back to archive versions:

sudo ppa-purge ppa:canonical-qt5-edgers/qt5-beta-proper

Tags: qt5.1
tags: added: qt5.1
Changed in qtubuntu:
importance: Undecided → High
Changed in qtubuntu:
assignee: nobody → Robert Carr (robertcarr)
summary: - Fails to build against Qt 5.1.1
+ Fails to build against Qt 5.1.1 on x86
description: updated
Changed in qtubuntu:
importance: High → Medium
summary: - Fails to build against Qt 5.1.1 on x86
+ qtubuntu fails to build against Qt 5.1.1 on x86
description: updated
summary: - qtubuntu fails to build against Qt 5.1.1 on x86
+ qtubuntu fails to build against Qt 5.1.1 on i386/amd64
Changed in qtubuntu:
importance: Medium → High
description: updated
description: updated
Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :

While the 5.1.0 does not solve the main issues (Unity 8 crashes), there's difference to 5.1.1 regarding this bug: qtubuntu compiled also for x86 against Qt 5.1.0:

https://launchpad.net/~ubuntu-sdk-team/+archive/testing/+packages?field.name_filter=&field.status_filter=published&field.series_filter=saucy

So something changed between upstream 5.1.0 and 5.1.1 versions that may need to be workarounded in qtubuntu.

Revision history for this message
Nautilus (doneill-foxmoxie) wrote :

Can you please verify that your Qt 5.1.0 has EGL platform support (configure -eglfs flag)?

This link error suggests EGL convenience functions are absent from the library.

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

Hi Nautilus. -eglfs is not defined, but it's enabled by default if autodetected.

However it does not get enabled on x86, and defining it explicitly yields an error (see https://launchpadlibrarian.net/156301005/buildlog_ubuntu-trusty-amd64.qtbase-opensource-src_5.2.0~beta1%2Bdfsg-0ubuntu1~trusty1~test1_FAILEDTOBUILD.txt.gz) even though libegl1-mesa-dev is installed.

I guess it's because on x86 -opengl desktop is defined and on armhf -opengl es2. Technically using desktop OpenGL shouldn't necessarily disable EGL support, but maybe it does in Qt? So the question then becomes whether the ES2 subset of OpenGL should be used also on the desktop. The difference is general is probably not that huge, but I'm not aware of all the possible consequences.

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

Fixed for Qt 5.2, qtbase now has a patch where EGL gets enabled also with -opengl desktop, although EGLFS stays disabled. This is however enough for qtubuntu to build.

Changed in qtubuntu:
status: New → Fix Released
Michał Sawicz (saviq)
affects: qtubuntu → qtubuntu (Ubuntu)
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.