On Mon, Oct 21, 2002 at 02:10:01PM -0400, Andrew Gallatin wrote: > > Ruslan, > > 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 > maintainer. > > I've found that if I just cd to /usr/src/share/doc and > do a 'make' groff works like a charm. But from inside > make buildworld, groff > > a) emits 'out of memory warnings' on each file processed > b) produces empty output files > c) eventually dies, killing the build > > 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? > > I'm tearing my hair out trying to figure out what broke. > 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, -- Ruslan Ermilov Sysadmin and DBA, [EMAIL PROTECTED] Sunbay Software AG, [EMAIL PROTECTED] FreeBSD committer, +380.652.512.251 Simferopol, Ukraine http://www.FreeBSD.org The Power To Serve http://www.oracle.com Enabling The Information Age
msg45034/pgp00000.pgp
Description: PGP signature