kdelibs-4.4.1-r1 fails to compile at step 'kcolorutilsdemo'. I tried with MAKEOPTS="-j1" & the same thing happened. kdelibs-4.3.5 & 4.3.3 also fail to compile with the same 'Make error', though not necessarily at the same point. I also could not compile PyQt4 after updating to qt-4.6.2 (separate bug report). I just updated Portage to 2.1.7.17 . I will attach the requested files separately. Reproducible: Always Steps to Reproduce: 1. 'emerge kdelibs' 2. wait awhile 3. read error msgs Actual Results: compile failed Expected Results: compile usually succeeds
Created attachment 222341 [details] result of 'emerge --info =kde-base/kdelibs-4.4.1-r1'
Created attachment 222343 [details] result of 'emerge -pqv =kde-base/kdelibs-4.4.1-r1'
Created attachment 222345 [details] build log
Created attachment 222347 [details] build environment
/usr/lib64/qt4/libQtGui.so: undefined reference to `QEventDispatcherGlib::hasPendingEvents()' Looks like a bad Qt4 upgrade (or downgrade, which will break for sure)
I filed another bug 308115 re PyQt4 , which led me to the solution. I remerged all 11 Qt pkgs with USE="exceptions glib" & kdelibs-4.1.1-r1 has compiled successfully. In the course of emerging the Qt pkgs originally, I encountered a warning that I needed to add "exceptions" & IIRC another that I needed to add "glib" (there was a choice of some sort). As a result, I added the USE prefix, but only for those pkgs. I'm not sure how a user can find out that s/he has to apply these flags to all the Qt pkgs or face serious problems with other pkgs later. May I gently suggest that a clearer warning is needed ? something like "If you compile any Qt package with USE="exceptions glib", then you must compile all of them with both those flags or you will run into trouble compiling other packages which depend on them". On a brighter note, I have discovered that I can live quite easily without any KDE apps (I use Fluxbox to manage my desktop), if I need to.
Well, the wrong thing that you did was using USE for anything, but testing. If you'd put it in package.use, 'emerge -upvD world' would have warned you about the conflict.