Closed
Bug 315077
Opened 20 years ago
Closed 13 years ago
final link to sunbird-bin fails in a static build
Categories
(Firefox Build System :: General, defect)
Tracking
(Not tracked)
RESOLVED
WONTFIX
People
(Reporter: wolfiR, Unassigned)
Details
final link to sunbird-bin fails in a static build.
That is most probably because visibility features because it works again if visibility feature is completely deactivated.
c++ -o sunbird-bin -I/usr/X11R6/include -fno-rtti -fno-exceptions -Wall -Wconversion -Wpointer-arith -Wcast-align -Woverloaded-virtu
al -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wno-long-long -pedantic -O2 -fmessage-length=0 -Wall -D_FORTIFY_SOURCE=2 -O
s -fno-strict-aliasing -fshort-wchar -pthread -pipe -DNDEBUG -DTRIMMED -O2 -fmessage-length=0 -Wall -D_FORTIFY_SOURCE=2 -Os -fno-st
rict-aliasing nsCalendarApp.o nsStaticComponents.o -L../../../dist/bin -L../../../dist/lib -L../../../dist/lib/components ../
../../dist/lib/libxulapp_s.a -L../../../dist/bin -lmozjs -L../../../dist/bin -lxpcom -lxpcom_core -L/usr/lib64 -lplds4 -lplc4 -lnsp
r4 -lpthread -ldl -L/usr/X11R6/lib64 -L/opt/gnome/lib64 -lgtk-x11-2.0 -latk-1.0 -lgdk-x11-2.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lpa
ngo-1.0 -lcairo -lgmodule-2.0 -ldl -lfreetype -lfontconfig -lXrender -lX11 -lXext -lpng12 -lz -lglitz -lm -lgobject-2.0 -lglib-2.0
-L/opt/gnome/lib64 -lpangoxft-1.0 -lpangoft2-1.0 -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 -L/usr/X11
R6/lib64 -lX11 -ldl -lm ../../../dist/lib/components/libxpcom_compat_c.a ../../../dist/lib/components/libxpconnect.a ../../../dist
/lib/components/libuconv.a ../../../dist/lib/components/libi18n.a ../../../dist/lib/components/libnecko.a ../../../dist/lib/componen
ts/libjar50.a ../../../dist/lib/components/libpref.a ../../../dist/lib/components/libcaps.a ../../../dist/lib/components/librdf.a ..
/../../dist/lib/components/libhtmlpars.a ../../../dist/lib/components/libgfxps.a ../../../dist/lib/components/libgfx_gtk.a ../../../
dist/lib/components/libimglib2.a ../../../dist/lib/components/libwidget_gtk2.a ../../../dist/lib/components/libgklayout.a ../../../d
ist/lib/components/libdocshell.a ../../../dist/lib/components/libembedcomponents.a ../../../dist/lib/components/libwebbrwsr.a ../../
../dist/lib/components/libeditor.a ../../../dist/lib/components/libtxmgr.a ../../../dist/lib/components/libnsappshell.a ../../../dis
t/lib/components/libchrome.a ../../../dist/lib/components/libmork.a ../../../dist/lib/components/libfileview.a ../../../dist/lib/com
ponents/libremoteservice.a ../../../dist/lib/components/libtkautocomplete.a ../../../dist/lib/components/libcommandlines.a ../../../
dist/lib/components/libtoolkitcomps.a ../../../dist/lib/components/libpipboot.a ../../../dist/lib/components/libpipnss.a ../../../di
st/lib/components/libpippki.a ../../../dist/lib/components/libstoragecomps.a ../../../dist/lib/components/libautoconfig.a ../../../d
ist/lib/components/libsystem-pref.a ../../../dist/lib/components/libxmlextras.a ../../../dist/lib/components/libcalbasecomps.a ../..
/../dist/lib/components/libwebdav.a ../../../dist/lib/libunicharutil_s.a ../../../dist/lib/libucvutil_s.a ../../../dist/lib/libgtkxt
bin.a ../../../dist/lib/libgfxshared_s.a ../../../dist/lib/libgfxpsshar.a ../../../dist/lib/libgkgfx.a ../../../dist/lib/libxulapp_s
.a -lpng -ljpeg -lz -L../../../dist/bin -L../../../dist/lib ../../../dist/lib/libcrmf.a -lsmime3 -lssl3 -lnss3 -lsoftokn3 -lm
ozical -L/usr/X11R6/lib64 -lXt -L../../../dist/lib -lxpcom_compat
stark@Hygiea:~> grep "undefined reference" /tmp/build.log
nsXPConnect.cpp:(.text+0x1592): undefined reference to `XPTI_GetInterfaceInfoManager'
nsXPConnect.cpp:(.text+0x1b66): undefined reference to `XPTI_GetInterfaceInfoManager'
xpccomponents.cpp:(.text+0x188e): undefined reference to `XPTI_GetInterfaceInfoManager'
xpccomponents.cpp:(.text+0x1962): undefined reference to `XPTI_GetInterfaceInfoManager'
xpccomponents.cpp:(.text+0x19cc): undefined reference to `XPTI_GetInterfaceInfoManager'
../../../dist/lib/components/libxpconnect.a(xpccomponents.o):xpccomponents.cpp:(.text+0x1aa0): more undefined references to `XPTI_GetInterfaceInfoManager' follow
xpcwrappednative.cpp:(.text+0x1f4a): undefined reference to `XPTC_InvokeByIndex'
nsProtocolProxyService.cpp:(.gnu.linkonce.t._ZN12nsTHashtableI17nsBaseHashtableETI16nsCStringHashKeyjEE5ClearEv[nsTHashtable<nsBaseHashtableET<nsCStringHashKey, unsigned int> >::Clear()]+0x3): undefined reference to `PL_DHashStubEnumRemove(PLDHashTable*, PLDHashEntryHdr*, unsigned int, void*)'
nsFontMetricsXft.cpp:(.gnu.linkonce.t._ZN12nsTHashtableI17nsBaseHashtableETI16nsCharPtrHashKey9nsAutoPtrI13nsFontXftInfoEEE5ClearEv[nsTHashtable<nsBaseHashtableET<nsCharPtrHashKey, nsAutoPtr<nsFontXftInfo> > >::Clear()]+0x3): undefined reference to `PL_DHashStubEnumRemove(PLDHashTable*, PLDHashEntryHdr*, unsigned int, void*)'
nsCSSFrameConstructor.cpp:(.gnu.linkonce.t._ZN12nsTHashtableI17nsBaseHashtableETI15nsStringHashKey9nsAutoPtrI13nsCounterListEEE5ClearEv[nsTHashtable<nsBaseHashtableET<nsStringHashKey, nsAutoPtr<nsCounterList> > >::Clear()]+0x3): undefined reference to `PL_DHashStubEnumRemove(PLDHashTable*, PLDHashEntryHdr*, unsigned int, void*)'
nsCSSFrameConstructor.cpp:(.gnu.linkonce.t._ZN12nsTHashtableI17nsBaseHashtableETI18nsISupportsHashKeyN21nsCSSFrameConstructor11RestyleDataEEE5ClearEv[nsTHashtable<nsBaseHashtableET<nsISupportsHashKey, nsCSSFrameConstructor::RestyleData> >::Clear()]+0x3): undefined reference to `PL_DHashStubEnumRemove(PLDHashTable*, PLDHashEntryHdr*, unsigned int, void*)'
nsBidiPresUtils.cpp:(.gnu.linkonce.t._ZN12nsTHashtableI17nsBaseHashtableETI18nsISupportsHashKeyiEE5ClearEv[nsTHashtable<nsBaseHashtableET<nsISupportsHashKey, int> >::Clear()]+0x3): undefined reference to `PL_DHashStubEnumRemove(PLDHashTable*, PLDHashEntryHdr*, unsigned int, void*)'
../../../dist/lib/components/libgklayout.a(nsDocument.o):nsDocument.cpp:(.gnu.linkonce.t._ZN12nsTHashtableI26nsUint32ToContentHashEntryE5ClearEv[nsTHashtable<nsUint32ToContentHashEntry>::Clear()]+0x3): more undefined references to `PL_DHashStubEnumRemove(PLDHashTable*, PLDHashEntryHdr*, unsigned int, void*)' follow
nsXBLPrototypeBinding.cpp:(.text+0x1db4): undefined reference to `XPTI_GetInterfaceInfoManager'
nsXULPrototypeCache.cpp:(.gnu.linkonce.t._ZN12nsTHashtableI17nsBaseHashtableETI12nsURIHashKey8nsCOMPtrI16nsICSSStyleSheetEEE5ClearEv[nsTHashtable<nsBaseHashtableET<nsURIHashKey, nsCOMPtr<nsICSSStyleSheet> > >::Clear()]+0x3): undefined reference to `PL_DHashStubEnumRemove(PLDHashTable*, PLDHashEntryHdr*, unsigned int, void*)'
nsXULPrototypeCache.cpp:(.gnu.linkonce.t._ZN12nsTHashtableI17nsBaseHashtableETI12nsURIHashKey8nsCOMPtrI23nsIXULPrototypeDocumentEEE5ClearEv[nsTHashtable<nsBaseHashtableET<nsURIHashKey, nsCOMPtr<nsIXULPrototypeDocument> > >::Clear()]+0x3): undefined reference to `PL_DHashStubEnumRemove(PLDHashTable*, PLDHashEntryHdr*, unsigned int, void*)'
nsXULPrototypeCache.cpp:(.gnu.linkonce.t._ZN12nsTHashtableI17nsBaseHashtableETI12nsURIHashKey8nsCOMPtrI18nsIXBLDocumentInfoEEE5ClearEv[nsTHashtable<nsBaseHashtableET<nsURIHashKey, nsCOMPtr<nsIXBLDocumentInfo> > >::Clear()]+0x3): undefined reference to `PL_DHashStubEnumRemove(PLDHashTable*, PLDHashEntryHdr*, unsigned int, void*)'
nsXULPrototypeCache.cpp:(.gnu.linkonce.t._ZN12nsTHashtableI17nsBaseHashtableETI12nsURIHashKeyjEE5ClearEv[nsTHashtable<nsBaseHashtableET<nsURIHashKey, unsigned int> >::Clear()]+0x3): undefined reference to `PL_DHashStubEnumRemove(PLDHashTable*, PLDHashEntryHdr*, unsigned int, void*)'
nsDOMClassInfo.cpp:(.text+0x2291): undefined reference to `XPTI_GetInterfaceInfoManager'
nsDOMClassInfo.cpp:(.text+0x26c5): undefined reference to `XPTI_GetInterfaceInfoManager'
nsDOMClassInfo.cpp:(.text+0x3796): undefined reference to `XPTI_GetInterfaceInfoManager'
nsDOMClassInfo.cpp:(.text+0x4b65): undefined reference to `XPTI_GetInterfaceInfoManager'
nsDOMClassInfo.cpp:(.text+0xe55a): undefined reference to `XPTI_GetInterfaceInfoManager'
../../../dist/lib/components/libgklayout.a(nsScriptNameSpaceManager.o):nsScriptNameSpaceManager.cpp:(.text+0x483): more undefined references to `XPTI_GetInterfaceInfoManager' follow
nsHTMLFormElement.cpp:(.gnu.linkonce.t._ZN12nsTHashtableI17nsBaseHashtableETI15nsStringHashKey8nsCOMPtrI11nsISupportsEEE5ClearEv[nsTHashtable<nsBaseHashtableET<nsStringHashKey, nsCOMPtr<nsISupports> > >::Clear()]+0x3): undefined reference to `PL_DHashStubEnumRemove(PLDHashTable*, PLDHashEntryHdr*, unsigned int, void*)'
nsXTFInterfaceAggregator.cpp:(.text+0x15e): undefined reference to `XPTI_GetInterfaceInfoManager'
nsXTFInterfaceAggregator.cpp:(.text+0x32b): undefined reference to `XPTC_InvokeByIndex'
nsXTFWeakTearoff.cpp:(.text+0xb2): undefined reference to `XPTI_GetInterfaceInfoManager'
nsXTFWeakTearoff.cpp:(.text+0x251): undefined reference to `XPTC_InvokeByIndex'
nsChromeRegistry.cpp:(.gnu.linkonce.t._ZN12nsTHashtableIN16nsChromeRegistry16OverlayListEntryEE5ClearEv[nsTHashtable<nsChromeRegistry::OverlayListEntry>::Clear()]+0x3): undefined reference to `PL_DHashStubEnumRemove(PLDHashTable*, PLDHashEntryHdr*, unsigned int, void*)'
nsChromeRegistry.cpp:(.gnu.linkonce.t._ZN12nsTHashtableI17nsBaseHashtableETI12nsURIHashKey8nsCOMPtrI6nsIURIEEE5ClearEv[nsTHashtable<nsBaseHashtableET<nsURIHashKey, nsCOMPtr<nsIURI> > >::Clear()]+0x3): undefined reference to `PL_DHashStubEnumRemove(PLDHashTable*, PLDHashEntryHdr*, unsigned int, void*)'
Comment 1•20 years ago
|
||
This looks like an link-command ordering issue to me: -lxpcom_core and such need to be after all of the static components.
| Reporter | ||
Comment 2•20 years ago
|
||
So why it works if I deactivate the visibility feature?
I could attach a log from a working link command which is identical to the above.
Comment 3•20 years ago
|
||
It probably works when you disable hidden-visibility because the resolution of symbols in the PLT is done at a different time than hidden/static symbols, which are resolved "early".
| Reporter | ||
Comment 4•20 years ago
|
||
hmm, probably. I will retest it reordered.
| Reporter | ||
Comment 5•20 years ago
|
||
I've moved xpcom_core and xpcom now to the end of the link command. But there is no difference. As XPTC_* stuff is xpcom* this should have been sufficient, shouldn't it?
Comment 6•20 years ago
|
||
That should be sufficient, yes... we should probably figure out what sunbird is doing differently from browser/app
Comment 7•13 years ago
|
||
Can we close this report since sunbird is dead ?
Updated•8 years ago
|
Product: Core → Firefox Build System
You need to log in
before you can comment on or make changes to this bug.
Description
•