Final link fails with spurious '-L' on link line

RESOLVED INCOMPLETE

Status

()

Firefox
Build Config
RESOLVED INCOMPLETE
11 years ago
7 years ago

People

(Reporter: neko, Unassigned)

Tracking

2.0 Branch
Other
Other
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [CLOSEME 2010-09-15])

(Reporter)

Description

11 years ago
User-Agent:       Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/418.9 (KHTML, like Gecko) Safari/419.3
Build Identifier: 

I've been trying to build Firefox-2.0 for IRIX but have hit a snag I can't seem to find a solution for. I'm able to build the entire thing, but the very last link phase on the final binary link throws a spurious '-L' flag into the mix: 

Code:
CC -o firefox-bin -I/usr/nekoware/include -I/usr/nekoware/include/glib-1.2 -I/usr/nekoware/lib/glib/include  -LANG:exceptions=OFF -O3 -mips4 -n32 -Zf,_245 -INLINE -woff 1110,1171,1201,1355,3201 -woff 3262 -G 4 -n32  -DNDEBUG -DTRIMMED -O3  nsBrowserApp.o nsStaticComponents.o   -L/usr/nekoware/lib -n32   -Wl,-LD_LAYOUT:lgot_buffer=80 -L../../dist/bin -L../../dist/lib ../../dist/lib/components/libxpcom_compat_c.a ../../dist/lib/components/libxpconnect.a ../../dist/lib/components/libuconv.a ../../dist/lib/components/libucvmath.a ../../dist/lib/components/libi18n.a ../../dist/lib/components/libmork.a ../../dist/lib/components/libstoragecomps.a ../../dist/lib/components/libnecko.a ../../dist/lib/components/libnecko2.a ../../dist/lib/components/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/libgkplugin.a ../../dist/lib/components/libwidget_gtk.a ../../dist/lib/components/libgklayout.a ../../dist/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 ../../dist/lib/components/liboji.a ../../dist/lib/components/libchrome.a ../../dist/lib/components/libmozfind.a ../../dist/lib/components/libappcomps.a ../../dist/lib/components/libfileview.a ../../dist/lib/components/libremoteservice.a ../../dist/lib/components/libcommandlines.a ../../dist/lib/components/libtoolkitcomps.a ../../dist/lib/components/libpipboot.a ../../dist/lib/components/libpipnss.a ../../dist/lib/components/libpippki.a ../../dist/lib/components/libcookie.a ../../dist/lib/components/libxmlextras.a ../../dist/lib/components/libautoconfig.a ../../dist/lib/components/libtransformiix.a ../../dist/lib/components/libuniversalchardet.a ../../dist/lib/components/libwebsrvcs.a ../../dist/lib/components/libauth.a ../../dist/lib/components/libpermissions.a ../../dist/lib/components/libsearchservice.a ../../dist/lib/components/libbrowserdirprovider.a ../../dist/lib/components/libbrowsercomps.a ../../dist/lib/libunicharutil_s.a ../../dist/lib/libucvutil_s.a ../../dist/lib/libgtksuperwin.a ../../dist/lib/libgtkxtbin.a ../../dist/lib/libgfxshared_s.a ../../dist/lib/libgfxft2_s.a ../../dist/lib/libgfxpsshar.a ../../dist/lib/libgkgfx.a ../../dist/lib/libjsj.a ../../dist/lib/libxulapp_s.a  -L../../dist/lib -lmozpng -lm -L../../dist/lib -lmozjpeg -L../../dist/lib -lmozz  -L-L../../dist/bin -L../../dist/lib -lcrmf -lsmime3 -lssl3 -lnss3 -lsoftokn3   -lXt -L../../dist/lib -lxpcom_compat -L../../dist/lib/components  ../../dist/lib/libxulapp_s.a -L../../dist/bin -lmozjs -L../../dist/bin -lxpcom -lxpcom_core -L../../dist/lib -lplds4 -lplc4 -lnspr4 -L/usr/nekoware/lib -lpthread -ldl -L/usr/nekoware/lib -lgtk -lgdk -lgmodule -lglib -lintl -lXext -lX11 -lm   -lX11  -lsocket -ldl -lm -lfastm -lm -lpthread 

