Hi, On my hardened dev box, the 4.4.0_rc1 versions of qt-core, qt-gui, qt-qt3support, and qt-sql fail probably due to text relocations, e.g. qt-core: compiling ../3rdparty/harfbuzz/src/harfbuzz.c <command-line>:0: fatal error: had to relocate PCH compilation terminated. make: *** [.obj/release-shared/harfbuzz.o] Error 1 qt-gui: moc dialogs/qpagesetupdialog.h compiling dialogs/qabstractprintdialog.cpp <command-line>:0: fatal error: had to relocate PCH compilation terminated. compiling dialogs/qabstractpagesetupdialog.cpp make: *** [.obj/release-shared/qabstractprintdialog.o] Error 1 make: *** Waiting for unfinished jobs.... <command-line>:0: fatal error: had to relocate PCH I am not sure how easy it would be to fix this if possible at all. In the meantime, since everything compiles fine albeit much slower with -no-pch, could a pch useflag be added to allow pch to be turned off? Thanks, Markus
Adding support for the pch USE flag would be logical/consistent and would solve the problem as it is masked in the hardened profile. Furthermore, it can be enabled by default for most everyone else by declaring in the following manner: IUSE="+pch" By default, "pkginternal" is one of the sources defined in the USE_ORDER variable. In this way, users of other profiles will continue to benefit from reduced compile times.
The pch flag was present in the 4.3 series. I dropped it in the 4.4 series because I wasn't sure the repercussions of using it across multiple packages in the way we do with the split. but if it's well tested, I'm sure it can be readded.
I added the USE flag back to the split Qt ebuilds. Qt enables PCH by default so it should be relatively safe. I didn't make it a default USE flag though.