home *** CD-ROM | disk | FTP | other *** search
- This file describes various problems that have been encountered in
- compiling, installing and running groff. Suggestions for additions or
- other improvements to this file are welcome.
-
- * I am having problems compiling groff with g++ on a DECstation or
- other machine using a MIPS processor (such as SGI machines).
-
- Try getting g++ from foobar.colorado.edu:pub/Gnu-For-Pmax.
-
- * I am having problems compiling groff with g++ on a 386 PC
- running SVR3.2.
-
- I recommend using Michael Bloom's GNU COFF patches
- (tut.cis.ohio-state.edu:pub/gnu/coff/gnu-coff.tar.Z).
-
- * I get lots of `numeric overflow' error messages whenever I run
- groff; I compiled groff with AT&T C++ 2.0 with an ANSI C compiler.
-
- Include -DCFRONT_ANSI_BUG in CPPDEFINES in the top-level Makefile. If
- that doesn't solve the problem, define INT_MIN as -INT_MAX in
- lib/lib.h.
-
- * Using SunOS 4.1, gtroff aborts in malloc.
-
- Include -DSUNOS_LOCALTIME_BUG in MALLOCFLAGS in the top-level Makefile.
-
- * g++ 1.37.2 alpha gives the following error while compiling groff:
- Failed assertion `TREE_CHAIN (list) == NULL_TREE' at line 777 of `cplus-tree.c'
-
- Apply the fix given in the groff INSTALL file. I recommend using g++
- 1.37.1 in preference to 1.37.2 alpha.
-
- * When I try to compile groff with g++, I get lots of parse errors
- from files in /usr/include.
-
- You must install C++ versions of the standard include files; these are
- included with libg++.
-
- * g++ complains about conflicting declarations of fmod() while
- compiling pic.tab.c; I'm using a 68k based machine.
-
- This is a bug in the libg++ header files. Apply the fix given in the
- INSTALL file.
-
- * I get errors when I try to compile groff with Sun C++.
-
- Groff requires ANSI C style header files. The Sun C++ header files
- need some changes to meet this requirement: <string.h> must declare
- the mem* functions, (just add `#include <memory.h>' to <string.h>);
- the first argument to fopen and freopen should be declared as `const
- char *'; the first argument to fread should be declared as `void *';
- malloc should be declared to return `void *'. You can either change
- them in place, or copy them to some other directory and include that
- directory with a -I option.
-
- * I get the error `make[2]: execve: /bin/sh: Arg list too long.'.
-
- If you're using GNU make, try using /bin/make instead. Otherwise if
- you have the `env' command, try changing occurrences of $(MAKE) in the
- top-level Makefile to
- env - PATH=/bin:/usr/bin $(MAKE)
-
- * The pic Makefile refers to a program called gperf; I can't find
- gperf anywhere.
-
- You don't need gperf unless you want to add new keywords to gpic:
- gperf is only used to generate key.c and a suitable key.c is supplied
- in the distribution. Gperf is distributed with libg++; it's a perfect
- hash function generator
-
- * pic output is not centered horizontally; pictures sometimes run off
- the bottom of the page.
-
- The macro package you are using is not supplying appropriate definitions
- of PS and PE. Give groff a -mpic option.
-
- * I'm having problems including PostScript illustrations using the PSPIC
- macro.
-
- A PostScript document must meet three requirements in order to be
- included with the PSPIC macro: it must comply with the Adobe Document
- Structuring Conventions; it must contain a BoundingBox line; it must
- be ``well-behaved''. The BoundingBox line should be of the form:
-
- %%BoundingBox: llx lly urx ury
-
- where llx, lly, urx, ury are the coordinates of the lower left x,
- lower left y, upper right x, upper right y of the bounding box of
- marks on the page expressed as integers in the default PostScript
- coordinate system (72 units per inch, origin at bottom left corner).
- A useful tactic is to print out the illustration by itself (you may
- need to add a `showpage' at the end), and physically measure the
- bounding box. For more detail on these requirements, read the
- specification of Encapsulated PostScript format. (This is available
- from the Adobe file server; send a message with a body of `help' to
- ps-file-server@adobe.com.)
-
- * I am trying to include a PostScript illustration by using:
- \!%
- \!PB
- <lines of PostScript, each preceded by \!>
- \!PE
- \!.
-
- This mechanism for including PostScript illustrations is a feature
- peculiar to Adobe's TranScript software. It is not supported by
- groff. You should switch to using the PSPIC macro.
-
- * I've configured groff for A4 paper, but gtroff still seems to think
- that the length of a page (as returned by \n(.p) is 11 inches.
-
- This is intentional. The PAGE option is used only by grops. For
- compatibility with ditroff, the default page length in gtroff is
- always 11 inches. The page length can be changed with the `pl'
- request.
-
- * Groff doesn't use the font names I'm used to.
-
- Use the `ftr' request. See gtroff(1).
-
- * I get errors using the Unix -ms macros with groff -e -C.
-
- Apply this change:
-
- *** /usr/lib/ms/ms.eqn Tue Apr 25 02:14:28 1989
- --- ms.eqn Sun Nov 11 10:33:59 1990
- ***************
- *** 22,29 ****
- ..
- . \" EN - end of a displayed equation
- .de EN
- ! .if !\\*(10 .br
- .di
- .rm EZ
- .nr ZN \\n(dn
- .if \\n(ZN>0 .if \\n(YE=0 .LP
- --- 22,30 ----
- ..
- . \" EN - end of a displayed equation
- .de EN
- ! .if \\n(.k>0 .br
- .di
- + .ds 10 \\*(EZ\\
- .rm EZ
- .nr ZN \\n(dn
- .if \\n(ZN>0 .if \\n(YE=0 .LP
-
-
- * gpic doesn't accept the syntax `chop N M' for chopping both ends of a
- line.
-
- The correct syntax is `chop N chop M'.
-
- * With gpic -t, when I print `line ->; box' using a dvi to ps
- program, the arrow head sticks through into the inside of the box.
-
- The dvi to ps program should be modified to set the line cap and
- line join parameters to 1 while printing tpic specials.
-
- * When I print the output groff -Tps, the output is always shifted up
- by about 0.7 inches; I'm using 8.5x11 inch paper.
-
- Make sure that PAGE is defined to be `letter' in the top-level
- Makefile. If you failed to do this, you can fix the problem by doing:
- cp ps/devps/DESC-letter /usr/local/lib/groff/font/devps/DESC
-
- * When I try to print the output of groff -Tps, I get no output at all
- from the printer, and the log file shows the error
- %%[ error: undefined; offendingcommand: BP ]%%
- I using TranScript spooling software.
-
- This is a bug in the page reversal filter in early versions of
- TranScript. Include -DBROKEN_SPOOLER in CPPDEFINES in the top-level
- Makefile, and rebuild grops.
-
- * When I preview groff -Tps output using the Sun OpenWindows 2.0 pageview
- program, all the pages are displayed on top of each other.
-
- This is a defect in pageview. Include -DBROKEN_SPOOLER in CPPDEFINES
- in the top-level Makefile, and rebuild grops.
-
- * When I try to preview the output of groff -Tps using ralpage, I get
- errors from ralpage.
-
- This is a bug in ralpage. You may be able to work around the bug by
- defining MF and SF in ps/devps/prologue using `def' instead of `bind
- def'.
-
- * With groff -TX75 or -TX100, I can only view the first page.
-
- The left mouse button brings up a menu that allows you to view other
- pages.
-
- * Documents that use mainly 12-point text exhibit poor letter spacing
- when previewed with groff -TX75 or -TX100.
-
- Use groff -TX75-12 or groff -TX100-12.
-
- * When I print the output of groff -Tdvi, I just get a black dot in
- upper left corner.
-
- Some dvi drivers (notably early versions of xtex) do not correct
- handle dvi files that use a resolution different from that used by dvi
- files produced by TeX. Try getting a more up to date driver.
-
- * I get lots of errors when I use groff with -mm.
-
- -mm needs a few changes to work with groff; `make install.mm' will
- copy your -mm macros to groff's macro directory and make the necessary
- changes. You may need to edit the commands for the install.mm target
- in the Makefile.
-
- * gtroff doesn't understand lines like `.ce99' with no space between
- the name of the request or macro and the arguments.
-
- Gtroff requires a space between macro or request and its arguments
- because it allows the use of long names for macros and requests. You
- can use the -C option or the `cp' request to put gtroff into a
- compatibility mode in which it is not possible to use long names for
- macros but in which no space is required between macros and their
- arguments. The use of compatibility mode is strongly discouraged.
-
- * gtroff gives warnings about lines like
- .ev \" a comment
- (with a tab after the .ev).
-
- A tab character cannot be used as a substitute for a space character
- (except in one case: between a control character at the beginning of a
- line and the name of a macro or request). For example, in Unix troff
- .ps \" restore the previous point size
- (with a tab after the .ps) will NOT restore the previous point-size;
- instead it will be silently ignored. Since this is very likely to be
- an error, gtroff can give a warning about it. If you want to align
- comments, you can do it like this:
- .ev\" \" a comment
-
- * I don't like the page headers and footers produced by groff -man.
-
- There seem to be many different styles of page header and footer
- produced by different versions of the -man macros. You will need to
- modify macros/tmac.an to suit your personal taste. For example, if
- you want the center of the page header to say
- UNIX Programmer's Manual
- you will need to change the line
- .el .ds an-extra3 \"UNIX Programmer's Manual
- to
- .el .ds an-extra3 UNIX Programmer's Manual
-
- * Where is the document ``Groff Character Names'' that is mentioned in various
- man pages?
-
- It is in doc/chars.tr. You can print it out with each device to see
- what characters are available for that device.
-
- * While formatting a manual page, groff complains about not being able to
- break lines. The problem seems to be caused by a line like:
- .TP \w'label'+2
-
- The -man documentation says that the default scale indicator for TP
- macro is `n'. The groff -man macros implement this correctly, so that
- the argument will be evaluated as if it were
- \w'label'n+2n
- The Unix -man macros don't implement this correctly (probably because
- it's hard to do in Unix troff); they just append `n' to the entire
- argument, so that it will be evaluated as if it were
- \w'label'u+2n
- The solution is to fix the manual page:
- .TP \w'label'u+2
-
- * When I preview documents using -TX75 or -TX100, the layout is not the same
- as when I print the document with -Tps or -Tdvi: the line and page
- breaks come in different places.
-
- This is the way xditview works: the widths of characters in the X
- fonts don't match the widths of characters in the PostScript fonts, so
- the layout usually comes out differently. The idea of xditview is
- just to give you a readable representation of your document on screen,
- rather than to give you a simulation of how it will look when printed.
- If you want that, then you could use a PostScript previewer or a dvi
- previewer according as you're using -Tps or -Tdvi. Alternatively you
- could port xtroff.
-
- * In gpic expressions don't work at all. I'm using g++ 1.39 on a sparc.
-
- This is a bug in gcc/g++ 1.39. Apply the fix given in the INSTALL file.
-