Well I've been trying to get a Firefox-2.0 built for Nekoware 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 binary throws a spurious '-L' flag into the mix:
It's possible to manually link the above by correcting the '-L-L../../dist/bin' bit on the command line. Unfortunately this doesn't provide a solution since it'll just try to do it again once 'gmake -f client.mk build' is executed afterward.
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':
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 it's 'gold' I'd like to see this running on IRIX. If anyone has any suggestions on how to get the build system over this hump we should be home free ...
I also filed a Bugzilla bug on this (#357780) to see if I can get some feedback on that end.
Code: Select all
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' bit on the command line. Unfortunately this doesn't provide a solution since it'll just try to do it again once 'gmake -f client.mk build' is executed afterward.
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: Select all
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 it's 'gold' I'd like to see this running on IRIX. If anyone has any suggestions on how to get the build system over this hump we should be home free ...
I also filed a Bugzilla bug on this (#357780) to see if I can get some feedback on that end.
Twitter: @neko_no_ko
IRIX Release 4.0.5 IP12 Version 06151813 System V
Copyright 1987-1992 Silicon Graphics, Inc.
All Rights Reserved.
IRIX Release 4.0.5 IP12 Version 06151813 System V
Copyright 1987-1992 Silicon Graphics, Inc.
All Rights Reserved.