Subject: pkg/11703: Mozilla-M18 package breaks on 1.5 a.out systems
To: None <gnats-bugs@gnats.netbsd.org>
From: None <abs@mono.org>
List: netbsd-bugs
Date: 12/12/2000 05:32:17
>Number: 11703
>Category: pkg
>Synopsis: Mozilla-M18 package breaks on 1.5 a.out systems
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: pkg-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Tue Dec 12 05:32:00 PST 2000
>Closed-Date:
>Last-Modified:
>Originator: David Brownlee
>Release: NetBSD-1.5 release
>Organization:
Occasionally
>Environment:
System: NetBSD spiff.int.purplei.com 1.5 NetBSD 1.5 (_SPIFF_) #0: Wed Dec 6 02:34:43 PST 2000 root@spiff.int.purplei.com:/files/transient/netbsd/src/sys/arch/arm32/compile/_SPIFF_ arm32
>Description:
The mozilla package fails to build on a.out arm32 and m68k 1.5
platforms with an error of the form:
gmake[2]: Entering directory `/var/obj/pkg/www/mozilla/work.arm32/mozilla/xpfe/bootstrap'
c++ -o mozilla-bin -fno-rtti -fno-exceptions -Wall -Wconversion -Wpointer-arith -Wbad-function-cast -Wcast-align -Woverloaded-virtual -Wsynth -Wshadow -pedantic -Wno-long-long -O2 -Dunix -O -DNDEBUG -DTRIMMED -DWIDGET_DLL=\"libwidget_gtk.so.1.0\" -DGFXWIN_DLL=\"libgfx_gtk.so.1.0\" -I/usr/X11R6/include -I/usr/pkg/lib/glib/include -I/usr/pkg/include/glib -I/usr/X11R6/include nsAppRunner.o nsSetupRegistry.o nsSigHandlers.o -Wl,-R/usr/X11R6/lib/mozilla -Wl,-R/usr/X11R6/lib -L/usr/X11R6/lib -Wl,-R/usr/pkg/lib -L/usr/pkg/lib -Wl,-R/usr/X11R6/lib/mozilla -Wl,-R/usr/X11R6/lib -L/usr/X11R6/lib -Wl,-R/usr/pkg/lib -L/usr/pkg/lib -L../../dist/bin -L../../dist/lib -Wl,--whole-archive -lxpfelocation_s -lmpfilelocprovider_s -Wl,--no-whole-archive -lgkgfx -L../../dist/bin -lxpcom -lmozjs -ljsj -lplds4 -lplc4 -lnspr4 -lintl -lutil -lm
/usr/lib/libgcc.a(_pure.o): Definition of symbol `___pure_virtual' (multiply defined)
/usr/lib/libgcc.a(__main.o): Definition of symbol `___do_global_dtors' (multiply defined)
/usr/lib/libgcc.a(__main.o): Definition of symbol `__exit_dummy_ref' (multiply defined)
/usr/lib/libgcc.a(__main.o): Definition of symbol `___do_global_ctors' (multiply defined)
/usr/lib/libgcc.a(__main.o): Definition of symbol `___main' (multiply defined)
/usr/lib/libgcc.a(_clear_cache.o): Definition of symbol `___clear_cache' (multiply defined)
/usr/lib/libgcc.a(_shtab.o): Definition of symbol `___shtab' (multiply defined)
/usr/lib/libgcc.a(_bb.o): Definition of symbol `___bb_exit_func' (multiply defined)
[ ... many many more errors ...]
>How-To-Repeat:
Attempt to build on a.out arm32 or m68k 1.5 system.
>Fix:
The above c++ line expands to:
/usr/libexec/collect2 -e start -dc -dp -o mozilla-bin /usr/lib/crt0.o -L/usr/X11R6/lib -L/usr/pkg/lib -L/usr/X11R6/lib -L/usr/pkg/lib -L../../dist/bin -L../../dist/lib -L../../dist/bin -L/usr/libexec nsAppRunner.o nsSetupRegistry.o nsSigHandlers.o -R/usr/X11R6/lib/mozilla -R/usr/X11R6/lib -R/usr/pkg/lib -R/usr/X11R6/lib/mozilla -R/usr/X11R6/lib -R/usr/pkg/lib --whole-archive -lxpfelocation_s -lmpfilelocprovider_s --no-whole-archive -lgkgfx -lxpcom -lmozjs -ljsj -lplds4 -lplc4 -lnspr4 -lintl -lutil -lstdc++ -lm -lgcc -lc -lgcc
Note the double inclusion of -lgcc in the link line.
Manually executing collect2 in the appropriate directory with the
first -lgcc removed seems to avoid the issue. The make can then
be restarted in /pkgsrc/www/mozilla and some substantial time later
you will be rewarded with a nice new solar eclipting mozilla package.
This is now probably a case for someone who understands toolchain
magic :)
>Release-Note:
>Audit-Trail:
>Unformatted: