Subject: Re: Anyone using Mozilla-current?
To: Tom Ivar Helbekkmo <tih@nhh.no>
From: Frank van der Linden <frank@wins.uva.nl>
List: port-i386
Date: 11/23/1998 10:23:59
On Mon, Nov 23, 1998 at 08:53:16AM +0100, Tom Ivar Helbekkmo wrote:
> I'm trying to get Mozilla (current; using CVS) to work on NetBSD/i386
> version 1.3.2.  It builds with no problems, after I modify the setup
> to build shared libraries using "ld -Bshareable" instead of the
> specified "cc -shared -Wl,-h -Wl,libname.so.1.0", which I assume
> presupposes a newer compiler tool chain -- but it crashes when run.

Right. I have already sent a patch (as part of a bugreport via the
bugzilla interface) to the Mozilla people. All the old patches
I sent in have been integrated, so I expect this one to be fixed
reasonably soon.

> 
> Specifically, it bombs out in the first call from main(), where it
> tries to use an object without initializing it with "new".  The call
> is to NS_NewImageManager(), in gfx/src/nsImageManager.cpp, which
> dereferences the static pointer variable gImageManager without there
> having been a call to the constructor ImageManagerInit().  This causes
> me to wonder if this is something that would have worked with gcc 2.8;
> perhaps the newer gcc builds code that automatically calls object
> constructors?  I'm just guessing, of course, since I know very little
> about C++.  It seems a little too weird that this should be a bug in
> the Mozilla source code, since it prevents startup, and thus should be
> immediately obvious.

I had the exact same thing on -current. In fact, the other linked
program ("xpviewer") crashes too on startup. I have seen reports
of it crashing on other platforms at startup too; just today there
was a report of exactly the same problem on the mozilla-builds list,
from someone who was compiling on Linux/alpha. Maybe mozilla is
using C++ features that weren't supported well in older g++ versions,
I am not sure (I'm not really a C++ specialist either). I'll ask
that person what compiler he is using on Linux/alpha.

I'm still using gcc, not egcs. I'll try switching to egcs, that will
happen automatically the next time I build the world anyway.

- Frank