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

Attachment: msg45034/pgp00000.pgp
Description: PGP signature

Reply via email to