>>> Emerging (1 of 1) media-sound/murmur-0.9.4 to / * mumble-0.9.4.tar.bz2 MD5 ;-) ... [ ok ] * mumble-0.9.4.tar.bz2 RMD160 ;-) ... [ ok ] * mumble-0.9.4.tar.bz2 SHA1 ;-) ... [ ok ] * mumble-0.9.4.tar.bz2 SHA256 ;-) ... [ ok ] * mumble-0.9.4.tar.bz2 size ;-) ... [ ok ] * checking ebuild checksums ;-) ... [ ok ] * checking auxfile checksums ;-) ... [ ok ] * checking miscfile checksums ;-) ... [ ok ] * checking mumble-0.9.4.tar.bz2 ;-) ... [ ok ] >>> Unpacking source... >>> Unpacking mumble-0.9.4.tar.bz2 to /var/tmp/portage/media-sound/murmur-0.9.4/work >>> Source unpacked. >>> Compiling source in /var/tmp/portage/media-sound/murmur-0.9.4/work/mumble-0.9.4 ... make -f Makefile.Release make[1]: Entering directory `/var/tmp/portage/media-sound/murmur-0.9.4/work/mumble-0.9.4' i386-pc-linux-gnu-g++ -O2 -march=pentium4 -pipe -x c++-header -c -pipe -Wshadow -Woverloaded-virtual -Wold-style-cast -Wconversion -Wsign-compare -O2 -march=pentium4 -pipe -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_SQL_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtSql -I/usr/include/qt4/QtSql -I/usr/include/qt4 -Irelease -I. murmur_pch.h -o release/murmur.gch/c++ i386-pc-linux-gnu-g++ -O2 -march=pentium4 -pipe -c -include release/murmur -pipe -Wshadow -Woverloaded-virtual -Wold-style-cast -Wconversion -Wsign-compare -O2 -march=pentium4 -pipe -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_SQL_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtSql -I/usr/include/qt4/QtSql -I/usr/include/qt4 -Irelease -I. -o release/ACL.o ACL.cpp cc1plus: release/murmur: No such file or directory cc1plus: one or more PCH files were found, but they were invalid cc1plus: use -Winvalid-pch for more information make[1]: *** [release/ACL.o] Error 1 make[1]: Leaving directory `/var/tmp/portage/media-sound/murmur-0.9.4/work/mumble-0.9.4' make: *** [release] Error 2 !!! ERROR: media-sound/murmur-0.9.4 failed. Call stack: ebuild.sh, line 1614: Called dyn_compile ebuild.sh, line 971: Called qa_call 'src_compile' environment, line 3028: Called src_compile murmur-0.9.4.ebuild, line 42: Called die !!! emake failed !!! If you need support, post the topmost build error, and the call stack if relevant. !!! A complete build log is located at '/var/tmp/portage/media-sound/murmur-0.9.4/temp/build.log'. The problem seems to be it cannot find the precompiled headers. It tries to find it here: release/murmur But really it is found here: release/murmur.gch <=GCC-3.4.6 is supposed to have limited precompiled header support. Precompiled header support I believe (might be wrong) was added with 3.4.5. murmur does compile fine on an AMD64 system using GCC-4.1.1. IF you edit the mumble.pri file, and remove precompiled headers option, it compiles fine. Reproducible: Always Steps to Reproduce: 1.emerge murmur with an x86 hardened profile with <=gcc-3.4.6 2. 3. Actual Results: emerge stops, compile does not progress beyond trying to find the precompiled headers. Expected Results: The compile should have found the pre-compiled headers, and continued to compile. OR pre-compiled headers should have been disabled. IF you edit the mumble.pri file, and remove the precompile_header option it will compile.
with gcc version 3.4.6 (Gentoo 3.4.6-r2, ssp-3.4.6-1.0, pie-8.7.10) works to me with precompiled headers, can someone try?
I was also flipping through the gcc mailing list archives relating to precompiled headers, and found mentions of there being potential problems with PAX and or PAX like features. After booting with a non-pax kernel, it would seem the error has been resolved. Seems that pax when forcing random memory addresses on et_exec and et_dyn's was causing the invalid relocation errors in the precompiled headers. Makes sense, and REALLY wish I had thought of that earlier! However if I may make a suggestion: changing the ebuild to add a pch use flag (like QT has) might not be a bad idea. Since the reason I was looking to try murmur was to get away from the media-sound/teamspeak2-server-bin binary issues, and I am probably not the only one thinking along those lines.