Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 454066 - x11-libs/qt-gui-4.8.4[gtkstyle] build failure with pkgconfig-0.28 and cairo[qt4]
Summary: x11-libs/qt-gui-4.8.4[gtkstyle] build failure with pkgconfig-0.28 and cairo[qt4]
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Qt Bug Alias
URL:
Whiteboard:
Keywords:
: 455484 456286 456756 (view as bug list)
Depends on:
Blocks:
 
Reported: 2013-01-25 22:03 UTC by Ulenrich
Modified: 2013-02-12 20:32 UTC (History)
7 users (show)

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


Attachments
build log (qt-gui-4.8.4:20130125-205035.log,65.95 KB, text/plain)
2013-01-25 22:08 UTC, Ulenrich
Details
build.log using color n for convenience (qt-gui-4.8.4:20130126-124258.log,62.59 KB, text/plain)
2013-01-26 13:11 UTC, Ulenrich
Details
emerge-info (2013-02-emerge-info.txt,17.69 KB, text/plain)
2013-02-01 14:39 UTC, Ulenrich
Details
xi.pc (xi.pc,240 bytes, text/plain)
2013-02-06 20:20 UTC, Markos Chandras (RETIRED)
Details
qt-gui-4.8.4-build.log in english (qt-gui-4.8.4:20130206-221232.log,37.75 KB, text/plain)
2013-02-06 22:19 UTC, Ulenrich
Details
built log - compile failed again for -r1 (qt-gui-4.8.4-r1:20130209-141940.log,38.25 KB, text/plain)
2013-02-09 14:38 UTC, Ulenrich
Details
gentoo-qconfig.h as asked (gentoo-qconfig.h,584 bytes, text/plain)
2013-02-09 14:43 UTC, Ulenrich
Details
build.log noQuiet Eng noColor (qt-gui-4.8.4-r1:20130210-000648.log,409.65 KB, text/plain)
2013-02-10 00:19 UTC, Ulenrich
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ulenrich 2013-01-25 22:03:12 UTC
I previously had successfully compiled qt-gui using 
- gcc-4.7
- glibc-2.16

---
emerge -pqv qt-gui 
[ebuild   R   ] x11-libs/qt-gui-4.8.4  USE="accessibility c++0x cups dbus gif glib gtkstyle mng pch qt3support tiff xinerama xv (-aqua) -debug -egl -exceptions -nas -nis -trace" 

