mozilla-firefox 0.8 fails to link, if the C++ flag "no-default-inline" is active. Filtering the flag in the ebuild results in a successful version. Reproducible: Always Steps to Reproduce: 1. CXXFLAGS=-fno-default-inline emerge mozilla-firefox 2. 3. Actual Results: unresolved symbols
Created attachment 26109 [details, diff] mozilla-firefox-0.8.ebuild.diff patch for the ebuild adding the filter line
This is still true for 0.8-rc2 !! ===== %< ===== gmake[4]: Entering directory `/volatile/portage/mozilla-firefox-0.8-r2/work/mozilla/xpcom/tools/registry' regxpcom.cpp g++ -o regxpcom.o -c -DXPCOM_GLUE -DOSTYPE= Linux2.4 -DOSARCH= Linux -I./../../build -I../../../dist/include/string -I../../../dist/include/embedstring -I../../../dist/include/xpcom -I../../../dist/include -I/volatile/portage/mozilla-firefox-0.8-r2/work/mozilla/dist/include/nspr -I/usr/X11R6/include -fPIC -I/usr/X11R6/include -frtti -fno-handle-exceptions -Wconversion -Wpointer-arith -Wcast-align -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-long-long -march=athlon-xp -m3dnow -msse -mfpmath=sse -mmmx -pipe -foptimize-sibling-calls -fprefetch-loop-arrays -falign-functions=32 -fno-default-inline -Wno-return-type -w -Wno-return-type -w -Wno-return-type -w -s -fforce-addr -fshort-wchar -pthread -pipe -DNDEBUG -DTRIMMED -ffunction-sections -O2 -I/usr/X11R6/include -DMOZILLA_CLIENT -include ../../../mozilla-config.h -Wp,-MD,.deps/regxpcom.pp regxpcom.cpp g++ -I/usr/X11R6/include -frtti -fno-handle-exceptions -Wconversion -Wpointer-arith -Wcast-align -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-long-long -march=athlon-xp -m3dnow -msse -mfpmath=sse -mmmx -pipe -foptimize-sibling-calls -fprefetch-loop-arrays -falign-functions=32 -fno-default-inline -Wno-return-type -w -Wno-return-type -w -Wno-return-type -w -s -fforce-addr -fshort-wchar -pthread -pipe -DNDEBUG -DTRIMMED -ffunction-sections -O2 -o regxpcom regxpcom.o -L../../../dist/bin -L../../../dist/lib ../../../dist/lib/libxpcomglue.a ../../../dist/lib/libembedstring.a -L/volatile/portage/mozilla-firefox-0.8-r2/work/mozilla/dist/lib -lplds4 -lplc4 -lnspr4 -lpthread -ldl -ldl -lm regxpcom.o(.gnu.linkonce.t._ZN24nsGetServiceFromCategoryC2EPKcS1_P11nsISupportsPj+0x1c): In function `nsGetServiceFromCategory::nsGetServiceFromCategory[not-in-charge](char const*, char const*, nsISupports*, unsigned*)': : undefined reference to `vtable for nsGetServiceFromCategory' regxpcom.o(.gnu.linkonce.t._ZN24nsGetServiceFromCategoryC1EPKcS1_P11nsISupportsPj+0x1c): In function `nsGetServiceFromCategory::nsGetServiceFromCategory[in-charge](char const*, char const*, nsISupports*, unsigned*)': : undefined reference to `vtable for nsGetServiceFromCategory' regxpcom.o(.gnu.linkonce.t._ZN24nsGetServiceFromCategoryD2Ev+0x19): In function `nsGetServiceFromCategory::~nsGetServiceFromCategory [not-in-charge]()': : undefined reference to `vtable for nsGetServiceFromCategory' regxpcom.o(.gnu.linkonce.t._ZN24nsGetServiceFromCategoryD1Ev+0x19): In function `nsGetServiceFromCategory::~nsGetServiceFromCategory [in-charge]()': : undefined reference to `vtable for nsGetServiceFromCategory' regxpcom.o(.gnu.linkonce.t._ZN24nsGetServiceFromCategoryD0Ev+0x1c): In function `nsGetServiceFromCategory::~nsGetServiceFromCategory [in-charge deleting]()': : undefined reference to `vtable for nsGetServiceFromCategory' collect2: ld returned 1 exit status gmake[4]: *** [regxpcom] Error 1 gmake[4]: Leaving directory `/volatile/portage/mozilla-firefox-0.8-r2/work/mozilla/xpcom/tools/registry' gmake[3]: *** [libs] Error 2 gmake[3]: Leaving directory `/volatile/portage/mozilla-firefox-0.8-r2/work/mozilla/xpcom/tools' gmake[2]: *** [libs] Error 2 gmake[2]: Leaving directory `/volatile/portage/mozilla-firefox-0.8-r2/work/mozilla/xpcom' gmake[1]: *** [tier_2] Error 2 gmake[1]: Leaving directory `/volatile/portage/mozilla-firefox-0.8-r2/work/mozilla' make: *** [default] Error 2 !!! ERROR: net-www/mozilla-firefox-0.8-r2 failed. !!! Function src_compile, Line 198, Exitcode 2 !!! (no error message) ===== %< ===== The build works fine if the no-default-inline flag is filtered.
Thanks, fixed in 0.8-r3