CC ERROR parsing -L:  no argument given for option 
gmake[4]: *** [firefox-bin] Error 2 
gmake[4]: Leaving directory `/opt/build/mozilla/fb-opt-static/browser/app'


It's possible to manually link the above by correcting the '-L-L../../dist/bin' (to -L../../dist/bin) on the command line. Unfortunately this doesn't provide a solution since the Makefile will just try to do it again once 'gmake -f client.mk build' is executed afterward instead of moving to the next step.

The 'mozilla' build system is convoluted and about the only thing I can determine is that the bad link is part of the $(EXTRA_LIBS) variable in the link phase (line 809 of mozilla/rules.mk). $(EXTRA_LIBS) seems to get all sorts of things heaped into it from all over the place so I'm not able to isolate just where that one little bit is coming from. 

As a point of reference, Firefox-1.5 series did not have this problem - the same bit is there but without the extra '-L': 

Code:
CC -o firefox-bin -I/usr/nekoware/include -I/usr/nekoware/include/glib-1.2 -I/usr/nekoware/lib/glib/include  -LANG:exceptions=OFF -O3 -mips4 -n32 -Zf,_245 -INLINE -woff 1110,1171,1201,1355,3201 -woff 3262 -G 4 -n32  -DNDEBUG -DTRIMMED -O3  nsBrowserApp.o nsStaticComponents.o   -L/usr/nekoware/lib -n32   -Wl,-LD_LAYOUT:lgot_buffer=80 -L../../dist/bin -L../../dist/lib ../../dist/lib/components/libxpcom_compat_c.a ../../dist/lib/components/libxpconnect.a ../../dist/lib/components/libuconv.a ../../dist/lib/components/libucvmath.a ../../dist/lib/components/libi18n.a ../../dist/lib/components/libnecko.a ../../dist/lib/components/libnecko2.a ../../dist/lib/components/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/libgkplugin.a ../../dist/lib/components/libwidget_gtk.a ../../dist/lib/components/libgklayout.a ../../dist/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 ../../dist/lib/components/liboji.a ../../dist/lib/components/libchrome.a ../../dist/lib/components/libmork.a ../../dist/lib/components/libmozfind.a ../../dist/lib/components/libappcomps.a ../../dist/lib/components/libfileview.a ../../dist/lib/components/libremoteservice.a ../../dist/lib/components/libcommandlines.a ../../dist/lib/components/libtoolkitcomps.a ../../dist/lib/components/libpipboot.a ../../dist/lib/components/libpipnss.a ../../dist/lib/components/libpippki.a ../../dist/lib/components/libcookie.a ../../dist/lib/components/libxmlextras.a ../../dist/lib/components/libautoconfig.a ../../dist/lib/components/libtransformiix.a ../../dist/lib/components/libuniversalchardet.a ../../dist/lib/components/libwebsrvcs.a ../../dist/lib/components/libauth.a ../../dist/lib/components/libpermissions.a ../../dist/lib/components/libsearchservice.a ../../dist/lib/components/libbrowserdirprovider.a ../../dist/lib/components/libbrowsercomps.a ../../dist/lib/libunicharutil_s.a ../../dist/lib/libucvutil_s.a ../../dist/lib/libgtksuperwin.a ../../dist/lib/libgtkxtbin.a ../../dist/lib/libgfxshared_s.a ../../dist/lib/libgfxft2_s.a ../../dist/lib/libgfxpsshar.a ../../dist/lib/libgkgfx.a ../../dist/lib/libjsj.a ../../dist/lib/libxulapp_s.a  -L../../dist/lib -lmozpng -lm -L../../dist/lib -lmozjpeg -L../../dist/lib -lmozz  -L../../dist/bin -L../../dist/lib ../../dist/lib/libcrmf.a -lsmime3 -lssl3 -lnss3 -lsoftokn3    -lXt -L../../dist/lib -lxpcom_compat -L../../dist/lib/components  ../../dist/lib/libxulapp_s.a -L../../dist/bin -lmozjs -L../../dist/bin -lxpcom -lxpcom_core -L../../dist/lib -lplds4 -lplc4 -lnspr4 -L/usr/nekoware/lib -lpthread -ldl -L/usr/nekoware/lib -lgtk -lgdk -lgmodule -lglib -lintl -lXext -lX11 -lm   -lX11  -lsocket -ldl -lm -lfastm -lm -lpthread


I can't locate any differences that would account for it in the configuration files though. 

This has been a problem throughout the Firefox-2.0 prerelease series, but now that's is 'gold' I'd like to see this running on IRIX. 


Reproducible: Always

Steps to Reproduce:
1.Build Firefox-2.0 with listed environment/options under IRIX 6.5.30
2.
3.

Actual Results:  
Build fails on final link due to spurious '-L' in link list.

Expected Results:  
Successful link (this happens if spurious -L removed and entire link line pasted manually).

Build environment details:

IRIX64 6.5.30 IP35 MIPSpro 7.4.4m

setenv CC c99
setenv CXX CC
setenv CFLAGS "-O3 -mips4 -n32 -INLINE -woff 1174"
setenv CXXFLAGS "-O3 -mips4 -n32 -Zf,_245 -INLINE -woff 1110,1171,1201,1355,3201"
setenv LDFLAGS "-L/usr/nekoware/lib"
setenv LIBS "-lfastm -lm -lpthread"
setenv PERL "/usr/nekoware/bin/perl"
setenv BUILD_OFFICIAL 1
setenv MOZILLA_OFFICIAL 1
setenv CPPFLAGS "-I/usr/nekoware/include -I/usr/nekoware/include/glib-1.2 -I/usr/nekoware/lib/glib/include"

mozconfig:

. $topsrcdir/browser/config/mozconfig
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/fb-opt-static
ac_add_options --prefix=/usr/nekoware
ac_add_options --enable-application=browser
ac_add_options --without-pthread
ac_add_options --enable-optimize=-O3
ac_add_options --disable-debug
ac_add_options --enable-static
ac_add_options --disable-shared
ac_add_options --disable-tests
ac_add_options --disable-composer
ac_add_options --enable-default-toolkit=gtk
ac_add_options --enable-freetype2
ac_add_options --enable-plaintext-editor-only
ac_add_options --disable-accessibility

export BUILD_OFFICIAL=1
export MOZILLA_OFFICIAL=1
mk_add_options BUILD_OFFICIAL=1
mk_add_options MOZILLA_OFFICIAL=1
(Reporter)

Updated

11 years ago
Version: unspecified → 2.0 Branch

Comment 1

11 years ago
I am seeing the same problem for seamonkey 1.1
for the creation of libpipnss but there is no problem
in the final build

rm -f libpipnss.so
CC  -LANG:exceptions=OFF -Zf,_245 -woff 3262,3201,1198,3303 -LANG:std -woff 3262 -G 4 -n32  -DDEBUG -D_DEBUG -DDEBUG_rich -DTRACING -g -mips4 -O3 -KPIC -elf -shared -o libpipnss.so  md4.o nsPSMBackgroundThread.o nsSSLThread.o nsCertVerificationThread.o nsCipherInfo.o nsNSSCallbacks.o nsNSSComponent.o nsNSSIOLayer.o nsNSSModule.o nsSSLSocketProvider.o nsTLSSocketProvider.o nsSDR.o nsPK11TokenDB.o nsNSSCertificate.o nsPKCS12Blob.o nsNSSASN1Object.o nsKeygenHandler.o nsCrypto.o nsPKCS11Slot.o nsKeygenThread.o nsCMSSecureMessage.o nsCMS.o nsCertPicker.o nsCRLInfo.o nsNSSCertCache.o nsNSSCertHelper.o nsNSSCertificateDB.o nsNSSCertTrust.o nsNSSCertValidity.o nsOCSPResponder.o nsUsageArrayHelper.o nsCRLManager.o nsNSSShutDown.o nsNTLMAuthModule.o nsNSSEvent.o nsSmartCardMonitor.o nsSmartCardEvent.o nsStreamCipher.o nsKeyModule.o nsCertTree.o    -n32          ../../../../dist/lib/libunicharutil_s.a -L../../../../dist/bin -lxpcom -lxpcom_core  -L../../../../dist/bin -L../../../../dist/lib -lplds4 -lplc4 -lnspr4 -lpthread -ldl -L../../../../dist/bin -lmozjs -L-L../../../../dist/bin -L../../../../dist/lib -lcrmf -lsmime3 -lssl3 -lnss3 -lsoftokn3   -lsocket -ldl -lm    
CC ERROR parsing -L:  no argument given for option
This bug was originally reported on Firefox 2.x or older, which is no longer supported and will not be receiving any more updates. I strongly suggest that you update to Firefox 3.6.8 or later, update your plugins (flash, adobe, etc.), and retest in a new profile. If you still see the issue with the updated Firefox, please post here. Otherwise, please close as RESOLVED > WORKSFORME
http://www.mozilla.com
http://support.mozilla.com/kb/Managing+profiles
http://support.mozilla.com/kb/Safe+mode
Whiteboard: [CLOSEME 2010-09-15]
No reply, INCOMPLETE. Please retest with Firefox 3.6.10 or later and a new profile (http://support.mozilla.com/kb/Managing+profiles). If you continue to see this issue with the newest firefox and a new profile, then please comment on this bug.
Status: UNCONFIRMED → RESOLVED
Last Resolved: 7 years ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.