---
Portage 2.1.11.50 (default/linux/amd64/10.0/desktop/kde, gcc-4.7.2, glibc-2.17, 3.7.4-1046.cfr x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-3.7.4-1046.cfr-x86_64-Intel-R-_Core-TM-2_Duo_CPU_P8700_@_2.53GHz-with-gentoo-2.2
KiB Mem:     3763724 total,     66296 free
KiB Swap:    5058080 total,   4753744 free
Timestamp of tree: Fri, 25 Jan 2013 14:15:01 +0000
ld GNU ld (GNU Binutils) 2.23.1
app-shells/bash:          4.2_p42
dev-java/java-config:     2.1.12-r1
dev-lang/python:          2.7.3-r3, 3.2.3-r2
dev-util/cmake:           2.8.10.2-r1
dev-util/pkgconfig:       0.28
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.11.8
sys-apps/sandbox:         2.6
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.9.6-r3, 1.11.6, 1.13.1
sys-devel/binutils:       2.23.1
sys-devel/gcc:            4.7.2
sys-devel/gcc-config:     1.8
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r4
sys-kernel/linux-headers: 3.7 (virtual/os-headers)
sys-libs/glibc:           2.17
Repositories:
Comment 1 Ulenrich 2013-01-25 22:08:25 UTC
Created attachment 336854 [details]
build log
Comment 2 Ulenrich 2013-01-25 22:14:09 UTC
Because of these error messages:
../../include/QtGui/private/../../../src/gui/kernel/qt_x11_p.h:240:60: error: ‘XEventClass’ has not been declared
../../include/QtGui/private/../../../src/gui/kernel/qt_x11_p.h:429:5: error: ‘PtrXListInputDevices’ does not name a type
../../include/QtGui/private/../../../src/gui/kernel/qt_x11_p.h:430:5: error: ‘PtrXOpenDevice’ does not name a type
../../include/QtGui/private/../../../src/gui/kernel/qt_x11_p.h:431:5: error: ‘PtrXFreeDeviceList’ does not name a type

I had the idea to try it with/without USE of xv and xinerama
But had no luck ....
I have no glimpse if glibc-2.17 is involved? How could that be ....
Comment 3 Diego Elio Pettenò (RETIRED) gentoo-dev 2013-01-26 00:07:41 UTC
While I have no idea what the heck is going on, at least before the tinderbox built this correctly, so it's not going to be a glibc-2.17 problem... maybe libXi?
Comment 4 Ulenrich 2013-01-26 13:11:30 UTC
Created attachment 336896 [details]
build.log using color n for convenience

@Diego, uups, I had some x11 packages on hold at stable, because I didn't want to pull  
x11-base/xorg-server-1.13.1.901
x11-libs/libXi-1.6.2

Now I upgraded all to Gentoo~unstable, but no luck.
Comment 5 Davide Pesavento (RETIRED) gentoo-dev 2013-01-26 23:13:50 UTC
mmm nice... neither QT_TABLET nor QT_NO_TABLET are defined, thus QT_NO_TABLET gets automatically defined by qconfig.h and XInput.h is not included, therefore causing the build error.

This should not matter when building qt-gui itself though, so I need to find out why it fails for you...
Comment 6 Ulenrich 2013-01-27 00:21:49 UTC
@Davide, I watch: What shall I try?
How I said earlier, I did recompile a few weeks before 
portage -e world
when I change to gcc-4.7.2 successfully.
But now with glibc-2.17 ... Or did I do something wrong otherwise before ...
Comment 7 Davide Pesavento (RETIRED) gentoo-dev 2013-01-27 00:43:58 UTC
I added the missing QT_TABLET define, please sync in a couple of hours and retry.
Comment 8 Ulenrich 2013-01-27 00:50:08 UTC
Just curiousity: All of qt is TABLET but headless server?
Comment 9 Ulenrich 2013-01-27 18:38:12 UTC
@Davide,
No it doesn't help. I can diff the build logs, no difference at all!

I just wanted to downgrade glibc, just in case it has some very weird thing to do with it, because I had compiled qt-gui just weeks before. But I am not supposed to do a downgrade (I thought I can manage from a Debian chroot with pkgdir/sys-libs/glibc-2.17.tbz2 at hand):
*  Downgrading glibc is not supported and a sure way to destruction
 * ERROR: sys-libs/glibc-2.16.0 failed (setup phase):
Comment 10 Ulenrich 2013-01-27 19:23:01 UTC
Now another try: I had changed the USE flag
-c++0x
and emerge -avDN world, which resulted rebuild of x11-libx/qt*

But no luck, the same error out at:
Emerging (7 of 13) x11-libs/qt-gui-4.8.4

As ever:
In file included from ../../include/QtGui/private/qt_x11_p.h:1:0,
                 from inputmethod/qinputcontextfactory.cpp:65:
../../include/QtGui/private/../../../src/gui/kernel/qt_x11_p.h:236:43: error: ‘XDevice’ has not been declared
../../include/QtGui/private/../../../src/gui/kernel/qt_x11_p.h:237:9: error: ‘XDeviceInfo’ does not name a type
../../include/QtGui/private/../../../src/gui/kernel/qt_x11_p.h:238:9: error: ‘XDevice’ does not name a type
../../include/QtGui/private/../../../src/gui/kernel/qt_x11_p.h:239:36: error: typedef ‘PtrXFreeDeviceList’ is initialized (use decltype instead)
../../include/QtGui/private/../../../src/gui/kernel/qt_x11_p.h:239:36: error: ‘XDeviceInfo’ was not declared in this scope
../../include/QtGui/private/../../../src/gui/kernel/qt_x11_p.h:239:49: error: expected primary-expression before ‘)’ token
../../include/QtGui/private/../../../src/gui/kernel/qt_x11_p.h:240:60: error: ‘XEventClass’ has not been declared
In file included from ../../include/QtGui/private/qt_x11_p.h:1:0,
                 from inputmethod/qinputcontextfactory.cpp:65:
../../include/QtGui/private/../../../src/gui/kernel/qt_x11_p.h:429:5: error: ‘PtrXListInputDevices’ does not name a type
../../include/QtGui/private/../../../src/gui/kernel/qt_x11_p.h:430:5: error: ‘PtrXOpenDevice’ does not name a type
../../include/QtGui/private/../../../src/gui/kernel/qt_x11_p.h:431:5: error: ‘PtrXFreeDeviceList’ does not name a type
make: *** [.obj/release-shared/qinputcontextfactory.o] Error 1
Comment 11 Ulenrich 2013-02-01 14:39:27 UTC
Created attachment 337594 [details]
emerge-info

