home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / bsd_srcs / usr.bin / groff / PROBLEMS < prev    next >
Encoding:
Text File  |  1991-04-30  |  10.6 KB  |  286 lines

  1. This file describes various problems that have been encountered in
  2. compiling, installing and running groff.  Suggestions for additions or
  3. other improvements to this file are welcome.
  4.  
  5. * I am having problems compiling groff with g++ on a DECstation or
  6. other machine using a MIPS processor (such as SGI machines).
  7.  
  8. Try getting g++ from foobar.colorado.edu:pub/Gnu-For-Pmax.
  9.  
  10. * I am having problems compiling groff with g++ on a 386 PC
  11. running SVR3.2.
  12.  
  13. I recommend using Michael Bloom's GNU COFF patches
  14. (tut.cis.ohio-state.edu:pub/gnu/coff/gnu-coff.tar.Z).
  15.  
  16. * I get lots of `numeric overflow' error messages whenever I run
  17. groff; I compiled groff with AT&T C++ 2.0 with an ANSI C compiler.
  18.  
  19. Include -DCFRONT_ANSI_BUG in CPPDEFINES in the top-level Makefile.  If
  20. that doesn't solve the problem, define INT_MIN as -INT_MAX in
  21. lib/lib.h.
  22.  
  23. * Using SunOS 4.1, gtroff aborts in malloc.
  24.  
  25. Include -DSUNOS_LOCALTIME_BUG in MALLOCFLAGS in the top-level Makefile.
  26.  
  27. * g++ 1.37.2 alpha gives the following error while compiling groff:
  28. Failed assertion `TREE_CHAIN (list) == NULL_TREE' at line 777 of `cplus-tree.c'
  29.  
  30. Apply the fix given in the groff INSTALL file.  I recommend using g++
  31. 1.37.1 in preference to 1.37.2 alpha.
  32.  
  33. * When I try to compile groff with g++, I get lots of parse errors
  34. from files in /usr/include.
  35.  
  36. You must install C++ versions of the standard include files; these are
  37. included with libg++.
  38.  
  39. * g++ complains about conflicting declarations of fmod() while
  40. compiling pic.tab.c; I'm using a 68k based machine.
  41.  
  42. This is a bug in the libg++ header files.  Apply the fix given in the
  43. INSTALL file.
  44.  
  45. * I get errors when I try to compile groff with Sun C++.
  46.  
  47. Groff requires ANSI C style header files.  The Sun C++ header files
  48. need some changes to meet this requirement: <string.h> must declare
  49. the mem* functions, (just add `#include <memory.h>' to <string.h>);
  50. the first argument to fopen and freopen should be declared as `const
  51. char *'; the first argument to fread should be declared as `void *';
  52. malloc should be declared to return `void *'.  You can either change
  53. them in place, or copy them to some other directory and include that
  54. directory with a -I option.
  55.  
  56. * I get the error `make[2]: execve: /bin/sh: Arg list too long.'.
  57.  
  58. If you're using GNU make, try using /bin/make instead.  Otherwise if
  59. you have the `env' command, try changing occurrences of $(MAKE) in the
  60. top-level Makefile to
  61.    env - PATH=/bin:/usr/bin $(MAKE)
  62.  
  63. * The pic Makefile refers to a program called gperf; I can't find
  64. gperf anywhere.
  65.  
  66. You don't need gperf unless you want to add new keywords to gpic:
  67. gperf is only used to generate key.c and a suitable key.c is supplied
  68. in the distribution.  Gperf is distributed with libg++; it's a perfect
  69. hash function generator
  70.  
  71. * pic output is not centered horizontally; pictures sometimes run off
  72. the bottom of the page.
  73.  
  74. The macro package you are using is not supplying appropriate definitions
  75. of PS and PE.  Give groff a -mpic option.
  76.  
  77. * I'm having problems including PostScript illustrations using the PSPIC
  78. macro.
  79.  
  80. A PostScript document must meet three requirements in order to be
  81. included with the PSPIC macro: it must comply with the Adobe Document
  82. Structuring Conventions; it must contain a BoundingBox line; it must
  83. be ``well-behaved''.  The BoundingBox line should be of the form:
  84.  
  85.   %%BoundingBox: llx lly urx ury
  86.  
  87. where llx, lly, urx, ury are the coordinates of the lower left x,
  88. lower left y, upper right x, upper right y of the bounding box of
  89. marks on the page expressed as integers in the default PostScript
  90. coordinate system (72 units per inch, origin at bottom left corner).
  91. A useful tactic is to print out the illustration by itself (you may
  92. need to add a `showpage' at the end), and physically measure the
  93. bounding box.  For more detail on these requirements, read the
  94. specification of Encapsulated PostScript format.  (This is available
  95. from the Adobe file server; send a message with a body of `help' to
  96. ps-file-server@adobe.com.)
  97.  
  98. * I am trying to include a PostScript illustration by using:
  99.   \!%
  100.   \!PB
  101.   <lines of PostScript, each preceded by \!>
  102.   \!PE
  103.   \!.
  104.  
  105. This mechanism for including PostScript illustrations is a feature
  106. peculiar to Adobe's TranScript software.  It is not supported by
  107. groff.  You should switch to using the PSPIC macro.
  108.  
  109. * I've configured groff for A4 paper, but gtroff still seems to think
  110. that the length of a page (as returned by \n(.p) is 11 inches.
  111.  
  112. This is intentional.  The PAGE option is used only by grops.  For
  113. compatibility with ditroff, the default page length in gtroff is
  114. always 11 inches.  The page length can be changed with the `pl'
  115. request.
  116.  
  117. * Groff doesn't use the font names I'm used to.
  118.  
  119. Use the `ftr' request.  See gtroff(1).
  120.  
  121. * I get errors using the Unix -ms macros with groff -e -C.
  122.  
  123. Apply this change:
  124.  
  125. *** /usr/lib/ms/ms.eqn    Tue Apr 25 02:14:28 1989
  126. --- ms.eqn    Sun Nov 11 10:33:59 1990
  127. ***************
  128. *** 22,29 ****
  129.   ..
  130.   .    \" EN - end of a displayed equation
  131.   .de EN
  132. ! .if !\\*(10 .br
  133.   .di
  134.   .rm EZ
  135.   .nr ZN \\n(dn
  136.   .if \\n(ZN>0 .if \\n(YE=0 .LP
  137. --- 22,30 ----
  138.   ..
  139.   .    \" EN - end of a displayed equation
  140.   .de EN
  141. ! .if \\n(.k>0 .br
  142.   .di
  143. + .ds 10 \\*(EZ\\
  144.   .rm EZ
  145.   .nr ZN \\n(dn
  146.   .if \\n(ZN>0 .if \\n(YE=0 .LP
  147.  
  148.  
  149. * gpic doesn't accept the syntax `chop N M' for chopping both ends of a
  150. line.
  151.  
  152. The correct syntax is `chop N chop M'.
  153.  
  154. * With gpic -t, when I print `line ->; box' using a dvi to ps
  155. program, the arrow head sticks through into the inside of the box.
  156.  
  157. The dvi to ps program should be modified to set the line cap and
  158. line join parameters to 1 while printing tpic specials.
  159.  
  160. * When I print the output groff -Tps, the output is always shifted up
  161. by about 0.7 inches; I'm using 8.5x11 inch paper.
  162.  
  163. Make sure that PAGE is defined to be `letter' in the top-level
  164. Makefile.  If you failed to do this, you can fix the problem by doing:
  165.   cp ps/devps/DESC-letter /usr/local/lib/groff/font/devps/DESC
  166.  
  167. * When I try to print the output of groff -Tps, I get no output at all
  168. from the printer, and the log file shows the error
  169. %%[ error: undefined; offendingcommand: BP ]%%
  170. I using TranScript spooling software.
  171.  
  172. This is a bug in the page reversal filter in early versions of
  173. TranScript.  Include -DBROKEN_SPOOLER in CPPDEFINES in the top-level
  174. Makefile, and rebuild grops.
  175.  
  176. * When I preview groff -Tps output using the Sun OpenWindows 2.0 pageview
  177. program, all the pages are displayed on top of each other.
  178.  
  179. This is a defect in pageview.  Include -DBROKEN_SPOOLER in CPPDEFINES
  180. in the top-level Makefile, and rebuild grops.
  181.  
  182. * When I try to preview the output of groff -Tps using ralpage, I get
  183. errors from ralpage.
  184.  
  185. This is a bug in ralpage.  You may be able to work around the bug by
  186. defining MF and SF in ps/devps/prologue using `def' instead of `bind
  187. def'.
  188.  
  189. * With groff -TX75 or -TX100, I can only view the first page.
  190.  
  191. The left mouse button brings up a menu that allows you to view other
  192. pages.
  193.  
  194. * Documents that use mainly 12-point text exhibit poor letter spacing
  195. when previewed with groff -TX75 or -TX100.
  196.  
  197. Use groff -TX75-12 or groff -TX100-12.
  198.  
  199. * When I print the output of groff -Tdvi, I just get a black dot in
  200. upper left corner.
  201.  
  202. Some dvi drivers (notably early versions of xtex) do not correct
  203. handle dvi files that use a resolution different from that used by dvi
  204. files produced by TeX.  Try getting a more up to date driver.
  205.  
  206. * I get lots of errors when I use groff with -mm.
  207.  
  208. -mm needs a few changes to work with groff; `make install.mm' will
  209. copy your -mm macros to groff's macro directory and make the necessary
  210. changes.  You may need to edit the commands for the install.mm target
  211. in the Makefile.
  212.  
  213. * gtroff doesn't understand lines like `.ce99' with no space between
  214. the name of the request or macro and the arguments.
  215.  
  216. Gtroff requires a space between macro or request and its arguments
  217. because it allows the use of long names for macros and requests.  You
  218. can use the -C option or the `cp' request to put gtroff into a
  219. compatibility mode in which it is not possible to use long names for
  220. macros but in which no space is required between macros and their
  221. arguments.  The use of compatibility mode is strongly discouraged.
  222.  
  223. * gtroff gives warnings about lines like
  224.   .ev    \" a comment
  225. (with a tab after the .ev).
  226.  
  227. A tab character cannot be used as a substitute for a space character
  228. (except in one case: between a control character at the beginning of a
  229. line and the name of a macro or request).  For example, in Unix troff
  230.   .ps    \" restore the previous point size
  231. (with a tab after the .ps) will NOT restore the previous point-size;
  232. instead it will be silently ignored.  Since this is very likely to be
  233. an error, gtroff can give a warning about it.  If you want to align
  234. comments, you can do it like this:
  235.   .ev\"                \" a comment
  236.  
  237. * I don't like the page headers and footers produced by groff -man.
  238.  
  239. There seem to be many different styles of page header and footer
  240. produced by different versions of the -man macros.  You will need to
  241. modify macros/tmac.an to suit your personal taste.  For example, if
  242. you want the center of the page header to say
  243.   UNIX Programmer's Manual
  244. you will need to change the line
  245.   .el .ds an-extra3 \"UNIX Programmer's Manual
  246. to
  247.   .el .ds an-extra3 UNIX Programmer's Manual
  248.  
  249. * Where is the document ``Groff Character Names'' that is mentioned in various
  250. man pages?
  251.  
  252. It is in doc/chars.tr.  You can print it out with each device to see
  253. what characters are available for that device.
  254.  
  255. * While formatting a manual page, groff complains about not being able to
  256. break lines.  The problem seems to be caused by a line like:
  257.   .TP \w'label'+2
  258.  
  259. The -man documentation says that the default scale indicator for TP
  260. macro is `n'.  The groff -man macros implement this correctly, so that
  261. the argument will be evaluated as if it were
  262.   \w'label'n+2n
  263. The Unix -man macros don't implement this correctly (probably because
  264. it's hard to do in Unix troff); they just append `n' to the entire
  265. argument, so that it will be evaluated as if it were
  266.   \w'label'u+2n
  267. The solution is to fix the manual page:
  268.   .TP \w'label'u+2
  269.  
  270. * When I preview documents using -TX75 or -TX100, the layout is not the same
  271. as when I print the document with -Tps or -Tdvi: the line and page
  272. breaks come in different places.
  273.  
  274. This is the way xditview works: the widths of characters in the X
  275. fonts don't match the widths of characters in the PostScript fonts, so
  276. the layout usually comes out differently.  The idea of xditview is
  277. just to give you a readable representation of your document on screen,
  278. rather than to give you a simulation of how it will look when printed.
  279. If you want that, then you could use a PostScript previewer or a dvi
  280. previewer according as you're using -Tps or -Tdvi.  Alternatively you
  281. could port xtroff.
  282.  
  283. * In gpic expressions don't work at all. I'm using g++ 1.39 on a sparc.
  284.  
  285. This is a bug in gcc/g++ 1.39.  Apply the fix given in the INSTALL file.
  286.