Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 18 Dec 2000 23:34:52 +0200 (IST)
From:      Roman Shterenzon <roman@harmonic.co.il>
To:        Daniel Eischen <eischen@vigrid.com>
Cc:        obrien@freebsd.org, Max Khon <fjoe@iclub.nsu.ru>, freebsd-stable@freebsd.org
Subject:   Re: mozilla and 4.2-RELEASE
Message-ID:  <977175292.3a3e82fcc5d68@webmail.harmonic.co.il>
In-Reply-To: <200012172336.SAA02002@pcnet1.pcnet.com>
References:  <200012172336.SAA02002@pcnet1.pcnet.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Quoting Daniel Eischen <eischen@vigrid.com>:

> > I tried the following, applied the patch (it applied cleanly), checked
> that it
> > really applied (yes it did). 
> > did: cd /usr/src/gnu/usr.bin/cc ; make all && make install && make
> clean
> > cd /usr/ports/www/mozilla
> > pkg_delete mozilla-M18 ; rm -rf /usr/X11R6/lib/mozilla (it wasn't
> there)
> > make install
> > several hours later it produced the binary which dumped core on
> startup (again).
> > for the sake of it, I took a package I made on my 4.1-STABLE some time
> ago,
> > and did pkg_add -f mozilla-M18.tgz (it had older dependencies, so I
> needed -f).
> > And, it DOES work. (All needed libs were installed from ports, e.g.
> ORBit,
> > gtk,glib).
> > Perhaps I needed buildworld after I applied the patch, and make all in
> cc
> > directory wasn't enough?
> > If it was enough, then I don't have any idea which change make mozilla
> break.
> > Whatever broke mozilla didn't break ORBit and friends.. Weird.
> Probably
> > something C++ related.
> 
> I think I found the "mysqld: lots of lost connections" bug.  It might
> be related to this also.
> 
> What happens, is that linking C++ apps that need libstdc++ causes the
> wrong version of libgcc to be linked.  It seems that libstdc++ includes
> libgcc, so that when you link a threaded app that needs libstdc++, all
> the libgcc symbols are already present.  This prevents the linker from
> linking to libgcc_r{_pic}.  A quick fix is to manually link the
> application
> with -lgcc_r.  Doing this will pick up the correct libgcc_r and prevent
> libgcc from being included.  Another fix that requires you to rebuild
> libstdc++ and rebuild your app is:
> 
> Index: Makefile
> ===================================================================
> RCS file: /opt/b/CVS/src/gnu/lib/libstdc++/Makefile,v
> retrieving revision 1.25
> diff -u -r1.25 Makefile
> --- Makefile	2000/06/04 06:56:22	1.25
> +++ Makefile	2000/12/16 21:05:38
> @@ -14,7 +14,7 @@
>  CXXFLAGS+=	-I${SRCDIR}/stl -I${SRCDIR} -I${SRCDIR}/../gcc/cp/inc -I.
>  CXXFLAGS+=	-nostdinc++ -fno-implicit-templates
>  
> -LDADD+=		-lm
> +LDADD+=		-lm -nostdlib
>  DPADD+=		${LIBM}
>  
>  HDRS=	cassert cctype cerrno cfloat ciso646 climits clocale cmath
> complex \
> 
> 
> It would be interesting to see if this fixes the Mozilla problem
> also.

I backed out obrien's patch (I don't know yet if it works with it),
then, I merged Daniel's patch, buildworld, installworld, and now mozilla
works (after I recompiled it).
*BUT* c++ binaries compiled on 4.2 fail, for example, starting xfstt gives me:
 
lancelot:/home/roman% xfstt
/usr/libexec/ld-elf.so.1: /usr/lib/libstdc++.so.3: Undefined symbol
"__ti9exception"

However, I verified, 4.1 (perhaps 4.1.1?) c++ binaries, for example - mozilla,
work ok with this patch in place.

I.e. I believe that only c++ binaries built under 4.2 will be broken.

Where do we go from here? Anything else I can try?

--Roman Shterenzon, UNIX System Administrator and Consultant
[ Xpert UNIX Systems Ltd., Herzlia, Israel. Tel: +972-9-9522361 ]


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?977175292.3a3e82fcc5d68>