Date: Thu, 21 Dec 2000 00:42:21 +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: <977352141.3a4135cd3f8fa@webmail.harmonic.co.il> In-Reply-To: <977175292.3a3e82fcc5d68@webmail.harmonic.co.il> References: <200012172336.SAA02002@pcnet1.pcnet.com> <977175292.3a3e82fcc5d68@webmail.harmonic.co.il>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi, I repost this, since I've seen no reply from any of you. I'll summarize the situation: Problem: Mozilla-M18 built under 4.2-RELEASE and 4.2-STABLE (as of two weeks ago) crashes on startup because of libgcc_r / listdc++ incompatibilities. Solutions: The one obrien posted (probably works, I didn't try it) ; the one Daniel posted - I tried it, and it works well. Problem with Daniel's solution: 4.2-X libstc++ binaries are broken, but 4.x for x<2 binaries work well. So, something in 4.2 release cycle made them break. (I rebuilt my binaries, I didn't have much to recompile). The questions are: Are there any plans of merging any of the solutions into RELENG_4 ? Do you need some additional information that I can give ? Quoting Roman Shterenzon <roman@harmonic.co.il>: > 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?977352141.3a4135cd3f8fa>