cd speechdispatcher/ && ( test -e Makefile || /usr/lib64/qt5/bin/qmake -o Makefile /var/tmp/portage/dev-qt/qtspeech-5.9.4/work/qtspeech-opensource-src-5.9.4/src/plugins/tts/speechdispatcher/speechdispatcher.pro CONFIG+=release CONFIG-=debug 'QMAKE_AR=x86_64-pc-linux-gnu-ar cqs' QMAKE_CC=x86_64-pc-linux-gnu-gcc QMAKE_LINK_C=x86_64-pc-linux-gnu-gcc QMAKE_LINK_C_SHLIB=x86_64-pc-linux-gnu-gcc QMAKE_CXX=x86_64-pc-linux-gnu-g++ QMAKE_LINK=x86_64-pc-linux-gnu-g++ QMAKE_LINK_SHLIB=x86_64-pc-linux-gnu-g++ QMAKE_OBJCOPY=x86_64-pc-linux-gnu-objcopy QMAKE_RANLIB= QMAKE_STRIP=x86_64-pc-linux-gnu-strip 'QMAKE_CFLAGS=-O2 -pipe -march=native' QMAKE_CFLAGS_RELEASE= QMAKE_CFLAGS_DEBUG= 'QMAKE_CXXFLAGS=-O2 -pipe -march=native' QMAKE_CXXFLAGS_RELEASE= QMAKE_CXXFLAGS_DEBUG= 'QMAKE_LFLAGS=-Wl,-O1 -Wl,--as-needed' QMAKE_LFLAGS_RELEASE= QMAKE_LFLAGS_DEBUG= ) && make -f Makefile Project ERROR: Unknown module(s) in QT: gui make[3]: *** [Makefile:45: sub-speechdispatcher-make_first] Error 3 make[3]: Leaving directory '/var/tmp/portage/dev-qt/qtspeech-5.9.4/work/qtspeech-opensource-src-5.9.4/src/plugins/tts' make[2]: *** [Makefile:45: sub-tts-make_first] Error 2 ------------------------------------------------------------------- This is an unstable amd64 chroot image at a tinderbox (==build bot) name: 17.0-systemd_libressl-abi32+64_20180316-211707 ------------------------------------------------------------------- gcc-config -l: [1] x86_64-pc-linux-gnu-7.3.0 * Available Python interpreters, in order of preference: [1] python3.5 [2] python2.7 (fallback) Available Ruby profiles: [1] ruby22 (with Rubygems) [2] ruby23 (with Rubygems) * emerge -qpv dev-qt/qtspeech [ebuild N ] dev-qt/qtspeech-5.9.4 USE="-debug {-test}"
Created attachment 524552 [details] emerge-info.txt
Created attachment 524554 [details] dev-qt:qtspeech-5.9.4:20180320-171349.log
Created attachment 524556 [details] emerge-history.txt
Created attachment 524558 [details] environment
Created attachment 524560 [details] etc.portage.tbz2
Created attachment 524562 [details] logs.tbz2
Created attachment 524564 [details] temp.tbz2
I believe this is caused by 'QT = core gui' in /usr/lib64/qt5/mkspecs/features/spec_pre.prf
I think this has the potential to cause qmake to break on any system without qtgui installed.
This turns out to not be a regression, I can reproduce with 5.7.1. In fact, the offending upstream commit appears to be 809bc47fad9129b9e2ccd13432299db171d79e1a which has been around since the beginning of 5.0.0.
I'm testing with removing 'gui' from 'QT = core gui'.
(In reply to Michael Palimaka (kensington) from comment #11) > I'm testing with removing 'gui' from 'QT = core gui'. Doing this unconditionally caused immediate build failures, so I guess we'll have to hack this dynamically like how we do for pri files...
(In reply to Michael Palimaka (kensington) from comment #8) > I believe this is caused by 'QT = core gui' in > /usr/lib64/qt5/mkspecs/features/spec_pre.prf That's expected and documented behavior of qmake and we must not change it. "QT" by default is set to "core gui" in *every* .pro file that doesn't specify otherwise. If qtspeech doesn't need qtgui, it should specify "QT -= gui".
(In reply to Davide Pesavento from comment #13) > (In reply to Michael Palimaka (kensington) from comment #8) > > I believe this is caused by 'QT = core gui' in > > /usr/lib64/qt5/mkspecs/features/spec_pre.prf > > That's expected and documented behavior of qmake and we must not change it. > "QT" by default is set to "core gui" in *every* .pro file that doesn't > specify otherwise. That kind of sucks, it means qmake will unconditionally fail by default if qtgui is not installed. > If qtspeech doesn't need qtgui, it should specify "QT -= gui". I'll push a patch like that for now, and look at sending it upstream later.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/proj/qt.git/commit/?id=4ff50f34fff8d901d8b62e4a11de362e7880cf83 commit 4ff50f34fff8d901d8b62e4a11de362e7880cf83 Author: Michael Palimaka <kensington@gentoo.org> AuthorDate: 2018-03-23 23:51:42 +0000 Commit: Michael Palimaka <kensington@gentoo.org> CommitDate: 2018-03-23 23:52:21 +0000 dev-qt/qtspeech: avoid bogus dependency Closes: https://bugs.gentoo.org/651012 Package-Manager: Portage-2.3.24, Repoman-2.3.6 dev-qt/qtspeech/files/qtspeech-5.9.4-nogui.patch | 12 ++++++++++++ dev-qt/qtspeech/qtspeech-5.10.1.ebuild | 2 ++ dev-qt/qtspeech/qtspeech-5.11.0_beta2.ebuild | 2 ++ dev-qt/qtspeech/qtspeech-5.11.9999.ebuild | 2 ++ dev-qt/qtspeech/qtspeech-5.9.9999.ebuild | 2 ++ dev-qt/qtspeech/qtspeech-5.9999.ebuild | 2 ++ 6 files changed, 22 insertions(+)
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a69e5a9b422866c1e6fb61ad4f2d9d0df5049391 commit a69e5a9b422866c1e6fb61ad4f2d9d0df5049391 Author: Michael Palimaka <kensington@gentoo.org> AuthorDate: 2018-03-23 23:50:51 +0000 Commit: Michael Palimaka <kensington@gentoo.org> CommitDate: 2018-03-23 23:52:52 +0000 dev-qt/qtspeech: avoid bogus dependency Closes: https://bugs.gentoo.org/651012 Package-Manager: Portage-2.3.24, Repoman-2.3.6 dev-qt/qtspeech/files/qtspeech-5.9.4-nogui.patch | 12 ++++++++++++ dev-qt/qtspeech/qtspeech-5.9.4.ebuild | 2 ++ 2 files changed, 14 insertions(+)
(In reply to Michael Palimaka (kensington) from comment #14) > (In reply to Davide Pesavento from comment #13) > > (In reply to Michael Palimaka (kensington) from comment #8) > > > I believe this is caused by 'QT = core gui' in > > > /usr/lib64/qt5/mkspecs/features/spec_pre.prf > > > > That's expected and documented behavior of qmake and we must not change it. > > "QT" by default is set to "core gui" in *every* .pro file that doesn't > > specify otherwise. > > That kind of sucks, it means qmake will unconditionally fail by default if > qtgui is not installed. That has been qmake's behavior since basically forever (way before qt5). Projects that do not need the gui module are supposed to opt out via "QT -= gui". IIRC it's explicitly noted in qmake's manual. Also, a gui-less qt is fairly uncommon.