Closed Bug 216565 Opened 23 years ago Closed 22 years ago

Linking firebird using "--enable-static" option fails. (undefined reference to `nsSystemPrefModule_gModuleInfo in nsStaticComponents.o)

Categories

(Firefox Build System :: General, defect)

x86
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 216022

People

(Reporter: yekkim, Assigned: bryner)

Details

User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5b) Gecko/20030817 Mozilla Firebird/0.6.1+ Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5b) Gecko/20030817 Mozilla Firebird/0.6.1+ When building Firebird with the --enable-static (see .mozconfig attached below this comment) option, the build fails on the its 'final' step of linking mozillafirebird-bin with the final lines: c++ -o MozillaFirebird-bin -I/usr/X11R6/include -fno-rtti -fno-exceptions -Wall -Wconversion -Wpointer-arith -Wcast-align -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-long-long -pedantic -fshort-wchar -pthread -pipe -DNDEBUG -DTRIMMED -O3 -march=athlon-xp nsBrowserApp.o nsStaticComponents.o -L../../dist/bin -L../../dist/lib -L../../dist/lib/components -lxpcom_compat_c -lxpconnect -luconv -lucvmath -li18n -loji -lipcdc -lnecko -lnecko2 -lpref -lcaps -lrdf -lhtmlpars -lgfxps -lgfxxprint -lgfx_gtk -limglib2 -lgkplugin -ljsdom -lwidget_gtk2 -lxremote_client -lgklayout -lmork -ldocshell -lprofile -lnsprefm -lembedcomponents -lwebbrwsr -leditor -ltxmgr -lcomposer -lnsappshell -lchrome -laccessibility -lfileview -lmozfind -lxremoteservice -lappcomps -ltoolkitcomps -lcookie -lxmlextras -lp3p -lautoconfig -lsystem-pref -ltransformiix -luniversalchardet -ltypeaheadfind -lwebsrvcs -lpipboot -lpipnss -lpippki -lbrowsercomps -lunicharutil_s -lucvutil_s -ljsj -lgtkxtbin -lgfxshared_s -lgfxft2_s -lxlibrgb -lxprintutil -lgkgfx -lxulapp_s ../../dist/lib/libxulapp_s.a -L../../dist/bin -lmozjs -L../../dist/bin -lxpcom -L/opt/src/firebird/mozilla/dist/lib -lplds4 -lplc4 -lnspr4 -lpthread -ldl -Wl,--export-dynamic -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 -ldl -lm -L../../dist/lib/components -L../../dist/lib -lmozpng -L../../dist/lib -lmozjpeg -L../../dist/lib -lmozz -L../../dist/bin -L../../dist/lib ../../dist/lib/libcrmf.a -lsmime3 -lssl3 -lnss3 -lsoftokn3 -L/usr/X11R6/lib -lXt -L/usr/X11R6/lib -lXp -lXext -lX11 -L../../dist/lib -lxpcom_compat nsStaticComponents.o: In function `nsSystemPrefModule_NSGetmodule': nsStaticComponents.o(.text+0x569): undefined reference to `nsSystemPrefModule_gModuleInfo' collect2: ld returned 1 exit status gmake[3]: *** [MozillaFirebird-bin] Error 1 gmake[3]: Leaving directory `/opt/src/firebird/mozilla/browser/app' gmake[2]: *** [libs] Error 2 gmake[2]: Leaving directory `/opt/src/firebird/mozilla/browser' gmake[1]: *** [tier_99] Error 2 gmake[1]: Leaving directory `/opt/src/firebird/mozilla' make: *** [default] Error 2 This is the .mozconfig I'm using to build: export MOZ_PHOENIX=1 export LD_LIBRARY_PATH=/usr/local export PKG_CONFIG_PATH=/usr/lib/pkgconfig export GTK_CONFIG=/usr/bin/gtk-config mk_add_options MOZ_PHOENIX=1 ac_add_options --enable-crypto ac_add_options --enable-default-toolkit=gtk2 ac_add_options --disable-tests ac_add_options --disable-debug ac_add_options --disable-mailnews ac_add_options --disable-composer ac_add_options --disable-ldap ac_add_options --enable-optimize="-O3 -march=athlon-xp" ac_add_options --enable-extensions=cookie,xml-rpc,xmlextras,p3p,pref,transformiix,universalchardet,typeaheadfind,webservices,inspector,venkman ac_add_options --enable-jsd ac_add_options --with-glib-prefix=/usr ac_add_options --with-glib-exec-prefix=/usr ac_add_options --with-libIDL-prefix=/usr/local ac_add_options --with-libIDL-exec-prefix=/usr/local ac_add_options --enable-xft # try some stuff for static build #export MOZ_FAT_EMBED=1 ac_add_options --enable-static ac_add_options --disable-shared -- Platform is Redhat 8, gcc v.3.2.2. The builds work fine without the final two lines in my .mozconfig above (i.e. as a non-static build). This has been happening since I started building firebird (~ 2 months, from 01Jun2003 to the present (18AUG2003). The error is always as it appears above. I usually do a complete CVS co, followed by a cvs up -Pd mozilla/browser mozilla/toolkit. In lieu of that, I pull down the latest tarball and do the cvs up cmd on that. Is this important? Beats me since I've never seen a linux static build, but I'm assuming that the static build will embed all or most of the .so libs into the mozillafirebird-bin image making it quite large, and hopefully make the application a bit more portable across linux platforms (although that's probably wishful thinking). I looked at another bug concerning another missing symbol but only on the SUN platform (187754) where there were a few theories along with the realization that "export MOZ_FAT_EMBED=1" caused him to get past it. The other thought there was that in the less full-to-the-brim version (no MOZ_FAT_EMBED) that in the flurry of trimming down modules some vital sequence was broken (out of order). Reproducible: Always Steps to Reproduce: 1. Use my .mozconfig file on RH8, gcc 3.2. 2. pull down latest source (well, up to 18Aug2003 is as far as I've tried) 3. ./configure, make. When it links mozillafirebird-bin the error occurs. Actual Results: errored out with: c++ -o MozillaFirebird-bin -I/usr/X11R6/include -fno-rtti -fno-exceptions -Wall -Wconversion -Wpointer-arith -Wcast-align -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-long-long -pedantic -fshort-wchar -pthread -pipe -DNDEBUG -DTRIMMED -O3 -march=athlon-xp nsBrowserApp.o nsStaticComponents.o -L../../dist/bin -L../../dist/lib -L../../dist/lib/components -lxpcom_compat_c -lxpconnect -luconv -lucvmath -li18n -loji -lipcdc -lnecko -lnecko2 -lpref -lcaps -lrdf -lhtmlpars -lgfxps -lgfxxprint -lgfx_gtk -limglib2 -lgkplugin -ljsdom -lwidget_gtk2 -lxremote_client -lgklayout -lmork -ldocshell -lprofile -lnsprefm -lembedcomponents -lwebbrwsr -leditor -ltxmgr -lcomposer -lnsappshell -lchrome -laccessibility -lfileview -lmozfind -lxremoteservice -lappcomps -ltoolkitcomps -lcookie -lxmlextras -lp3p -lautoconfig -lsystem-pref -ltransformiix -luniversalchardet -ltypeaheadfind -lwebsrvcs -lpipboot -lpipnss -lpippki -lbrowsercomps -lunicharutil_s -lucvutil_s -ljsj -lgtkxtbin -lgfxshared_s -lgfxft2_s -lxlibrgb -lxprintutil -lgkgfx -lxulapp_s ../../dist/lib/libxulapp_s.a -L../../dist/bin -lmozjs -L../../dist/bin -lxpcom -L/opt/src/firebird/mozilla/dist/lib -lplds4 -lplc4 -lnspr4 -lpthread -ldl -Wl,--export-dynamic -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 -ldl -lm -L../../dist/lib/components -L../../dist/lib -lmozpng -L../../dist/lib -lmozjpeg -L../../dist/lib -lmozz -L../../dist/bin -L../../dist/lib ../../dist/lib/libcrmf.a -lsmime3 -lssl3 -lnss3 -lsoftokn3 -L/usr/X11R6/lib -lXt -L/usr/X11R6/lib -lXp -lXext -lX11 -L../../dist/lib -lxpcom_compat nsStaticComponents.o: In function `nsSystemPrefModule_NSGetmodule': nsStaticComponents.o(.text+0x569): undefined reference to `nsSystemPrefModule_gModuleInfo' collect2: ld returned 1 exit status gmake[3]: *** [MozillaFirebird-bin] Error 1 gmake[3]: Leaving directory `/opt/src/firebird/mozilla/browser/app' gmake[2]: *** [libs] Error 2 gmake[2]: Leaving directory `/opt/src/firebird/mozilla/browser' gmake[1]: *** [tier_99] Error 2 gmake[1]: Leaving directory `/opt/src/firebird/mozilla' make: *** [default] Error 2 Expected Results: linked successfully. Since this is a bug or problem during a build phase, I doubt if any of the above (like Talkback ID) are relevant. This just seems like something is out of whack in the CVS tree. Of course: I tried to troubleshoot this myself, and followed the path of where ~./mozilla/config/static*.mk took me. I grepped for the unfound symbol, but its only created via a Macro in nsStaticComponents.cpp.in thus is only found in nsStaticComponents.o (which I suppose explains why the linker can't resolve it). B eyond that I'm trying to figure out more about how static may be affecting linux builds. I also wonder if anyone is having luck (recently) linking firebird static on the linux platform?
Isn't this a duplicate of 216022?
SilvereX, Yes it is and thanks for pointing it out. Unfortunately when searching bugzilla, I often forget to look for 'UNCONFIRMED' bugs. I'll try to mark this as dup of 216022 and then see if I can confirm his. Thanks. *** This bug has been marked as a duplicate of 216022 ***
Severity: major → normal
Status: UNCONFIRMED → RESOLVED
Closed: 22 years ago
Resolution: --- → DUPLICATE
Component: Build Config → General
Product: Firefox → Firefox Build System
You need to log in before you can comment on or make changes to this bug.