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>