After #519110 was fixed, I noticed that packages depending on qtdbus:4 (e.g. libdbusmenu-qt-0.9.3_pre20140619 or PyQt4-4.11.2-r1) did not compile. I tracked this down to difference between some header files with qtcore-4.8.6 before and after #519110. Reproducible: Always Steps to Reproduce: 1. Install a recent version of qtcore-4.8.6 (after the eclass update mentioned in #519110) 2. Try to install e.g. libdbusmenu-qt-0.9.3_pre20140619 Actual Results: See attached build log Expected Results: That packages dependent on qtdbus:4 compiles. $ emerge --info Portage 2.2.14 (python 2.7.8-final-0, default/linux/amd64/13.0, gcc-4.9.1, glibc-2.19-r1, 3.17.1-gentoo-r1 x86_64) ================================================================= System uname: Linux-3.17.1-gentoo-r1-x86_64-Intel-R-_Core-TM-_i7-3820QM_CPU_@_2.70GHz-with-gentoo-2.2 KiB Mem: 16387772 total, 7576496 free KiB Swap: 1048572 total, 1048572 free Timestamp of tree: Mon, 20 Oct 2014 06:30:01 +0000 ld GNU ld (Gentoo 2.24 p1.4) 2.24 app-shells/bash: 4.3_p30 dev-java/java-config: 2.2.0 dev-lang/perl: 5.20.1-r1 dev-lang/python: 2.7.8, 3.4.2 dev-util/cmake: 3.0.2 dev-util/pkgconfig: 0.28-r2 sys-apps/baselayout: 2.2 sys-apps/sandbox: 2.6-r1 sys-devel/autoconf: 2.13, 2.69 sys-devel/automake: 1.11.6, 1.14.1 sys-devel/binutils: 2.24-r3 sys-devel/gcc: 4.9.1 sys-devel/gcc-config: 1.8 sys-devel/libtool: 2.4.2-r1 sys-devel/make: 4.1 sys-kernel/linux-headers: 3.17 (virtual/os-headers) sys-libs/glibc: 2.19-r1 Repositories: gentoo brunvoll fol4 qt local ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="* -@EULA Oracle-BCLA-JavaSE google-chrome AdobeFlash-11.x skype-4.0.0.7-copyright" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -march=native -pipe -fno-stack-protector" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/themes/oxygen-gtk/gtk-2.0" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-O2 -march=native -pipe -fno-stack-protector" DISTDIR="/usr/portage/distfiles" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="http://10.10.1.19/ http://distfiles.gentoo.org" INSTALL_MASK=" /etc/runlevels /etc/conf.d /etc/init.d " LANG="en_US.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j8" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/var/lib/layman/brunvoll /var/lib/layman/fol4 /var/lib/layman/qt /usr/portage/local" USE="X accessibility acl aes-ni alsa amd64 apci avx bzip2 caps cli cracklib crypt cups cxx dbus dri fortran gif gudev hvm iconv icu jpeg libnotify lxqt lzma lzo mmx mmxext modules multilib ncurses nls nptl ogg opengl pam pcre png policykit qt3support qt4 qt5 readline samba session slim sse sse2 sse3 sse4 sse4_1 sse4_2 ssl ssse3 startup-notification svg systemd tcpd threads tiff udev udisks unicode upower vdpau xattr xdg xinerama xscreensaver xv xvmc zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en en_US" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby19 ruby20" USERLAND="GNU" VIDEO_CARDS="nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" USE_PYTHON="2.7 3.4" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, SYNC
Created attachment 387050 [details] Build log with USE="qt4 qt5" and qmake set to /usr/lib64/qt4/qmake Build log of libdbusmenu-qt-0.9.3_pre20140619 with USE="qt4 qt5" and qmake set to /usr/lib64/qt4/qmake. This compiled before #519110 was fixed.
Created attachment 387052 [details, diff] Patch showing the differences between headers installed with qtcore-4.8.6 pre- and post- #519110 Patch showing the differences pre- and post- #519110. If you apply this against root after installing qtcore-4.8.6, libdbusmenu-qt will compile again.
So most likely we're going back to the separate header directories idea?
I'm afraid so... What's the suggested ABI-specific include dir?
I'd guess /usr/$(get_libdir)/qt4/include :).
Ok, I'm going to test how broken the alternate headerdir setup is :).
Apparently wrapping qconfig.h works on fedora: http://pkgs.fedoraproject.org/cgit/qt5-qtbase.git/tree/qt5-qtbase.spec#n464 Why isn't it working for us?
Ok... the sed in qtcore needs adjustments.
Should be fixed now. https://github.com/gentoo/qt/commit/f1c2941f8b40e41e3413f4465c2edec1bb1a78a8
(you have to re-emerge at least qtcore)
Nice! So this means the headers are unified still?
I mean, are there plans for splitting the headers anymore since this works?
Only qconfig.h is wrapped now, and I do not intend to install all the headers separately unless some other insurmountable problem turns up.
*** Bug 528486 has been marked as a duplicate of this bug. ***
*** Bug 528482 has been marked as a duplicate of this bug. ***
*** Bug 528494 has been marked as a duplicate of this bug. ***