annotate kpathsea/BUGS @ 4033:ac5ed096b496

[project @ 2002-08-10 06:13:57 by jwe]
author jwe
date Sat, 10 Aug 2002 06:14:28 +0000
parents 6929a31e7624
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2999
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
1 Contents:
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
2
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
3 Reporting bugs
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
4 Bug checklist
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
5 Mailing lists
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
6 Debugging
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
7 Logging
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
8 Common problems
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
9 Unable to find files
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
10 Slow path searching
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
11 Unable to generate fonts
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
12 TeX or Metafont failing
3172
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
13 Empty Makefiles
2999
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
14 `XtStrings'
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
15 `dlopen'
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
16 `ShellWidgetClass'
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
17 Pointer combination warnings
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
18
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
19
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
20 Reporting bugs
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
21 ==============
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
22
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
23 If you have problems or suggestions, please report them to
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
24 <tex-k@mail.tug.org> using the bug checklist below.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
25
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
26 Please report bugs in the documentation; not only factual errors or
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
27 inconsistent behavior, but unclear or incomplete explanations, typos,
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
28 wrong fonts, ...
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
29
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
30 Bug checklist
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
31 -------------
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
32
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
33 Before reporting a bug, please check below to be sure it isn't already
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
34 known (*note Common problems::.).
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
35
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
36 Bug reports should be sent via electronic mail to
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
37 <tex-k@mail.tug.org>, or by postal mail to 135 Center Hill Road /
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
38 Plymouth, MA 02360 / USA.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
39
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
40 The general principle is that a good bug report includes all the
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
41 information necessary for reproduction. Therefore, to enable
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
42 investigation, your report should include the following:
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
43
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
44 * The version number(s) of the program(s) involved, and of Kpathsea
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
45 itself. You can get the former by giving a sole option `--version'
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
46 to the program, and the latter by running `kpsewhich --version'.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
47 The `NEWS' and `ChangeLog' files also contain the version number.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
48
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
49 * The hardware, operating system (including version number),
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
50 compiler, and `make' program you are using (the output of `uname
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
51 -a' is a start on the first two, though often incomplete). If the
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
52 bug involves the X window system, include X version and supplier
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
53 information as well (examples: X11R6 from MIT; X11R4 from HP;
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
54 OpenWindows 3.3 bundled with SunOS 4.1.4).
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
55
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
56 * Any options you gave to `configure'. This is recorded in the
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
57 `config.status' files.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
58
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
59 If you are reporting a bug in `configure' itself, it's probably
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
60 system-dependent, and it will be unlikely the maintainers can do
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
61 anything useful if you merely report that thus-and-such is broken.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
62 Therefore, you need to do some additional work: for some bugs, you
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
63 can look in the file `config.log' where the test that failed should
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
64 appear, along with the compiler invocation and source program in
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
65 question. You can then compile it yourself by hand, and discover
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
66 why the test failed. Other `configure' bugs do not involve the
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
67 compiler; in that case, the only recourse is to inspect the
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
68 `configure' shell script itself, or the Autoconf macros that
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
69 generated `configure'.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
70
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
71 * The log of all debugging output, if the bug is in path searching.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
72 You can get this by setting the environment variable
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
73 `KPATHSEA_DEBUG' to `-1' before running the program. Please look
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
74 at the log yourself to make sure the behavior is really a bug
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
75 before reporting it; perhaps "old" environment variable settings
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
76 are causing files not to be found, for example.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
77
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
78 * The contents of any input files necessary to reproduce the bug.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
79 For bugs in DVI-reading programs, for example, this generally
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
80 means a DVI file (and any EPS or other files it uses)--TeX source
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
81 files are helpful, but the DVI file is necessary, because that's
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
82 the actual program input.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
83
3285
6929a31e7624 [project @ 1999-10-13 21:59:11 by jwe]
jwe
parents: 3172
diff changeset
84 GNU `shar', available from `ftp://ftp.gnu.org/pub/gnu/shar' is a
2999
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
85 convenient way of packaging multiple (possibly binary) files for
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
86 electronic mail. If you feel your input files are too big to send
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
87 by email, you can ftp them to `ftp://ftp.tug.org/incoming' (that
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
88 directory is writable, but not readable).
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
89
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
90 * If you are sending a patch (do so if you can!), please do so in
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
91 the form of a context diff (`diff -c') against the original
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
92 distribution source. Any other form of diff is either not as
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
93 complete or harder for me to understand. Please also include a
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
94 `ChangeLog' entry.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
95
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
96 * If the bug involved is an actual crash (i.e., core dump), it is
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
97 easy and useful to include a stack trace from a debugger (I
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
98 recommend the GNU debugger GDB, available from
3285
6929a31e7624 [project @ 1999-10-13 21:59:11 by jwe]
jwe
parents: 3172
diff changeset
99 `ftp://ftp.gnu.org/pub/gnu/gdb'). If the cause is apparent (a
2999
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
100 `NULL' value being dereferenced, for example), please send the
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
101 details along. If the program involved is TeX or Metafont, and
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
102 the crash is happening at apparently-sound code, however, the bug
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
103 may well be in the compiler, rather than in the program or the
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
104 library (*note TeX or Metafont failing: TeX or Metafont failing.).
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
105
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
106 * Any additional information that will be helpful in reproducing,
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
107 diagnosing, or fixing the bug.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
108
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
109 Mailing lists
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
110 -------------
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
111
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
112 Web2c and Kpathsea in general are discussed on the mailing list
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
113 <tex-k@mail.tug.org>. To join, email <tex-k-request@mail.tug.org> with
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
114 a line consisting of
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
115
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
116 subscribe YOU@YOUR.PREFERRED.EMAIL.ADDRESS
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
117
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
118 in the body of the message.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
119
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
120 You do not need to join to submit a report, nor will it affect whether
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
121 you get a response. There is no Usenet newsgroup equivalent (if you can
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
122 be the one to set this up, email `tex-k-request'). Traffic on the list
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
123 is fairly light, and is mainly bug reports and enhancement requests to
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
124 the software. The best way to decide if you want to join or not is
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
125 read some of the archives from `ftp://ftp.tug.org/mail/archives/tex-k/'.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
126
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
127 Be aware that large data files are sometimes included in bug reports.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
128 If this is a problem for you, do not join the list.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
129
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
130 If you only want announcements of new releases, not bug reports and
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
131 discussion, join <tex-archive@math.utah.edu> (via mail to
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
132 <tex-archive-request@math.utah.edu>).
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
133
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
134 If you are looking for general TeX help, such as how to use LaTeX,
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
135 please use the mailing list <info-tex@shsu.edu> mailing list, which is
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
136 gatewayed to the `comp.text.tex' Usenet newsgroup (or post to the
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
137 newsgroup; the gateway is bidirectional).
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
138
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
139 Debugging
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
140 ---------
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
141
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
142 Kpathsea provides a number of runtime debugging options, detailed
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
143 below by their names and corresponding numeric values. When the files
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
144 you expect aren't being found, the thing to do is enable these options
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
145 and examine the output.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
146
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
147 You can set these with some runtime argument (e.g., `-d') to the
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
148 program; in that case, you should use the numeric values described in
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
149 the program's documentation (which, for Dvipsk and Xdvik, are different
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
150 than those below). It's best to give the `-d' (or whatever) option
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
151 first, for maximal output. Dvipsk and Xdvik have additional
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
152 program-specific debugging options as well.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
153
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
154 You can also set the environment variable `KPATHSEA_DEBUG'; in this
3172
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
155 case, you should use the numbers below. If you run the program under a
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
156 debugger and set the variable `kpathsea_debug', also use the numbers
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
157 below.
2999
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
158
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
159 In any case, by far the simplest value to use is `-1', which will
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
160 turn on all debugging output. This is usually better than guessing
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
161 which particular values will yield the output you need.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
162
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
163 Debugging output always goes to standard error, so you can redirect it
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
164 easily. For example, in Bourne-compatible shells:
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
165 dvips -d -1 ... 2>/tmp/debug
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
166
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
167 It is sometimes helpful to run the standalone Kpsewhich utility
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
168 (*note Invoking kpsewhich::.), instead of the original program.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
169
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
170 In any case, you can *not* use the *names* below; you must always use
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
171 somebody's numbers. (Sorry.) To set more than one option, just sum
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
172 the corresponding numbers.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
173
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
174 `KPSE_DEBUG_STAT (1)'
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
175 Report `stat'(2) calls. This is useful for verifying that your
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
176 directory structure is not forcing Kpathsea to do many additional
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
177 file tests (*note Slow path searching::., and *note Subdirectory
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
178 expansion::.). If you are using an up-to-date `ls-R' database
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
179 (*note Filename database::.), this should produce no output unless
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
180 a nonexistent file that must exist is searched for.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
181
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
182 `KPSE_DEBUG_HASH (2)'
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
183 Report lookups in all hash tables: `ls-R' and `aliases' (*note
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
184 Filename database::.); font aliases (*note Fontmap::.); and config
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
185 file values (*note Config files::.). Useful when expected values
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
186 are not being found, e.g.., file searches are looking at the disk
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
187 instead of using `ls-R'.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
188
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
189 `KPSE_DEBUG_FOPEN (4)'
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
190 Report file openings and closings. Especially useful when your
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
191 system's file table is full, for seeing which files have been
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
192 opened but never closed. In case you want to set breakpoints in a
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
193 debugger: this works by redefining `fopen' (`fclose') to be
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
194 `kpse_fopen_trace' (`kpse_fclose_trace').
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
195
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
196 `KPSE_DEBUG_PATHS (8)'
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
197 Report general path information for each file type Kpathsea is
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
198 asked to search. This is useful when you are trying to track down
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
199 how a particular path got defined--from `texmf.cnf', `config.ps',
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
200 an environment variable, the compile-time default, etc. This is
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
201 the contents of the `kpse_format_info_type' structure defined in
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
202 `tex-file.h'.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
203
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
204 `KPSE_DEBUG_EXPAND (16)'
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
205 Report the directory list corresponding to each path element
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
206 Kpathsea searches. This is only relevant when Kpathsea searches
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
207 the disk, since `ls-R' searches don't look through directory lists
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
208 in this way.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
209
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
210 `KPSE_DEBUG_SEARCH (32)'
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
211 Report on each file search: the name of the file searched for, the
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
212 path searched in, whether or not the file must exist (when drivers
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
213 search for `cmr10.vf', it need not exist), and whether or not we
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
214 are collecting all occurrences of the file in the path (as with,
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
215 e.g., `texmf.cnf' and `texfonts.map'), or just the first (as with
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
216 most lookups). This can help you correlate what Kpathsea is doing
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
217 with what is in your input file.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
218
3172
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
219 `KPSE_DEBUG_VARS (64)'
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
220 Report the value of each variable Kpathsea looks up. This is
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
221 useful for verifying that variables do indeed obtain their correct
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
222 values.
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
223
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
224 `GSFTOPK_DEBUG (128)'
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
225 Activates debugging printout specific to `gsftopk' program.
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
226
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
227 `MAKETEX_DEBUG (512)'
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
228 If you use the optional `mktex' programs instead of the
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
229 traditional shell scripts, this will report the name of the site
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
230 file (`mktex.cnf' by default) which is read, directories created by
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
231 `mktexdir', the full path of the `ls-R' database built by
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
232 `mktexlsr', font map searches, `MT_FEATURES' in effect, parameters
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
233 from `mktexnam', filenames added by `mktexupd', and some
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
234 subsidiary commands run by the programs.
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
235
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
236 `MAKETEX_FINE_DEBUG (1024)'
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
237 When the optional `mktex' programs are used, this will print
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
238 additional debugging info from functions internal to these
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
239 programs.
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
240
2999
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
241 Debugging output from Kpathsea is always written to standard error,
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
242 and begins with the string `kdebug:'. (Except for hash table buckets,
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
243 which just start with the number, but you can only get that output
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
244 running under a debugger. See comments at the `hash_summary_only'
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
245 variable in `kpathsea/db.c'.)
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
246
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
247 Logging
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
248 -------
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
249
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
250 Kpathsea can record the time and filename found for each successful
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
251 search. This may be useful in finding good candidates for deletion when
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
252 your filesystem is full, or in discovering usage patterns at your site.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
253
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
254 To do this, define the environment or config file variable
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
255 `TEXMFLOG'. The value is the name of the file to append the
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
256 information to. The file is created if it doesn't exist, and appended
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
257 to if it does.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
258
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
259 Each successful search turns into one line in the log file: two words
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
260 separated by a space. The first word is the time of the search, as the
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
261 integer number of seconds since "the epoch", i.e., UTC midnight 1
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
262 January 1970 (more precisely, the result of the `time' system call).
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
263 The second word is the filename.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
264
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
265 For example, after `setenv TEXMFLOG /tmp/log', running Dvips on
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
266 `story.dvi' appends the following lines:
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
267
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
268 774455887 /usr/local/share/texmf/dvips/config.ps
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
269 774455887 /usr/local/share/texmf/dvips/psfonts.map
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
270 774455888 /usr/local/share/texmf/dvips/texc.pro
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
271 774455888 /usr/local/share/texmf/fonts/pk/ljfour/public/cm/cmbx10.600pk
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
272 774455889 /usr/local/share/texmf/fonts/pk/ljfour/public/cm/cmsl10.600pk
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
273 774455889 /usr/local/share/texmf/fonts/pk/ljfour/public/cm/cmr10.600pk
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
274 774455889 /usr/local/share/texmf/dvips/texc.pro
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
275
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
276 Only filenames that are absolute are recorded, to preserve some
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
277 semblance of privacy.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
278
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
279 Common problems
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
280 ---------------
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
281
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
282 Here are some common problems with configuration, compilation,
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
283 linking, execution, ...
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
284
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
285 Unable to find files
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
286 ....................
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
287
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
288 If a program complains it cannot find fonts (or other input files),
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
289 any of several things might be wrong. In any case, you may find the
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
290 debugging options helpful. *Note Debugging::.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
291
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
292 * Perhaps you simply haven't installed all the necessary files; the
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
293 basic fonts and input files are distributed separately from the
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
294 programs. *Note unixtex.ftp::.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
295
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
296 * You have (perhaps unknowingly) told Kpathsea to use search paths
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
297 that don't reflect where the files actually are. One common cause
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
298 is having environment variables set from a previous installation,
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
299 thus overriding what you carefully set in `texmf.cnf' (*note
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
300 Supported file formats::.). System `/etc/profile' or other files
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
301 such may be the culprit.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
302
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
303 * Your files reside in a directory that is only pointed to via a
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
304 symbolic link, in a leaf directory and is not listed in `ls-R'.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
305
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
306 Unfortunately, Kpathsea's subdirectory searching has an
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
307 irremediable deficiency: If a directory D being searched for
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
308 subdirectories contains plain files and symbolic links to other
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
309 directories, but no true subdirectories, D will be considered a
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
310 leaf directory, i.e., the symbolic links will not be followed.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
311 *Note Subdirectory expansion::.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
312
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
313 You can work around this problem by creating an empty dummy
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
314 subdirectory in D. Then D will no longer be a leaf, and the
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
315 symlinks will be followed.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
316
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
317 The directory immediately followed by the `//' in the path
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
318 specification, however, is always searched for subdirectories,
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
319 even if it is a leaf. Presumably you would not have asked for the
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
320 directory to be searched for subdirectories if you didn't want it
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
321 to be.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
322
3172
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
323 * If the fonts (or whatever) don't already exist, `mktexpk' (or
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
324 `mktexmf' or `mktextfm') will try to create them. If these rather
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
325 complicated shell scripts fail, you'll eventually get an error
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
326 message saying something like `Can't find font FONTNAME'. The best
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
327 solution is to fix (or at least report) the bug in `mktexpk'; the
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
328 workaround is to generate the necessary fonts by hand with
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
329 Metafont, or to grab them from a CTAN site (*note unixtex.ftp::.).
2999
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
330
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
331 * There is a bug in the library. *Note Reporting bugs::.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
332
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
333 Slow path searching
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
334 ...................
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
335
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
336 If your program takes an excessively long time to find fonts or other
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
337 input files, but does eventually succeed, here are some possible
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
338 culprits:
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
339
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
340 * Most likely, you just have a lot of directories to search, and that
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
341 takes a noticeable time. The solution is to create and maintain a
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
342 separate `ls-R' file that lists all the files in your main TeX
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
343 hierarchy. *Note Filename database::. Kpathsea always uses `ls-R'
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
344 if it's present; there's no need to recompile or reconfigure any
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
345 of the programs.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
346
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
347 * Your recursively-searched directories (e.g.,
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
348 `/usr/local/share/texmf/fonts//'), contain a mixture of files and
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
349 directories. This prevents Kpathsea from using a useful
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
350 optimization (*note Subdirectory expansion::.).
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
351
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
352 It is best to have only directories (and perhaps a `README') in the
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
353 upper levels of the directory structure, and it's very important
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
354 to have *only* files, and no subdirectories, in the leaf
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
355 directories where the dozens of TFM, PK, or whatever files reside.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
356
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
357 In any case, you may find the debugging options helpful in determining
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
358 precisely when the disk or network is being pounded. *Note Debugging::.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
359
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
360 Unable to generate fonts
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
361 ........................
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
362
3172
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
363 This can happen if either `mktexpk' hasn't been installed properly,
2999
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
364 or if the local installation of Metafont isn't correct.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
365
3172
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
366 If `mf' is a command not found by `mktexpk', then you need to install
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
367 Metafont (*note unixtex.ftp::.).
2999
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
368
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
369 If Metafont runs, but generates fonts at the wrong resolution, you
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
370 need to be sure the `M' and `D' lines in your Dvips configuration file
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
371 match (*note Config files: (dvips)Config files.). For example, if
3172
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
372 `mktexpk' is generating 300dpi fonts, but you need 600dpi fonts, you
2999
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
373 should have:
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
374 M ljfour
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
375 D 600
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
376
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
377 If Metafont runs but generates fonts at a resolution of 2602dpi (and
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
378 prints out the name of each character as well as just a character
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
379 number, and maybe tries to display the characters), then your Metafont
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
380 base file probably hasn't been made properly. (It's using the default
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
381 `proof' mode, instead of an actual device mode.) To make a proper
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
382 `plain.base', assuming the local mode definitions are contained in a
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
383 file `modes.mf', run the following command (assuming Unix):
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
384
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
385 inimf "plain; input modes; dump"
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
386
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
387 Then copy the `plain.base' file from the current directory to where the
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
388 base files are stored on your system (`/usr/local/share/texmf/web2c' by
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
389 default), and make a link (either hard or soft) from `plain.base' to
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
390 `mf.base' in that directory. *Note inimf invocation: (web2c)inimf
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
391 invocation.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
392
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
393 TeX or Metafont failing
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
394 .......................
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
395
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
396 If TeX or Metafont get a segmentation fault or otherwise fail while
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
397 running a normal input file, the problem is usually a compiler bug
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
398 (unlikely as that may sound). Even if the trip and trap tests are
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
399 passed, problems may lurk. Optimization occasionally causes trouble in
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
400 programs other than TeX and Metafont themselves, too.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
401
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
402 Insufficient swap space may also cause core dumps or other erratic
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
403 behavior.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
404
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
405 For a workaround, if you enabled any optimization flags, it's best to
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
406 omit optimization entirely. In any case, the way to find the facts is
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
407 to run the program under the debugger and see where it's failing.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
408
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
409 Also, if you have trouble with a system C compiler, I advise trying
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
410 the GNU C compiler. And vice versa, unfortunately; but in that case I
3172
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
411 also recommend reporting a bug to the GCC mailing list; see *Note Bugs:
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
412 (gcc)Bugs.
2999
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
413
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
414 To report compiler bugs effectively requires perseverance and
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
415 perspicacity: you must find the miscompiled line, and that usually
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
416 involves delving backwards in time from the point of error, checking
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
417 through TeX's (or whatever program's) data structures. Things are not
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
418 helped by all-too-common bugs in the debugger itself. Good luck.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
419
3172
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
420 One known cause of trouble is the way arrays are handled. Some of the
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
421 Pascal arrays have a lower index other than 0, and the C code will take
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
422 the pointer to the allocated memory, subtract the lower index, and use
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
423 the resulting pointer for the array. While this trick often works, ANSI
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
424 C doesn't guarantee that it will. It it known to fail on HP-UX 10
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
425 mchines when the native compiler is used, unless the `+u' compiler
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
426 switch was specified. Using GCC will work on this platform as well.
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
427
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
428 Empty Makefiles
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
429 ...............
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
430
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
431 On some systems (NetBSD, FreeBSD, AIX 4.1, and Mach10), `configure'
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
432 may fail to properly create the Makefiles. Instead, you get an error
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
433 which looks something like this:
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
434
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
435 prompt$ ./configure
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
436 ...
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
437 creating Makefile
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
438 sed: 1: "\\@^ac_include make/pat ...": \ can not be used as a string delimiter
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
439
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
440 So far as I know, the bug here is in `/bin/sh' on these systems. I
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
441 don't have access to a machine running any of them, so if someone can
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
442 find a workaround that avoids the quoting bug, I'd be most grateful.
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
443 (Search for `ac_include' in the `configure' script to get to the
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
444 problematic code.)
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
445
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
446 It should work to run `bash configure', instead of using `/bin/sh'.
3285
6929a31e7624 [project @ 1999-10-13 21:59:11 by jwe]
jwe
parents: 3172
diff changeset
447 You can get Bash from `ftp://ftp.gnu.org/pub/gnu/bash' and mirrors.
3172
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
448
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
449 Another possible cause (reported for NeXT) is a bug in the `sed'
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
450 command. In that case the error may look like this:
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
451
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
452 Unrecognized command: \@^ac_include make/paths.make@r make/paths.make
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
453
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
454 In this case, installing GNU `sed' should solve the problem. You can
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
455 get GNU `sed' from the same places as Bash.
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
456
2999
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
457 `XtStrings'
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
458 ...........
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
459
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
460 You may find that linking X programs results in an error from the
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
461 linker that `XtStrings' is undefined, something like this:
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
462
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
463 gcc -o virmf ...
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
464 .../x11.c:130: undefined reference to `XtStrings'
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
465
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
466 This generally happens because of a mismatch between the X include
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
467 files with which you compiled and the X libraries with which you linked;
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
468 often, the include files are from MIT and the libraries from Sun.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
469
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
470 The solution is to use the same X distribution for compilation and
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
471 linking. Probably `configure' was unable to guess the proper
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
472 directories from your installation. You can use the `configure'
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
473 options `--x-includes=PATH' and `--x-libraries=PATH' to explicitly
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
474 specify them.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
475
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
476 `dlopen'
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
477 ........
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
478
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
479 (This section adapted from the file `dlsym.c' in the X distribution.)
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
480
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
481 The `Xlib' library uses the standard C function `wcstombs'. Under
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
482 SunOS 4.1, `wcstombs' uses the `dlsym' interface defined in `libdl.so'.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
483 Unfortunately, the SunOS 4.1 distribution does not include a static
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
484 `libdl.a' library.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
485
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
486 As a result, if you try to link an X program statically under SunOS,
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
487 you may get undefined references to `dlopen', `dlsym', and `dlclose'.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
488 One workaround is to include these definitions when you link:
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
489
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
490 void *dlopen() { return 0; }
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
491 void *dlsym() { return 0; }
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
492 int dlclose() { return -1; }
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
493
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
494 These are contained in the `dlsym.c' file in the MIT X distribution.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
495
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
496 `ShellWidgetClass'
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
497 ..................
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
498
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
499 (This section adapted from the comp.sys.sun.admin FAQ.)
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
500
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
501 If you are linking with Sun's OpenWindows libraries in SunOS 4.1.x,
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
502 you may get undefined symbols `_get_wmShellWidgetClass' and
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
503 `_get_applicationShellWidgetClass' when linking. This problem does not
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
504 arise using the standard MIT X libraries under SunOS.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
505
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
506 The cause is bugs in the `Xmu' shared library as shipped from Sun.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
507 There are several fixes:
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
508
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
509 * Install the free MIT distribution from `ftp.x.org' and mirrors.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
510
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
511 * Get the OpenWindows patches listed below.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
512
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
513 * Statically link the `Xmu' library into the executable.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
514
3172
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
515 * Avoid using `Xmu' at all. If you are compiling Metafont, see *Note
1f0b06020e36 [project @ 1998-04-24 04:24:34 by jwe]
jwe
parents: 2999
diff changeset
516 Online Metafont graphics: (web2c)Online Metafont graphics. If you
2999
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
517 are compiling Xdvi, see the `-DNOTOOL' option in `xdvik/INSTALL'.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
518
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
519 * Ignore the errors. The binary runs fine regardless.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
520
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
521 Here is the information for getting the two patches:
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
522
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
523 Patch ID: 100512-02
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
524 Bug ID's: 1086793, 1086912, 1074766
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
525 Description: 4.1.x OpenWindows 3.0 `libXt' jumbo patch
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
526
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
527 Patch ID: 100573-03
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
528 Bug ID: 1087332
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
529 Description: 4.1.x OpenWindows 3.0 undefined symbols when using shared `libXmu'.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
530
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
531 The way to statically link with `libXmu' depends on whether you are
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
532 using a Sun compiler (e.g., `cc') or `gcc'. If the latter, alter the
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
533 `x_libs' Make variable to include
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
534
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
535 -static -lXmu -dynamic
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
536
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
537 If you are using the Sun compiler, use `-Bstatic' and `-Bdynamic'.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
538
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
539 Pointer combination warnings
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
540 ............................
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
541
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
542 When compiling with old C compilers, you may get some warnings about
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
543 "illegal pointer combinations". These are spurious; just ignore them.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
544 I decline to clutter up the source with casts to get rid of them.
faa5d0421460 [project @ 1997-05-23 03:02:09 by jwe]
jwe
parents:
diff changeset
545