Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 651012 - dev-qt/qtspeech-5.9.4 fails to build when dev-qt/qtgui:5 is not installed
Summary: dev-qt/qtspeech-5.9.4 fails to build when dev-qt/qtgui:5 is not installed
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Qt Bug Alias
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: qt-5.9.4-stable
  Show dependency tree
 
Reported: 2018-03-20 17:22 UTC by Toralf Förster
Modified: 2019-03-02 12:18 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge-info.txt (emerge-info.txt,15.48 KB, text/plain)
2018-03-20 17:22 UTC, Toralf Förster
Details
dev-qt:qtspeech-5.9.4:20180320-171349.log (dev-qt:qtspeech-5.9.4:20180320-171349.log,16.90 KB, text/plain)
2018-03-20 17:22 UTC, Toralf Förster
Details
emerge-history.txt (emerge-history.txt,168.63 KB, text/plain)
2018-03-20 17:22 UTC, Toralf Förster
Details
environment (environment,111.82 KB, text/plain)
2018-03-20 17:22 UTC, Toralf Förster
Details
etc.portage.tbz2 (etc.portage.tbz2,12.11 KB, application/x-bzip)
2018-03-20 17:22 UTC, Toralf Förster
Details
logs.tbz2 (logs.tbz2,976 bytes, application/x-bzip)
2018-03-20 17:22 UTC, Toralf Förster
Details
temp.tbz2 (temp.tbz2,28.72 KB, application/x-bzip)
2018-03-20 17:22 UTC, Toralf Förster
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Toralf Förster gentoo-dev 2018-03-20 17:22:12 UTC
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}"
Comment 1 Toralf Förster gentoo-dev 2018-03-20 17:22:15 UTC
Created attachment 524552 [details]
emerge-info.txt
Comment 2 Toralf Förster gentoo-dev 2018-03-20 17:22:19 UTC
Created attachment 524554 [details]
dev-qt:qtspeech-5.9.4:20180320-171349.log
Comment 3 Toralf Förster gentoo-dev 2018-03-20 17:22:22 UTC
Created attachment 524556 [details]
emerge-history.txt
Comment 4 Toralf Förster gentoo-dev 2018-03-20 17:22:25 UTC
Created attachment 524558 [details]
environment
Comment 5 Toralf Förster gentoo-dev 2018-03-20 17:22:28 UTC
Created attachment 524560 [details]
etc.portage.tbz2
Comment 6 Toralf Förster gentoo-dev 2018-03-20 17:22:31 UTC
Created attachment 524562 [details]
logs.tbz2
Comment 7 Toralf Förster gentoo-dev 2018-03-20 17:22:34 UTC
Created attachment 524564 [details]
temp.tbz2
Comment 8 Michael Palimaka (kensington) gentoo-dev 2018-03-21 10:47:00 UTC
I believe this is caused by 'QT = core gui' in /usr/lib64/qt5/mkspecs/features/spec_pre.prf
Comment 9 Michael Palimaka (kensington) gentoo-dev 2018-03-21 12:55:35 UTC
I think this has the potential to cause qmake to break on any system without qtgui installed.
Comment 10 Michael Palimaka (kensington) gentoo-dev 2018-03-21 13:03:38 UTC
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.
Comment 11 Michael Palimaka (kensington) gentoo-dev 2018-03-21 13:18:00 UTC
I'm testing with removing 'gui' from 'QT = core gui'.
Comment 12 Michael Palimaka (kensington) gentoo-dev 2018-03-21 13:36:08 UTC
(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...
Comment 13 Davide Pesavento (RETIRED) gentoo-dev 2018-03-21 16:17:29 UTC
(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".
Comment 14 Michael Palimaka (kensington) gentoo-dev 2018-03-23 23:50:17 UTC
(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.
Comment 15 Larry the Git Cow gentoo-dev 2018-03-23 23:52:30 UTC
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(+)
Comment 16 Larry the Git Cow gentoo-dev 2018-03-23 23:53:02 UTC
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(+)
Comment 17 Davide Pesavento (RETIRED) gentoo-dev 2018-03-24 00:24:18 UTC
(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.