... I missed to upload any complete emerge --info

No one can reproduce this build failure?
Anyone: Do you use
- glibc-2.17
- gcc-4.7.2
and build successfully qt-gui?
What diff to my emerge --info might be there - any cause?
Comment 12 Walter Meinl 2013-02-02 21:32:28 UTC
(In reply to comment #11)
> Created attachment 337594 [details]
> emerge-info
> 
> ... I missed to upload any complete emerge --info
> 
> No one can reproduce this build failure?
> Anyone: Do you use
> - glibc-2.17
> - gcc-4.7.2
> and build successfully qt-gui?
> What diff to my emerge --info might be there - any cause?

I had the same problem using gcc-4.6.3. Per coincidence I downgraded pkg-config to 0.27.1 and then it emerged flawlessy. With pkgconfig-0.28 I had no luck. Which version of pkgconfig or pkgconf are you using?
Comment 13 Grzegorz {NineX} Krzystek 2013-02-02 22:51:34 UTC
(In reply to comment #12)
> (In reply to comment #11)
> > Created attachment 337594 [details]
> > emerge-info
> > 
> > ... I missed to upload any complete emerge --info
> > 
> > No one can reproduce this build failure?
> > Anyone: Do you use
> > - glibc-2.17
> > - gcc-4.7.2
> > and build successfully qt-gui?
> > What diff to my emerge --info might be there - any cause?
> 
> I had the same problem using gcc-4.6.3. Per coincidence I downgraded
> pkg-config to 0.27.1 and then it emerged flawlessy. With pkgconfig-0.28 I
> had no luck. Which version of pkgconfig or pkgconf are you using?

i can confirm that qt-gui-4.8.4 compiles fine with pkgconfig-0.27.1.
with pkgconfig-0.28 i have failure
Comment 14 Ulenrich 2013-02-03 01:14:19 UTC
The same here:

i can confirm that qt-gui-4.8.4 compiles fine with pkgconfig-0.27.1.
with pkgconfig-0.28 i have failure

So, this bug should be assigned against pkgconfig-0.28
Comment 15 Davide Pesavento (RETIRED) gentoo-dev 2013-02-05 18:35:30 UTC
*** Bug 455484 has been marked as a duplicate of this bug. ***
Comment 16 Davide Pesavento (RETIRED) gentoo-dev 2013-02-06 09:26:28 UTC
I cannot reproduce by simply updating to pkgconfig-0.28 and then rebuild qt-gui, so something else must be involved...

Can you provide a list of all packages you emerged *after* you updated to pkgconfig-0.28 please? Something like:

sed -n '/completed emerge.*dev-util\/pkgconfig-0\.28/,$ s/^.*completed emerge //p' /var/log/emerge.log
Comment 17 Ulenrich 2013-02-06 19:36:09 UTC
@Davide, simply all: I made a glibc-2.17 upgrade and did an emerge -e world
Comment 18 Davide Pesavento (RETIRED) gentoo-dev 2013-02-06 20:03:59 UTC
(In reply to comment #17)
> @Davide, simply all: I made a glibc-2.17 upgrade and did an emerge -e world

ouch! that's useless then :/ anyone else who did _not_ do an emerge -e world?
Comment 19 Markos Chandras (RETIRED) gentoo-dev 2013-02-06 20:11:38 UTC
(In reply to comment #18)
> (In reply to comment #17)
> > @Davide, simply all: I made a glibc-2.17 upgrade and did an emerge -e world
> 
> ouch! that's useless then :/ anyone else who did _not_ do an emerge -e world?

here is my list

http://dev.gentoo.org/~hwoarang/pkgconf-list.txt
Comment 20 Davide Pesavento (RETIRED) gentoo-dev 2013-02-06 20:17:15 UTC
Awesome! libXi is my first suspect, can you attach its .pc file please?
Comment 21 Markos Chandras (RETIRED) gentoo-dev 2013-02-06 20:20:41 UTC
Created attachment 338142 [details]
xi.pc

here it is
Comment 22 Ulenrich 2013-02-06 21:27:43 UTC
My xi.pc is exactly the same.
After upgrading to todays ~unstable xorg-server icu and cairo and the now stable pkgconfig-0.28 the failing qt-gui build log ends a bit different:
---
image/qpixmap_x11.cpp:161:20: Fehler: »appDisplay« ist kein Element von »QX11Info«
image/qpixmap_x11.cpp: In Funktion »bool qt_create_mitshm_buffer(const QPaintDevice*, int, int)«:
image/qpixmap_x11.cpp:176:25: Fehler: »const class QPaintDevice« hat kein Element namens »data«
image/qpixmap_x11.cpp: In Elementfunktion »virtual QPixmap QX11PixmapData::transformed(const QTransform&, Qt::TransformationMode) const«:
image/qpixmap_x11.cpp:1922:51: Fehler: »const QX11PixmapData* const« kann nicht nach »const QPaintDevice*« für Argument »1« nach »bool qt_create_mitshm_buffer(const QPaintDevice*, int, int)« umgewandelt werden
image/qpixmap_x11.cpp:1926:41: Warnung: Vergleich zwischen vorzeichenbehafteten und vorzeichenlosen Ganzzahlausdrücken [-Wsign-compare]
image/qpixmap_x11.cpp:1926:65: Warnung: Vergleich zwischen vorzeichenbehafteten und vorzeichenlosen Ganzzahlausdrücken [-Wsign-compare]
image/qpixmap_x11.cpp:1947:37: Fehler: »white« wurde in diesem Gültigkeitsbereich nicht definiert
image/qpixmap_x11.cpp:1947:37: Anmerkung: empfohlene Alternative:
In file included from /usr/include/qt4/QtCore/qobjectdefs.h:45:0,
                 from /usr/include/qt4/QtCore/qobject.h:47,
                 from /usr/include/qt4/QtCore/qcoreapplication.h:45,
                 from kernel/qt_gui_pch.h:61:
/usr/include/qt4/QtCore/qnamespace.h:108:9: Anmerkung:   »Qt::white«
...
Comment 23 Markos Chandras (RETIRED) gentoo-dev 2013-02-06 21:34:50 UTC
(In reply to comment #22)
> My xi.pc is exactly the same.
> After upgrading to todays ~unstable xorg-server icu and cairo and the now
> stable pkgconfig-0.28 the failing qt-gui build log ends a bit different:
> ---
> image/qpixmap_x11.cpp:161:20: Fehler: »appDisplay« ist kein Element von
> »QX11Info«
> image/qpixmap_x11.cpp: In Funktion »bool qt_create_mitshm_buffer(const
> QPaintDevice*, int, int)«:
> image/qpixmap_x11.cpp:176:25: Fehler: »const class QPaintDevice« hat kein
> Element namens »data«
> image/qpixmap_x11.cpp: In Elementfunktion »virtual QPixmap
> QX11PixmapData::transformed(const QTransform&, Qt::TransformationMode)
> const«:
> image/qpixmap_x11.cpp:1922:51: Fehler: »const QX11PixmapData* const« kann
> nicht nach »const QPaintDevice*« für Argument »1« nach »bool
> qt_create_mitshm_buffer(const QPaintDevice*, int, int)« umgewandelt werden
> image/qpixmap_x11.cpp:1926:41: Warnung: Vergleich zwischen
> vorzeichenbehafteten und vorzeichenlosen Ganzzahlausdrücken [-Wsign-compare]
> image/qpixmap_x11.cpp:1926:65: Warnung: Vergleich zwischen
> vorzeichenbehafteten und vorzeichenlosen Ganzzahlausdrücken [-Wsign-compare]
> image/qpixmap_x11.cpp:1947:37: Fehler: »white« wurde in diesem
> Gültigkeitsbereich nicht definiert
> image/qpixmap_x11.cpp:1947:37: Anmerkung: empfohlene Alternative:
> In file included from /usr/include/qt4/QtCore/qobjectdefs.h:45:0,
>                  from /usr/include/qt4/QtCore/qobject.h:47,
>                  from /usr/include/qt4/QtCore/qcoreapplication.h:45,
>                  from kernel/qt_gui_pch.h:61:
> /usr/include/qt4/QtCore/qnamespace.h:108:9: Anmerkung:   »Qt::white«
> ...

Please attach the full build.log (and in the *english* language)
Comment 24 Ulenrich 2013-02-06 22:19:35 UTC
Created attachment 338160 [details]
qt-gui-4.8.4-build.log in english
Comment 25 Davide Pesavento (RETIRED) gentoo-dev 2013-02-09 12:04:43 UTC
(In reply to comment #24)
> Created attachment 338160 [details]
> qt-gui-4.8.4-build.log in english

That's caused by QT_MITSHM, which I removed again now.

Please retry in a couple of hours.
Comment 26 Davide Pesavento (RETIRED) gentoo-dev 2013-02-09 12:06:45 UTC
If it still fails, please attach your /usr/include/qt4/Gentoo/gentoo-qconfig.h
Comment 27 Ulenrich 2013-02-09 14:38:35 UTC
Created attachment 338394 [details]
built log - compile failed again for -r1
Comment 28 Ulenrich 2013-02-09 14:43:19 UTC
Created attachment 338396 [details]
gentoo-qconfig.h as asked

@Davide, Do you want to see any old gentoo-qt-gui-qconfig.h of the qt-gui ebuild I previously compiled with the old dev-util/pkgconfig-0.27.1 ?
Comment 29 Ulenrich 2013-02-09 17:37:31 UTC
similar bug: https://bugs.gentoo.org/show_bug.cgi?id=456286
There are two people having the build failure.

This pops up the question what is the difference:
@Davide, why does your system not reproduce the failure?

I have an abstruse suspicion: In the aftermath of the transition to the new eapi 5 I had observed my system to not having upgraded all of the libs, here:
https://forums.gentoo.org/viewtopic-t-947732-highlight-.html
I have used the there puplished my script to find this out. I then thought it was my use of prelink at the time before ... 

Perhaps it is your system having some old libs which provide a qt-gui build going?
Comment 30 Davide Pesavento (RETIRED) gentoo-dev 2013-02-09 21:28:45 UTC
Please please please... remove "--quiet" from MAKEOPTS and never add it again. Your build logs are completely useless.

You can use emerge --quiet-build if you don't want to see build output, still producing useful build logs.
Comment 31 Ulenrich 2013-02-10 00:19:48 UTC
Created attachment 338446 [details]
build.log noQuiet Eng noColor
Comment 32 Davide Pesavento (RETIRED) gentoo-dev 2013-02-10 00:42:34 UTC
Do you have x11-libs/cairo built with USE=qt4 ?
Comment 33 Ulenrich 2013-02-10 00:54:24 UTC
Yes:
[ebuild   R    ] x11-libs/cairo-1.12.12  USE="X glib qt4 svg xcb (-aqua) -debug -directfb -doc (-drm) (-gallium) -legacy-drivers -opengl -openvg -static-libs"
Comment 34 Davide Pesavento (RETIRED) gentoo-dev 2013-02-10 01:37:14 UTC
Awesome, found the issue.

With cairo[qt4], cairo.pc is pulling in /usr/include/qt4 before (almost) everything else, thus the installed qt4 headers are used instead of the ones from ${S} (qconfig.h and gentoo-qconfig.h in particular).

So, rebuild cairo with USE=-qt4 and then rebuild qt-gui. This should solve at least the MITSHM issue, maybe also the XInput one.
Comment 35 Ulenrich 2013-02-10 04:21:10 UTC
@Davide, awesome you found the issue! 
Qt-gui just compiled having cairo[-qt]. I see you have been sure enough to already put the hint about it into the qt-gui.ebuild.

Why the hell does pkgconfig<0.28 not produce the failure? Is the new stable pkgconfig-0.28 just a bit more correctly doing its work? Was there builtin some workaround into the previous pkgconfig?
Comment 36 Michael Palimaka (kensington) gentoo-dev 2013-02-10 16:26:47 UTC
*** Bug 456286 has been marked as a duplicate of this bug. ***
Comment 37 Markos Chandras (RETIRED) gentoo-dev 2013-02-10 20:41:25 UTC
(In reply to comment #34)
> Awesome, found the issue.
> 
> With cairo[qt4], cairo.pc is pulling in /usr/include/qt4 before (almost)
> everything else, thus the installed qt4 headers are used instead of the ones
> from ${S} (qconfig.h and gentoo-qconfig.h in particular).
> 
> So, rebuild cairo with USE=-qt4 and then rebuild qt-gui. This should solve
> at least the MITSHM issue, maybe also the XInput one.

yes that fixes it. So what's the real bug here?
Comment 38 Ben de Groot (RETIRED) gentoo-dev 2013-02-11 09:26:39 UTC
cairo[qt4] enables the experimental qt4 backend for cairo, that probably nobody needs. After discussion with Davide, I have masked this useflag for all versions of cairo.

This should fix the present issue.

So users who hit this, should sync, rebuild cairo (with qt4 useflag disabled) and then should be able to build qt-gui without problem.
Comment 39 Davide Pesavento (RETIRED) gentoo-dev 2013-02-11 09:49:39 UTC
Additionally, qt-gui[gtkstyle] now depends on cairo[-qt4], to ensure the problem will never appear again.
Comment 40 Davide Pesavento (RETIRED) gentoo-dev 2013-02-12 20:32:57 UTC
*** Bug 456756 has been marked as a duplicate of this bug. ***