Skip site navigation (1)Skip section navigation (2)
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>