[gentoo] Firefox 11.0のコンパイルできなかった
emergeすると謎のinternal compiler error:
# emerge -av firefox
(・・・中略・・・)
x86_64-pc-linux-gnu-g++ -o SpdySession.o -c -I../../../dist/stl_wrappers -I../../../dist/system_wrappers -include /var/tmp/portage/www-client/firefox-11.0/work/mozilla-release/config/gcc_hidden.h -DMOZILLA_INTERNAL_API -D_IMPL_NS_COM -DEXPORT_XPT_API -DEXPORT_XPTC_API -D_IMPL_NS_GFX -D_IMPL_NS_WIDGET -DIMPL_XREAPI -DIMPL_NS_NET -DIMPL_THEBES -DSTATIC_EXPORTABLE_JS_API -DOSTYPE=\”Linux3.2\” -DOSARCH=Linux -DEXCLUDE_SKIA_DEPENDENCIES -DOS_LINUX=1 -DOS_POSIX=1 -DIMPL_NS_NET -I/var/tmp/portage/www-client/firefox-11.0/work/mozilla-release/netwerk/protocol/http/../../base/src -I/var/tmp/portage/www-client/firefox-11.0/work/mozilla-release/xpcom/ds -I/var/tmp/portage/www-client/firefox-11.0/work/mozilla-release/content/base/src -I/var/tmp/portage/www-client/firefox-11.0/work/mozilla-release/content/events/src -I/var/tmp/portage/www-client/firefox-11.0/work/mozilla-release/ipc/chromium/src -I/var/tmp/portage/www-client/firefox-11.0/work/mozilla-release/ipc/glue -I../../../ipc/ipdl/_ipdlheaders -I/var/tmp/portage/www-client/firefox-11.0/work/mozilla-release/netwerk/protocol/http -I. -I../../../dist/include -I../../../dist/include/nsprpub -I/usr/include/nspr -I/usr/include/nss -fPIC -fno-rtti -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pipe -march=core2 -mtune=core2 -mno-avx -fno-exceptions -fno-strict-aliasing -fshort-wchar -pthread -pipe -DNDEBUG -DTRIMMED -g -Os -freorder-blocks -fomit-frame-pointer -DMOZILLA_CLIENT -include ../../../mozilla-config.h -MD -MF .deps/SpdySession.pp /var/tmp/portage/www-client/firefox-11.0/work/mozilla-release/netwerk/protocol/http/SpdySession.cpp
In file included from ../../../dist/include/nsAutoPtr.h:48,
from ../../../dist/include/gfxPattern.h:46,
from ../../../dist/include/IPC/IPCMessageUtils.h:54,
from ../../../ipc/ipdl/_ipdlheaders/mozilla/net/PNecko.h:14,
from ../../../ipc/ipdl/_ipdlheaders/mozilla/net/PNeckoChild.h:9,
from ../../../dist/include/mozilla/net/NeckoChild.h:44,
from /var/tmp/portage/www-client/firefox-11.0/work/mozilla-release/netwerk/protocol/http/nsHttp.h:60,
from ../../../dist/include/mozilla/net/HttpChannelParent.h:45,
from /var/tmp/portage/www-client/firefox-11.0/work/mozilla-release/netwerk/protocol/http/HttpChannelParent.cpp:41:
../../../dist/include/nsCOMPtr.h: In function ‘nsQueryInterface do_QueryInterface(nsISupports*)’:
../../../dist/include/nsCOMPtr.h:316: internal compiler error: in tree_nrv, at tree-nrv.c:143
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://bugs.gentoo.org/> for instructions.
いろいろと調べるとgccのバグのもよう。しかも修正済みなんですね。
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41153
以前なんかのバグでgcc 4.4に戻してからそのままにしてしまってた。gcc 4.5でコンパイルしてみる。
# gcc-config 4.5.3
* Switching native-compiler to x86_64-pc-linux-gnu-4.5.3 …
>>> Regenerating /etc/ld.so.cache… [ ok ]* If you intend to use the gcc from the new profile in an already
* running shell, please remember to do:* . /etc/profile
# . /etc/profile
# emerge -av firefox(・・・ 中略 ・・・)
>>> Original instance of package unmerged safely.
* Updating desktop mime database …
* Updating icons cache … [ ok ]
>>> www-client/firefox-11.0 merged.
まあ出来ますわな。