Summary: | dev-qt/qtwebengine checks GCC version based on what dev-qt/qtcore was built with | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Michael Palimaka (kensington) <kensington> |
Component: | Current packages | Assignee: | Qt Bug Alias <qt> |
Status: | CONFIRMED --- | ||
Severity: | normal | CC: | bilyak.alexander, lori, pavestnavi, tuupic, zl29ah |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: | https://bugs.gentoo.org/show_bug.cgi?id=610782 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | 649420 | ||
Bug Blocks: | |||
Attachments: |
build.log
qconfig.pri bogus_gcc_check.patch |
Created attachment 448470 [details]
build.log
Created attachment 448472 [details]
qconfig.pri
*** Bug 596808 has been marked as a duplicate of this bug. *** *** Bug 598292 has been marked as a duplicate of this bug. *** *** Bug 603468 has been marked as a duplicate of this bug. *** *** Bug 611066 has been marked as a duplicate of this bug. *** Created attachment 465680 [details, diff]
bogus_gcc_check.patch
Yeah, I normally compile dev-qt/* using clang, so this GCC check was really not helpful. qtwebengine has other issues that prevent it from compiling with clang, but it does work with gcc-6.3 now.
|
From qtwebengine/tools/qmake/mkspecs/features/functions.prf: > defineTest(isGCCVersionSupported) { > # The below will work for gcc 4.7 and up and also match gcc 5 > greaterThan(QT_GCC_MINOR_VERSION, 6):return(true) > greaterThan(QT_GCC_MAJOR_VERSION, 4):return(true) > skipBuild("Using gcc version "$$QT_GCC_MAJOR_VERSION"."$$QT_GCC_MINOR_VERSION", but at least gcc version 4.7 is required to build Qt WebEngine.") > return(false) > } It appears the value of QT_GCC_*_VERSION is whatever was used to build qtcore and is sourced from /usr/lib64/qt5/mkspecs/qconfig.pri. Apart from the obvious potential for version mismatches, QT_GCC_*_VERSION will not even be defined at all if qtcore was built with clang. Further, if this magic GCC check fails, build silently fails in such a way that portage does not detect so the user ends up with a zero-file qtwebengine installed.