Date: Tue, 22 Oct 2002 17:29:29 +0300 From: Ruslan Ermilov <ru@FreeBSD.org> To: Andrew Gallatin <gallatin@cs.duke.edu> Cc: Alexander Kabaev <kan@FreeBSD.org>, "David O'Brien" <obrien@FreeBSD.org>, current@FreeBSD.org Subject: Re: Groff problems (was Re: alpha tinderbox failure) Message-ID: <20021022142929.GB48398@sunbay.com> In-Reply-To: <15796.17145.909288.498725@grasshopper.cs.duke.edu> References: <200210210942.g9L9gLpM025724@beast.freebsd.org> <15796.17145.909288.498725@grasshopper.cs.duke.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
--s/l3CgOIzMHHjg/5 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Oct 21, 2002 at 02:10:01PM -0400, Andrew Gallatin wrote: >=20 > Ruslan, >=20 > Can you help with this, please? I think you're the best candidate > since you know so much about the build system and you are the groff=20 > maintainer. >=20 > I've found that if I just cd to /usr/src/share/doc and=20 > do a 'make' groff works like a charm. But from inside > make buildworld, groff=20 >=20 > a) emits 'out of memory warnings' on each file processed > b) produces empty output files > c) eventually dies, killing the build >=20 > Assuming that I installed the version of groff made by buildworld, > along with libc.so, libm.so, and libstdc++.so (all built by > buildworld) prior to running make in /usr/src/share/doc, can you please > explain what's different about groff in the buildworld case? >=20 > I'm tearing my hair out trying to figure out what broke. >=20 Well, I tried this on beast. It is easily reproduceable. It turned out that if you build groff with -DNO_CPU_CFLAGS (the way it is built during the bootstrap-tools stage of buildworld), it fails with the `out of memory' error in contrib/groff/src/libs/libgroff/new.cc. To reproduce, it is only necessary to build the following dirs, in order, with -DNO_CPU_CFLAGS: gnu/usr.bin/groff/src/libs/libgroff gnu/usr.bin/groff/src/roff/groff And then run groff from the latter as follows: groff -V More fun. Groff is built with -fno-rtti and -fno-exceptions: : RCS file: /home/ncvs/src/gnu/usr.bin/groff/Attic/Makefile.cfg,v : Working file: Makefile.cfg : head: 2.13 : branch: : locks: strict : access list: : keyword substitution: kv : total revisions: 36; selected revisions: 1 : description: : ---------------------------- : revision 2.7 : date: 1999/04/04 16:44:33; author: obrien; state: Exp; lines: +2 -1 : This is old C++ code -- no need for rtti or exceptions. If you remove -fno-exceptions from gnu/usr.bin/groff/Makefile.inc and recompile libgroff and groff, it seems to work (I did not check it thoroughly). But I think this only has a side effect, because Groff does not seem to have any exception code (please correct me if I am wrong), and why the hell it should depend on -mcpu, if any? I am Cc:ing our GCC gurus in a hope they can shed a light on this. Cheers, --=20 Ruslan Ermilov Sysadmin and DBA, ru@sunbay.com Sunbay Software AG, ru@FreeBSD.org FreeBSD committer, +380.652.512.251 Simferopol, Ukraine http://www.FreeBSD.org The Power To Serve http://www.oracle.com Enabling The Information Age --s/l3CgOIzMHHjg/5 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.7 (FreeBSD) iD8DBQE9tWDJUkv4P6juNwoRAsXiAJ9ew3Zo/fCZbURk9swwYKrk0kvhAgCgiBct aEtbcPZgA7X+O8wLSRrkMZY= =NI4d -----END PGP SIGNATURE----- --s/l3CgOIzMHHjg/5-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20021022142929.GB48398>