Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 167428 - media-sound/murmur has precompiled header issue with <=gcc-3.4.6
Summary: media-sound/murmur has precompiled header issue with <=gcc-3.4.6
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Timothy Redaelli (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-02-18 03:40 UTC by X
Modified: 2007-02-20 05:11 UTC (History)
2 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description X 2007-02-18 03:40:20 UTC
>>> 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.
Comment 1 Timothy Redaelli (RETIRED) gentoo-dev 2007-02-18 19:35:09 UTC
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?
Comment 2 X 2007-02-20 05:11:18 UTC
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.